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.

View | Details | Raw Unified | Return to bug 109288
Collapse All | Expand All

(-)openide/modules/apichanges.xml (+15 lines)
Lines 69-74 Link Here
69
        </description>
69
        </description>
70
        <class package="org.openide.modules" name="Dependency"/>
70
        <class package="org.openide.modules" name="Dependency"/>
71
    </change>
71
    </change>
72
    <change id="enhanced-support-for-os-specific-modules-iz-109288">
73
        <api name="modules"/>
74
        <summary>Enhanced support for OS specific modules (part II)</summary>
75
        <version major="7" minor="3"/>
76
        <date day="18" month="7" year="2007"/>
77
        <author login="jglick"/>
78
        <compatibility binary="compatible" source="compatible" semantic="compatible" deprecation="no" addition="yes" deletion="no" modification="no"/>
79
        <description>
80
            Modules can now express dependencies on
81
            <code>org.openide.modules.os.Linux</code> and
82
            <code>org.openide.modules.os.Solaris</code>.
83
            For more details read <a href="@TOP@/org/openide/modules/doc-files/api.html#how-os-specific">here</a>.
84
        </description>
85
        <issue number="109288"/>
86
    </change>
72
    <change id="enhanced-support-for-os-specific-modules-iz-50943">
87
    <change id="enhanced-support-for-os-specific-modules-iz-50943">
73
        <api name="modules"/>
88
        <api name="modules"/>
74
        <summary>Enhanced support for OS specific modules</summary>
89
        <summary>Enhanced support for OS specific modules</summary>
(-)openide/modules/manifest.mf (-1 / +1 lines)
Lines 1-5 Link Here
1
Manifest-Version: 1.0
1
Manifest-Version: 1.0
2
OpenIDE-Module: org.openide.modules
2
OpenIDE-Module: org.openide.modules
3
OpenIDE-Module-Localizing-Bundle: org/openide/modules/Bundle.properties
3
OpenIDE-Module-Localizing-Bundle: org/openide/modules/Bundle.properties
4
OpenIDE-Module-Specification-Version: 7.2
4
OpenIDE-Module-Specification-Version: 7.3
5
5
(-)openide/modules/src/org/openide/modules/doc-files/api.html (+5 lines)
Lines 1070-1075 Link Here
1070
OpenIDE-Module-Requires: org.openide.modules.os.OS2
1070
OpenIDE-Module-Requires: org.openide.modules.os.OS2
1071
OpenIDE-Module-Requires: org.openide.modules.os.PlainUnix    
1071
OpenIDE-Module-Requires: org.openide.modules.os.PlainUnix    
1072
</pre>
1072
</pre>
1073
Version 7.3 further added:
1074
<pre>
1075
OpenIDE-Module-Requires: org.openide.modules.os.Linux
1076
OpenIDE-Module-Requires: org.openide.modules.os.Solaris
1077
</pre>
1073
1078
1074
<p class="nonnormative">
1079
<p class="nonnormative">
1075
Please note, that Mac OS X is in fact also Unix, so requesting Unix also
1080
Please note, that Mac OS X is in fact also Unix, so requesting Unix also
(-)core/startup/src/org/netbeans/core/startup/ConsistencyVerifier.java (+2 lines)
Lines 63-68 Link Here
63
                "org.openide.modules.os.PlainUnix, " + // NOI18N
63
                "org.openide.modules.os.PlainUnix, " + // NOI18N
64
                "org.openide.modules.os.Windows, " + // NOI18N
64
                "org.openide.modules.os.Windows, " + // NOI18N
65
                "org.openide.modules.os.MacOSX, " + // NOI18N
65
                "org.openide.modules.os.MacOSX, " + // NOI18N
66
                "org.openide.modules.os.Linux, " + // NOI18N
67
                "org.openide.modules.os.Solaris, " + // NOI18N
66
                "org.openide.modules.os.OS2"); // NOI18N
68
                "org.openide.modules.os.OS2"); // NOI18N
67
        dummy.getMainAttributes().putValue("OpenIDE-Module-Public-Packages", "-"); // NOI18N
69
        dummy.getMainAttributes().putValue("OpenIDE-Module-Public-Packages", "-"); // NOI18N
