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 238939
Collapse All | Expand All

(-)a/core.startup/nbproject/project.xml (-1 / +1 lines)
Lines 71-77 Link Here
71
                    <build-prerequisite/>
71
                    <build-prerequisite/>
72
                    <compile-dependency/>
72
                    <compile-dependency/>
73
                    <run-dependency>
73
                    <run-dependency>
74
                        <specification-version>7.25</specification-version>
74
                        <specification-version>7.41</specification-version>
75
                    </run-dependency>
75
                    </run-dependency>
76
                </dependency>
76
                </dependency>
77
                <dependency>
77
                <dependency>
(-)a/core.startup/src/org/netbeans/core/startup/CoreBridge.java (-1 / +10 lines)
Lines 185-190 Link Here
185
        if ((Utilities.getOperatingSystem() & Utilities.OS_SOLARIS) != 0) {
185
        if ((Utilities.getOperatingSystem() & Utilities.OS_SOLARIS) != 0) {
186
            provides.add("org.openide.modules.os.Solaris"); // NOI18N
186
            provides.add("org.openide.modules.os.Solaris"); // NOI18N
187
        }
187
        }
188
        
189
        if (isJavaFX(new File(System.getProperty("java.home")))) {
190
            provides.add("org.openide.modules.jre.JavaFX"); // NOI18N
191
        }
188
    }
192
    }
189
    
193
194
    static boolean isJavaFX(File javaHome) {
195
        return 
196
            new File(new File(javaHome, "lib"), "jfxrt.jar").exists() || 
197
            new File(new File(new File(javaHome, "lib"), "ext"), "jfxrt.jar").exists();
198
    }
190
}
199
}
(-)4771df8de272 (+88 lines)
Added Link Here
1
/*
2
 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
3
 *
4
 * Copyright 2013 Oracle and/or its affiliates. All rights reserved.
5
 *
6
 * Oracle and Java are registered trademarks of Oracle and/or its affiliates.
7
 * Other names may be trademarks of their respective owners.
8
 *
9
 * The contents of this file are subject to the terms of either the GNU
10
 * General Public License Version 2 only ("GPL") or the Common
11
 * Development and Distribution License("CDDL") (collectively, the
12
 * "License"). You may not use this file except in compliance with the
13
 * License. You can obtain a copy of the License at
14
 * http://www.netbeans.org/cddl-gplv2.html
15
 * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
16
 * specific language governing permissions and limitations under the
17
 * License.  When distributing the software, include this License Header
18
 * Notice in each file and include the License file at
19
 * nbbuild/licenses/CDDL-GPL-2-CP.  Oracle designates this
20
 * particular file as subject to the "Classpath" exception as provided
21
 * by Oracle in the GPL Version 2 section of the License file that
22
 * accompanied this code. If applicable, add the following below the
23
 * License Header, with the fields enclosed by brackets [] replaced by
24
 * your own identifying information:
25
 * "Portions Copyrighted [year] [name of copyright owner]"
26
 *
27
 * If you wish your version of this file to be governed by only the CDDL
28
 * or only the GPL Version 2, indicate your decision by adding
29
 * "[Contributor] elects to include this software in this distribution
30
 * under the [CDDL or GPL Version 2] license." If you do not indicate a
31
 * single choice of license, a recipient has the option to distribute
32
 * your version of this file under either the CDDL, the GPL Version 2 or
33
 * to extend the choice of license to its licensees as provided above.
34
 * However, if you add GPL Version 2 code and therefore, elected the GPL
35
 * Version 2 license, then the option applies only if the new code is
36
 * made subject to such option by the copyright holder.
37
 *
38
 * Contributor(s):
39
 *
40
 * Portions Copyrighted 2013 Sun Microsystems, Inc.
41
 */
42
43
package org.netbeans.core.startup;
44
45
import java.io.File;
46
import java.io.IOException;
47
import static org.junit.Assert.*;
48
import org.netbeans.junit.NbTestCase;
49
50
/**
51
 *
52
 * @author Jaroslav Tulach <jtulach@netbeans.org>
53
 */
