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 {