68
        try {
70
        try {
(-)core/startup/src/org/netbeans/core/startup/NbInstaller.java (-17 / +18 lines)
Lines 64-69 Link Here
64
import org.openide.util.NbCollections;
64
import org.openide.util.NbCollections;
65
import org.openide.util.SharedClassObject;
65
import org.openide.util.SharedClassObject;
66
import org.openide.util.NbBundle;
66
import org.openide.util.NbBundle;
67
import org.openide.util.Utilities;
67
import org.openide.util.lookup.InstanceContent;
68
import org.openide.util.lookup.InstanceContent;
68
import org.xml.sax.SAXException;
69
import org.xml.sax.SAXException;
69
70
Lines 679-704 Link Here
679
        if (m.getCodeNameBase ().equals ("org.openide.modules")) { // NOI18N
680
        if (m.getCodeNameBase ().equals ("org.openide.modules")) { // NOI18N
680
            List<String> arr = new ArrayList<String>(4);
681
            List<String> arr = new ArrayList<String>(4);
681
            
682
            
682
            boolean isOS2 = (org.openide.util.Utilities.getOperatingSystem () & org.openide.util.Utilities.OS_OS2) != 0;
683
            if (Utilities.isUnix()) {
683
            
684
                arr.add("org.openide.modules.os.Unix"); // NOI18N
684
            if (org.openide.util.Utilities.isUnix ()) {
685
                if (!Utilities.isMac()) {
685
                arr.add ("org.openide.modules.os.Unix"); // NOI18N
686
                if (!org.openide.util.Utilities.isMac()) {
687
                    arr.add("org.openide.modules.os.PlainUnix"); // NOI18N
686
                    arr.add("org.openide.modules.os.PlainUnix"); // NOI18N
688
                }
687
                }
689
            } 
690
            
691
            if (
692
                org.openide.util.Utilities.isWindows ()
693
            ) {
694
                arr.add ("org.openide.modules.os.Windows"); // NOI18N
695
            } 
696
            
697
            if (org.openide.util.Utilities.isMac()) {
698
                arr.add ("org.openide.modules.os.MacOSX"); // NOI18N
699
            }
688
            }
700
            if (isOS2) {
689
            if (Utilities.isWindows()) {
701
                arr.add ("org.openide.modules.os.OS2"); // NOI18N
690
                arr.add("org.openide.modules.os.Windows"); // NOI18N
691
            }
692
            if (Utilities.isMac()) {
693
                arr.add("org.openide.modules.os.MacOSX"); // NOI18N
694
            }
695
            if ((Utilities.getOperatingSystem() & Utilities.OS_OS2) != 0) {
696
                arr.add("org.openide.modules.os.OS2"); // NOI18N
697
            }
698
            if ((Utilities.getOperatingSystem() & Utilities.OS_LINUX) != 0) {
699
                arr.add("org.openide.modules.os.Linux"); // NOI18N
700
            }
701
            if ((Utilities.getOperatingSystem() & Utilities.OS_SOLARIS) != 0) {
702
                arr.add("org.openide.modules.os.Solaris"); // NOI18N
702
            }
703
            }
703
            
704
            
704
            // module format is now 1
705
            // module format is now 1
(-)core/startup/test/unit/src/org/netbeans/core/startup/ConsistencyVerifierTest.java (+4 lines)
Lines 89-94 Link Here
89
                "=foo; Requires=org.openide.modules.os.MacOSX");
89
                "=foo; Requires=org.openide.modules.os.MacOSX");
90
        assertProblems("{}",
90
        assertProblems("{}",
91
                "=foo; Requires=org.openide.modules.os.OS2");
91
                "=foo; Requires=org.openide.modules.os.OS2");
92
        assertProblems("{}",
93
                "=foo; Requires=org.openide.modules.os.Linux");
94
        assertProblems("{}",
95
                "=foo; Requires=org.openide.modules.os.Solaris");
92
        assertProblems("{foo=[requires org.openide.modules.os.Windoze]}",
96
        assertProblems("{foo=[requires org.openide.modules.os.Windoze]}",
93
                "=foo; Requires=org.openide.modules.os.Windoze");
97
                "=foo; Requires=org.openide.modules.os.Windoze");
94
    }
98
    }
(-)core/startup/test/unit/src/org/netbeans/core/startup/PlatformDependencySatisfiedTest.java (+17 lines)
Lines 29-34 Link Here
29
import org.netbeans.junit.*;
29
import org.netbeans.junit.*;
30
import junit.textui.TestRunner;
30
import junit.textui.TestRunner;
31
import org.openide.filesystems.Repository;
31
import org.openide.filesystems.Repository;
32
import org.openide.util.Utilities;
32
33
33
/** Checks whether a module with generated
34
/** Checks whether a module with generated
34
 * @author Jaroslav Tulach
35
 * @author Jaroslav Tulach
Lines 101-106 Link Here
101
        assertEnableModule("org.openide.modules.os.PlainUnix", true);
102
        assertEnableModule("org.openide.modules.os.PlainUnix", true);
102
        assertEnableModule("org.openide.modules.os.Garbage", false);
103
        assertEnableModule("org.openide.modules.os.Garbage", false);
103
        assertEnableModule("org.openide.modules.os.OS2", false);
104
        assertEnableModule("org.openide.modules.os.OS2", false);
105
        assertEnableModule("org.openide.modules.os.Linux", true);
106
        assertEnableModule("org.openide.modules.os.Solaris", false);
107
    }
108
109
    public void testSolaris() throws Exception {
110
        System.setProperty("os.name", "SunOS");
111
        assertTrue("We are on Solaris", (Utilities.getOperatingSystem() & Utilities.OS_SOLARIS) != 0);
112
        
113
        assertEnableModule("org.openide.modules.os.Windows", false);
114
        assertEnableModule("org.openide.modules.os.MacOSX", false);
115
        assertEnableModule("org.openide.modules.os.Unix", true);
116
        assertEnableModule("org.openide.modules.os.PlainUnix", true);
117
        assertEnableModule("org.openide.modules.os.Garbage", false);
118
        assertEnableModule("org.openide.modules.os.OS2", false);
119
        assertEnableModule("org.openide.modules.os.Linux", false);
120
        assertEnableModule("org.openide.modules.os.Solaris", true);
104
    }
121
    }
105
122
106
    public void testBSD() throws Exception {
123
    public void testBSD() throws Exception {

Return to bug 109288