Index: openide/modules/apichanges.xml =================================================================== RCS file: /shared/data/ccvs/repository/openide/modules/apichanges.xml,v retrieving revision 1.9 diff -u -r1.9 apichanges.xml --- openide/modules/apichanges.xml 3 Aug 2006 09:57:26 -0000 1.9 +++ openide/modules/apichanges.xml 11 Jul 2007 19:10:03 -0000 @@ -69,6 +69,21 @@ + + + Enhanced support for OS specific modules (part II) + + + + + + Modules can now express dependencies on + org.openide.modules.os.Linux and + org.openide.modules.os.Solaris. + For more details read here. + + + Enhanced support for OS specific modules Index: openide/modules/manifest.mf =================================================================== RCS file: /shared/data/ccvs/repository/openide/modules/manifest.mf,v retrieving revision 1.13 diff -u -r1.13 manifest.mf --- openide/modules/manifest.mf 3 Aug 2006 09:57:26 -0000 1.13 +++ openide/modules/manifest.mf 11 Jul 2007 19:10:03 -0000 @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.openide.modules OpenIDE-Module-Localizing-Bundle: org/openide/modules/Bundle.properties -OpenIDE-Module-Specification-Version: 7.2 +OpenIDE-Module-Specification-Version: 7.3 Index: openide/modules/src/org/openide/modules/doc-files/api.html =================================================================== RCS file: /shared/data/ccvs/repository/openide/modules/src/org/openide/modules/doc-files/api.html,v retrieving revision 1.14 diff -u -r1.14 api.html --- openide/modules/src/org/openide/modules/doc-files/api.html 16 Jun 2007 10:08:28 -0000 1.14 +++ openide/modules/src/org/openide/modules/doc-files/api.html 11 Jul 2007 19:10:04 -0000 @@ -1070,6 +1070,11 @@ OpenIDE-Module-Requires: org.openide.modules.os.OS2 OpenIDE-Module-Requires: org.openide.modules.os.PlainUnix +Version 7.3 further added: +
+OpenIDE-Module-Requires: org.openide.modules.os.Linux
+OpenIDE-Module-Requires: org.openide.modules.os.Solaris
+

