This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.
Summary: | Modules enabled based on OS type | ||
---|---|---|---|
Product: | platform | Reporter: | Martin Grebac <mgrebac> |
Component: | Module System | Assignee: | Jaroslav Tulach <jtulach> |
Status: | CLOSED FIXED | ||
Severity: | blocker | CC: | apireviews, jtulach, lkishalmi, mkrauskopf, rkubacki |
Priority: | P3 | Keywords: | API_REVIEW_FAST |
Version: | 4.x | ||
Hardware: | All | ||
OS: | All | ||
Issue Type: | ENHANCEMENT | Exception Reporter: | |
Bug Depends on: | |||
Bug Blocks: | 50408, 60090 | ||
Attachments: | Proposed fix |
Description
Martin Grebac
2004-10-28 11:57:29 UTC
OS2 is right now considered windows? I doubt that it is correct. Adding os2 is ok. Not sure what to do for mac. New token UnixAndNotMac? Not too nice. KdeOrGnome? ad os2 - yes, it's considered windows - and several people already had problems with this: OS_WINDOWS_MASK = OS_WINNT | OS_WIN95 | OS_WIN98 | OS_WIN2000 | OS_WIN_OTHER | OS_OS2; OS_UNIX_MASK = OS_SOLARIS | OS_LINUX | OS_HP | OS_AIX | OS_IRIX | OS_SUNOS | OS_TRU64 | OS_MAC; Mac is not that crucial for me, I could live with it (even though some solution would be good). Option for OS2-only is more important. We're using dll lib, and I'd be happy to remove all the "isWindows() && notOs2()" calls from my code and make the browser support more specific to the platform. UnixAndNotMac and WindowsAndNotOs2 is fine for me (not nice, though ;O) ). Or something like 'StrictUnix', 'StrictWindows' ? I fixed the OS/2 part (hopefully as I have no way to test it): cvs -q ci -m "OS/2 should not be treated as windows" Checking in src/org/netbeans/core/modules/NbInstaller.java; /cvs/core/src/org/netbeans/core/modules/NbInstaller.java,v <-- NbInstaller.java new revision: 1.78; previous revision: 1.77 I'm sorry it was me to create such a mix due to #44136. In short due to this issue the OS/2 is treated like Windows at this time. I've also found that extbrowser (#44136), and some other modules which are using external non-java stuff has broken on OS/2 due to this change. (However without this NB4.0 even won't start on OS/2.) I've also created a new patch which treats OS/2 as OS/2, but it required a couple of minor changes in the filesystem module. Radek has told me that some generalization in the filesystem module would be more appreciated. I've started it, unfortunately it affects not only one module inside the openide. Anyway I'll test your modifications against OS/2. Yes, it works (quite trivial solution). But, it should be removed if the issue #44136 will be resolved. However extbrowser module works perfectly with OS/2 (if it is treated as OS/2.) Shall I create a dependency on issue #44136? I reported separete issue 50954, when fixed, I'll rollback NbInstaller.java revision: 1.78 OS2 is not windows anymore. Please update the list of platform you want to have. I suggest to use PlainUnix for Unix - MacOSX. I think I'm OK with these. Thanks. Just curious - are you (and when) planning to implement this? Thanks. When needed. Let me know two weeks in advance. I still have not been told the list of all new tokens to support. Is it: PlainUnix OS2 Confirm and let me know the desired integration date. I'm OK with those two as I wrote above. Desired integration date is two weeks ago ;O). I'm working on the code right now, so I'd like to test it, but I do plan to integrate this to F, so it's not the highest priority. I have not got the integration date. If you need it for promoF, it is not two weeks ago! If you want to test your code, patch is enough but that is not integration date. I am not going to integrate or work on feature that is not used. Aha, let's hope that netbeans will not be the feature that is not used. In current state, I'm OK with the patch. Do you need to know integration date for a patch, too, or can you just send it to me? I don't want to touch your code or guess how you will fix it later on. I have still not got to the point to be able to understand your reasoning. If we care about NetBeans, we should try to make them better. This issue is not going to make them better alone, it needs also work from you. You are not going to deliver that work sooner than in promotion F. Why you want me to work on this patch now and not do something else that would make NetBeans 4.1 better? After call with Martin we concluded to put it into the promotion F. Created attachment 22767 [details]
Proposed fix
reviewers, is this change acceptable? I'll document it in openide/modules and also increase version of openide/module module. I.e. to add PlainUnix and OS2 as OS types you can require? OK with me... ....but please also patch NbModuleProperties (issue #60090). I'd like to integrate. However I do not know what is with the issue 60090. It is fixed and moreover does not provide any information what is wrong. Sorry. > However I do not know what is with the issue 60090. It is fixed
> and moreover does not provide any information what is wrong.
We list OS tokens to the user in the module's customizer. So if you add some
token you should also add it into the SingleModuleProperties class in the
apisupport module so the user is able to specify them through the UI. This is
what Jesse probably meant.
But of course the better solution would be if the list of those OS tokens would
be accessible via some API, e.g. by some static method in some Utilities instead
of hardcoded. So please provide them in such a manner, I'll adjust the
apisupport module appropriately then. (or suggest where such a method should be
and I'll do so....). Thanks
Integrated. I've modified the SingleModuleProperties for now, I do not want to create API in org.openide.modules for that. Maybe in core, but still, it might be better to just reuse the test for PlatformDependencySatisfiedTest in apisupport. We could modify it and subclass in apisupport and verify that all required tokens are really supported (e.g. support for copy-based programming from http://openide.netbeans.org/tutorial/test-patterns.html). cvs ci -m "#50943: Adding PlainUnix and OS2 into the list of supported OS" core/startup/src/org/netbeans/core/startup/NbInstaller.java core/startup/test/unit/src/org/netbeans/core/startup/PlatformDependencySatisfiedTest.java openide/modules/apichanges.xml openide/modules/manifest.mf openide/modules/src/org/openide/modules/doc-files/api.html apisupport/project/src/org/netbeans/modules/apisupport/project/ui/customizer/SingleModuleProperties.java Checking in core/startup/src/org/netbeans/core/startup/NbInstaller.java; /cvs/core/startup/src/org/netbeans/core/startup/NbInstaller.java,v <-- NbInstaller.java new revision: 1.5; previous revision: 1.4 done Checking in core/startup/test/unit/src/org/netbeans/core/startup/PlatformDependencySatisfiedTest.java; /cvs/core/startup/test/unit/src/org/netbeans/core/startup/PlatformDependencySatisfiedTest.java,v <-- PlatformDependencySatisfiedTest.java new revision: 1.5; previous revision: 1.4 done Checking in openide/modules/apichanges.xml; /cvs/openide/modules/apichanges.xml,v <-- apichanges.xml new revision: 1.4; previous revision: 1.3 done Checking in openide/modules/manifest.mf; /cvs/openide/modules/manifest.mf,v <-- manifest.mf new revision: 1.7; previous revision: 1.6 done Checking in openide/modules/src/org/openide/modules/doc-files/api.html; /cvs/openide/modules/src/org/openide/modules/doc-files/api.html,v <-- api.html new revision: 1.4; previous revision: 1.3 done Checking in apisupport/project/src/org/netbeans/modules/apisupport/project/ui/customizer/SingleModuleProperties.java; /cvs/apisupport/project/src/org/netbeans/modules/apisupport/project/ui/customizer/SingleModuleProperties.java,v <-- SingleModuleProperties.java new revision: 1.4; previous revision: 1.3 done v |