diff -r 1809b61e5c46 libs.javafx/build.xml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/libs.javafx/build.xml Tue Nov 05 08:41:50 2013 +0100 @@ -0,0 +1,5 @@ + + + Builds, tests, and runs the project org.netbeans.libs.javafx + + diff -r 1809b61e5c46 libs.javafx/manifest.mf --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/libs.javafx/manifest.mf Tue Nov 05 08:41:50 2013 +0100 @@ -0,0 +1,6 @@ +Manifest-Version: 1.0 +OpenIDE-Module: org.netbeans.libs.javafx +OpenIDE-Module-Localizing-Bundle: org/netbeans/libs/javafx/Bundle.properties +OpenIDE-Module-Specification-Version: 2.2 +Class-Path: ${java.home}/lib/ext/jfxrt.jar + diff -r 1809b61e5c46 libs.javafx/nbproject/project.properties --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/libs.javafx/nbproject/project.properties Tue Nov 05 08:41:50 2013 +0100 @@ -0,0 +1,46 @@ +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. +# +# Copyright 1997-2010 Oracle and/or its affiliates. All rights reserved. +# +# Oracle and Java are registered trademarks of Oracle and/or its affiliates. +# Other names may be trademarks of their respective owners. +# +# The contents of this file are subject to the terms of either the GNU +# General Public License Version 2 only ("GPL") or the Common +# Development and Distribution License("CDDL") (collectively, the +# "License"). You may not use this file except in compliance with the +# License. You can obtain a copy of the License at +# http://www.netbeans.org/cddl-gplv2.html +# or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the +# specific language governing permissions and limitations under the +# License. When distributing the software, include this License Header +# Notice in each file and include the License file at +# nbbuild/licenses/CDDL-GPL-2-CP. Oracle designates this +# particular file as subject to the "Classpath" exception as provided +# by Oracle in the GPL Version 2 section of the License file that +# accompanied this code. If applicable, add the following below the +# License Header, with the fields enclosed by brackets [] replaced by +# your own identifying information: +# "Portions Copyrighted [year] [name of copyright owner]" +# +# Contributor(s): +# +# The Original Software is NetBeans. The Initial Developer of the Original +# Software is Sun Microsystems, Inc. Portions Copyright 1997-2007 Sun +# Microsystems, Inc. All Rights Reserved. +# +# If you wish your version of this file to be governed by only the CDDL +# or only the GPL Version 2, indicate your decision by adding +# "[Contributor] elects to include this software in this distribution +# under the [CDDL or GPL Version 2] license." If you do not indicate a +# single choice of license, a recipient has the option to distribute +# your version of this file under either the CDDL, the GPL Version 2 or +# to extend the choice of license to its licensees as provided above. +# However, if you add GPL Version 2 code and therefore, elected the GPL +# Version 2 license, then the option applies only if the new code is +# made subject to such option by the copyright holder. + +javac.source=1.7 +javac.target=1.7 +javac.compilerargs=-Xlint -Xlint:-serial +is.autoload=true diff -r 1809b61e5c46 libs.javafx/nbproject/project.xml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/libs.javafx/nbproject/project.xml Tue Nov 05 08:41:50 2013 +0100 @@ -0,0 +1,75 @@ + + + org.netbeans.modules.apisupport.project + + + org.netbeans.libs.javafx + + + org.openide.modules + + + + 7.40 + + + + org.openide.util.lookup + + + + 8.23 + + + + + + unit + + org.netbeans.libs.junit4 + + + + org.netbeans.modules.nbjunit + + + + + + + javafx.animation + javafx.application + javafx.beans + javafx.beans.binding + javafx.beans.property + javafx.beans.property.adapter + javafx.beans.value + javafx.collections + javafx.concurrent + javafx.embed.swing + javafx.event + javafx.fxml + javafx.geometry + javafx.scene + javafx.scene.canvas + javafx.scene.chart + javafx.scene.control + javafx.scene.control.cell + javafx.scene.effect + javafx.scene.image + javafx.scene.input + javafx.scene.layout + javafx.scene.media + javafx.scene.paint + javafx.scene.shape + javafx.scene.text + javafx.scene.transform + javafx.scene.web + javafx.stage + javafx.util + javafx.util.converter + netscape.javascript + + + + diff -r 1809b61e5c46 libs.javafx/src/org/netbeans/libs/javafx/Bundle.properties --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/libs.javafx/src/org/netbeans/libs/javafx/Bundle.properties Tue Nov 05 08:41:50 2013 +0100 @@ -0,0 +1,1 @@ +OpenIDE-Module-Name=JavaFX wrapper diff -r 1809b61e5c46 libs.javafx/test/unit/src/org/netbeans/libs/javafx/IsFXEnabledTest.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/libs.javafx/test/unit/src/org/netbeans/libs/javafx/IsFXEnabledTest.java Tue Nov 05 08:41:50 2013 +0100 @@ -0,0 +1,78 @@ +/* + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. + * + * Copyright 2013 Oracle and/or its affiliates. All rights reserved. + * + * Oracle and Java are registered trademarks of Oracle and/or its affiliates. + * Other names may be trademarks of their respective owners. + * + * The contents of this file are subject to the terms of either the GNU + * General Public License Version 2 only ("GPL") or the Common + * Development and Distribution License("CDDL") (collectively, the + * "License"). You may not use this file except in compliance with the + * License. You can obtain a copy of the License at + * http://www.netbeans.org/cddl-gplv2.html + * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the + * specific language governing permissions and limitations under the + * License. When distributing the software, include this License Header + * Notice in each file and include the License file at + * nbbuild/licenses/CDDL-GPL-2-CP. Oracle designates this + * particular file as subject to the "Classpath" exception as provided + * by Oracle in the GPL Version 2 section of the License file that + * accompanied this code. If applicable, add the following below the + * License Header, with the fields enclosed by brackets [] replaced by + * your own identifying information: + * "Portions Copyrighted [year] [name of copyright owner]" + * + * If you wish your version of this file to be governed by only the CDDL + * or only the GPL Version 2, indicate your decision by adding + * "[Contributor] elects to include this software in this distribution + * under the [CDDL or GPL Version 2] license." If you do not indicate a + * single choice of license, a recipient has the option to distribute + * your version of this file under either the CDDL, the GPL Version 2 or + * to extend the choice of license to its licensees as provided above. + * However, if you add GPL Version 2 code and therefore, elected the GPL + * Version 2 license, then the option applies only if the new code is + * made subject to such option by the copyright holder. + * + * Contributor(s): + * + * Portions Copyrighted 2013 Sun Microsystems, Inc. + */ + +package org.netbeans.libs.javafx; + +import junit.framework.Test; +import org.netbeans.junit.NbModuleSuite; +import org.netbeans.junit.NbTestCase; +import org.openide.modules.ModuleInfo; +import org.openide.util.Lookup; + +/** + * + * @author Jaroslav Tulach + */ +public class IsFXEnabledTest extends NbTestCase { + + public IsFXEnabledTest(String name) { + super(name); + } + + public static Test suite() { + return NbModuleSuite.emptyConfiguration().addTest(IsFXEnabledTest.class). + gui(false). + suite(); + } + + public void testIsFxModuleEnabled() throws Exception { + for (ModuleInfo mi : Lookup.getDefault().lookupAll(ModuleInfo.class)) { + if (mi.getCodeNameBase().equals("org.netbeans.libs.javafx")) { + assertTrue("Enabled", mi.isEnabled()); + Class app = mi.getClassLoader().loadClass("javafx.application.Application"); + assertNotNull("FX class loaded OK", app); + return; + } + } + fail("libs.javafx not found!"); + } +} diff -r 1809b61e5c46 nbbuild/cluster.properties --- a/nbbuild/cluster.properties Sun Nov 03 19:17:29 2013 +0100 +++ b/nbbuild/cluster.properties Tue Nov 05 08:41:50 2013 +0100 @@ -182,6 +182,7 @@ keyring.impl,\ lib.uihandler,\ libs.felix,\ + libs.javafx,\ libs.jna,\ libs.jna.platform,\ libs.jsr223,\ diff -r 1809b61e5c46 o.n.bootstrap/src/org/netbeans/StandardModuleData.java --- a/o.n.bootstrap/src/org/netbeans/StandardModuleData.java Sun Nov 03 19:17:29 2013 +0100 +++ b/o.n.bootstrap/src/org/netbeans/StandardModuleData.java Tue Nov 05 08:41:50 2013 +0100 @@ -102,16 +102,28 @@ StringTokenizer tok = new StringTokenizer(classPath); while (tok.hasMoreTokens()) { String ext = tok.nextToken().replace("%20", " "); // NOI18N - if (new File(ext).isAbsolute()) { // NOI18N - Util.err.log(Level.WARNING, "Class-Path value {0} from {1} is illegal according to the Java Extension Mechanism: must be relative", new Object[]{ext, jar}); + File extfile; + if (ext.equals("${java.home}/lib/ext/jfxrt.jar")) { // NOI18N + // special handling on JDK7 + File jre = new File(System.getProperty("java.home")); // NOI18N + File jdk8 = new File(new File(new File(jre, "lib"), "ext"), "jfxrt.jar"); // NOI18N + if (jdk8.exists()) { + // jdk8 has the classes on bootclasspath + continue; + } + extfile = new File(new File(jre, "lib"), "jfxrt.jar"); // NOI18N + } else { + if (new File(ext).isAbsolute()) { // NOI18N + Util.err.log(Level.WARNING, "Class-Path value {0} from {1} is illegal according to the Java Extension Mechanism: must be relative", new Object[]{ext, jar}); + } + File base = jar.getParentFile(); + while (ext.startsWith("../")) { + // cannot access FileUtil.normalizeFile from here, and URI.normalize might be unsafe for UNC paths + ext = ext.substring(3); + base = base.getParentFile(); + } + extfile = new File(base, ext.replace('/', File.separatorChar)); } - File base = jar.getParentFile(); - while (ext.startsWith("../")) { - // cannot access FileUtil.normalizeFile from here, and URI.normalize might be unsafe for UNC paths - ext = ext.substring(3); - base = base.getParentFile(); - } - File extfile = new File(base, ext.replace('/', File.separatorChar)); //No need to sync on extensionOwners - we are in write mutex Set owners = extensionOwners.get(extfile); if (owners == null) {