Please note, that Mac OS X is in fact also Unix, so requesting Unix also Index: core/startup/src/org/netbeans/core/startup/ConsistencyVerifier.java =================================================================== RCS file: /shared/data/ccvs/repository/core/startup/src/org/netbeans/core/startup/ConsistencyVerifier.java,v retrieving revision 1.1 diff -u -r1.1 ConsistencyVerifier.java --- core/startup/src/org/netbeans/core/startup/ConsistencyVerifier.java 18 May 2007 15:53:00 -0000 1.1 +++ core/startup/src/org/netbeans/core/startup/ConsistencyVerifier.java 11 Jul 2007 19:10:04 -0000 @@ -63,6 +63,8 @@ "org.openide.modules.os.PlainUnix, " + // NOI18N "org.openide.modules.os.Windows, " + // NOI18N "org.openide.modules.os.MacOSX, " + // NOI18N + "org.openide.modules.os.Linux, " + // NOI18N + "org.openide.modules.os.Solaris, " + // NOI18N "org.openide.modules.os.OS2"); // NOI18N dummy.getMainAttributes().putValue("OpenIDE-Module-Public-Packages", "-"); // NOI18N try { Index: core/startup/src/org/netbeans/core/startup/NbInstaller.java =================================================================== RCS file: /shared/data/ccvs/repository/core/startup/src/org/netbeans/core/startup/NbInstaller.java,v retrieving revision 1.42 diff -u -r1.42 NbInstaller.java --- core/startup/src/org/netbeans/core/startup/NbInstaller.java 26 Jun 2007 00:22:46 -0000 1.42 +++ core/startup/src/org/netbeans/core/startup/NbInstaller.java 11 Jul 2007 19:10:04 -0000 @@ -64,6 +64,7 @@ import org.openide.util.NbCollections; import org.openide.util.SharedClassObject; import org.openide.util.NbBundle; +import org.openide.util.Utilities; import org.openide.util.lookup.InstanceContent; import org.xml.sax.SAXException; @@ -679,26 +680,26 @@ if (m.getCodeNameBase ().equals ("org.openide.modules")) { // NOI18N List arr = new ArrayList(4); - boolean isOS2 = (org.openide.util.Utilities.getOperatingSystem () & org.openide.util.Utilities.OS_OS2) != 0; - - if (org.openide.util.Utilities.isUnix ()) { - arr.add ("org.openide.modules.os.Unix"); // NOI18N - if (!org.openide.util.Utilities.isMac()) { + if (Utilities.isUnix()) { + arr.add("org.openide.modules.os.Unix"); // NOI18N + if (!Utilities.isMac()) { arr.add("org.openide.modules.os.PlainUnix"); // NOI18N } - } - - if ( - org.openide.util.Utilities.isWindows () - ) { - arr.add ("org.openide.modules.os.Windows"); // NOI18N - } - - if (org.openide.util.Utilities.isMac()) { - arr.add ("org.openide.modules.os.MacOSX"); // NOI18N } - if (isOS2) { - arr.add ("org.openide.modules.os.OS2"); // NOI18N + if (Utilities.isWindows()) { + arr.add("org.openide.modules.os.Windows"); // NOI18N + } + if (Utilities.isMac()) { + arr.add("org.openide.modules.os.MacOSX"); // NOI18N + } + if ((Utilities.getOperatingSystem() & Utilities.OS_OS2) != 0) { + arr.add("org.openide.modules.os.OS2"); // NOI18N + } + if ((Utilities.getOperatingSystem() & Utilities.OS_LINUX) != 0) { + arr.add("org.openide.modules.os.Linux"); // NOI18N + } + if ((Utilities.getOperatingSystem() & Utilities.OS_SOLARIS) != 0) { + arr.add("org.openide.modules.os.Solaris"); // NOI18N } // module format is now 1 Index: core/startup/test/unit/src/org/netbeans/core/startup/ConsistencyVerifierTest.java =================================================================== RCS file: /shared/data/ccvs/repository/core/startup/test/unit/src/org/netbeans/core/startup/ConsistencyVerifierTest.java,v retrieving revision 1.1 diff -u -r1.1 ConsistencyVerifierTest.java --- core/startup/test/unit/src/org/netbeans/core/startup/ConsistencyVerifierTest.java 18 May 2007 15:52:58 -0000 1.1 +++ core/startup/test/unit/src/org/netbeans/core/startup/ConsistencyVerifierTest.java 11 Jul 2007 19:10:04 -0000 @@ -89,6 +89,10 @@ "=foo; Requires=org.openide.modules.os.MacOSX"); assertProblems("{}", "=foo; Requires=org.openide.modules.os.OS2"); + assertProblems("{}", + "=foo; Requires=org.openide.modules.os.Linux"); + assertProblems("{}", + "=foo; Requires=org.openide.modules.os.Solaris"); assertProblems("{foo=[requires org.openide.modules.os.Windoze]}", "=foo; Requires=org.openide.modules.os.Windoze"); } Index: core/startup/test/unit/src/org/netbeans/core/startup/PlatformDependencySatisfiedTest.java =================================================================== RCS file: /shared/data/ccvs/repository/core/startup/test/unit/src/org/netbeans/core/startup/PlatformDependencySatisfiedTest.java,v retrieving revision 1.6 diff -u -r1.6 PlatformDependencySatisfiedTest.java --- core/startup/test/unit/src/org/netbeans/core/startup/PlatformDependencySatisfiedTest.java 1 Jul 2006 08:52:51 -0000 1.6 +++ core/startup/test/unit/src/org/netbeans/core/startup/PlatformDependencySatisfiedTest.java 11 Jul 2007 19:10:04 -0000 @@ -29,6 +29,7 @@ import org.netbeans.junit.*; import junit.textui.TestRunner; import org.openide.filesystems.Repository; +import org.openide.util.Utilities; /** Checks whether a module with generated * @author Jaroslav Tulach @@ -101,6 +102,22 @@ assertEnableModule("org.openide.modules.os.PlainUnix", true); assertEnableModule("org.openide.modules.os.Garbage", false); assertEnableModule("org.openide.modules.os.OS2", false); + assertEnableModule("org.openide.modules.os.Linux", true); + assertEnableModule("org.openide.modules.os.Solaris", false); + } + + public void testSolaris() throws Exception { + System.setProperty("os.name", "SunOS"); + assertTrue("We are on Solaris", (Utilities.getOperatingSystem() & Utilities.OS_SOLARIS) != 0); + + assertEnableModule("org.openide.modules.os.Windows", false); + assertEnableModule("org.openide.modules.os.MacOSX", false); + assertEnableModule("org.openide.modules.os.Unix", true); + assertEnableModule("org.openide.modules.os.PlainUnix", true); + assertEnableModule("org.openide.modules.os.Garbage", false); + assertEnableModule("org.openide.modules.os.OS2", false); + assertEnableModule("org.openide.modules.os.Linux", false); + assertEnableModule("org.openide.modules.os.Solaris", true); } public void testBSD() throws Exception {