54
public class CoreBridgeTest extends NbTestCase {
55
    private File jre;
56
    private File lib;
57
    private File ext;
58
    
59
    public CoreBridgeTest(String n) {
60
        super(n);
61
    }
62
63
    @Override
64
    protected void setUp() throws Exception {
65
        clearWorkDir();
66
        jre = new File(getWorkDir(), "jre");
67
        lib = new File(jre, "lib");
68
        ext = new File(lib, "ext");
69
        ext.mkdirs();
70
        
71
        assertTrue("Dirs created", ext.isDirectory());
72
    }
73
    
74
    public void testNoJavaFX() {
75
        assertFalse("No fx rt.jar", CoreBridge.isJavaFX(jre));
76
    }
77
    
78
    public void testJDK7FX() throws IOException {
79
        new File(lib, "jfxrt.jar").createNewFile();
80
        assertTrue("fx rt.jar found", CoreBridge.isJavaFX(jre));
81
    }
82
83
    public void testJDK8FX() throws IOException {
84
        new File(ext, "jfxrt.jar").createNewFile();
85
        assertTrue("fx rt.jar found", CoreBridge.isJavaFX(jre));
86
    }
87
    
88
}
(-)a/libs.javafx/manifest.mf (+1 lines)
Lines 3-7 Link Here
3
OpenIDE-Module-Package-Dependencies: javafx.application[Application]
3
OpenIDE-Module-Package-Dependencies: javafx.application[Application]
4
OpenIDE-Module-Localizing-Bundle: org/netbeans/libs/javafx/Bundle.properties
4
OpenIDE-Module-Localizing-Bundle: org/netbeans/libs/javafx/Bundle.properties
5
OpenIDE-Module-Specification-Version: 2.2
5
OpenIDE-Module-Specification-Version: 2.2
6
OpenIDE-Module-Needs: org.openide.modules.jre.JavaFX
6
Class-Path: ${java.home}/lib/ext/jfxrt.jar
7
Class-Path: ${java.home}/lib/ext/jfxrt.jar
7
8
(-)a/openide.modules/apichanges.xml (+38 lines)
Lines 50-55 Link Here
50
  	<apidef name="modules">Modules API</apidef>
50
  	<apidef name="modules">Modules API</apidef>
51
  </apidefs>
51
  </apidefs>
52
<changes>
52
<changes>
53
    <change id="javafx.lib">
54
        <api name="modules"/>
55
        <summary>JavaFX Library Wrapper</summary>
56
        <version major="7" minor="41"/>
57
        <date day="23" month="12" year="2013"/>
58
        <author login="jtulach"/>
59
        <compatibility addition="yes" binary="compatible" semantic="compatible" source="compatible">
60
        </compatibility>
61
        <description>
62
            <p>
63
                Most of JDK installations come with additional <em>JavaFX</em>
64
                JAR. Alas the location of the JAR is different on JDK7 and JDK8,
65
                moreover on some operating systems (think of Solaris) the
66
                JAR is not present at all. To hide the differences and allow
67
                smooth consumption of <em>JavaFX</em> APIs NetBeans provide
68
                following conventions.
69
            </p>
70
            <p>
71
                If you want to code against <em>JavaFX</em> APIs, add dependency
72
                on <code>org.netbeans.libs.javafx</code> library. Then you'll
73
                be able to compile and run while using the API.
74
            </p>
75
            <p>
76
                If you want to depend on presence of <em>JavaFX</em> JAR 
77
                inside of JDK installation structure, use:
78
            </p>
79
            <pre>OpenIDE-Module-Needs: org.openide.modules.jre.JavaFX</pre>
80
            <p>
81
                This token is made available by the module system, if the 
82
                <em>JavaFX</em> module is present in the JDK. Btw. the
83
                <code>org.netbeans.libs.javafx</code> library has such
84
                dependency and as a result, all modules that depend on it
85
                will be disabled on Solaris or on OpenJDK (if installed without
86
                <em>JavaFX</em>).
87
            </p>  
88
        </description>
89
        <issue number="237973"/>
90
    </change>
53
    <change id="find.by.cnb">
91
    <change id="find.by.cnb">
54
        <api name="modules"/>
92
        <api name="modules"/>
55
        <summary>Find ModuleInfo by code name base easily</summary>
93
        <summary>Find ModuleInfo by code name base easily</summary>
(-)a/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.40
4
OpenIDE-Module-Specification-Version: 7.41
5
5

Return to bug 238939