diff --git a/.idea/modules.xml b/.idea/modules.xml index b0f9f8b369d3..aee60deaaf2c 100644 --- a/.idea/modules.xml +++ b/.idea/modules.xml @@ -4,6 +4,7 @@ + diff --git a/build/scripts/layouts.gant b/build/scripts/layouts.gant index 4a9796d56a23..6e83aa9003b9 100644 --- a/build/scripts/layouts.gant +++ b/build/scripts/layouts.gant @@ -216,10 +216,7 @@ def layoutFull(String home, String targetDirectory, String patchedDescriptorDir module("common-javaFX-plugin") } jar("embedder.jar") { - module("FXBuilderEmbedder") { - exclude(name: "com/**") - exclude(name: "javafx/**") - } + module("FXBuilderEmbedder") } } } diff --git a/plugins/javaFX/FxBuilderEmbedder/FxBuilderEmbedder.iml b/plugins/javaFX/FxBuilderEmbedder/FxBuilderEmbedder.iml index b6424b217e7a..3e312abc5d95 100644 --- a/plugins/javaFX/FxBuilderEmbedder/FxBuilderEmbedder.iml +++ b/plugins/javaFX/FxBuilderEmbedder/FxBuilderEmbedder.iml @@ -1,13 +1,13 @@ - + - - + + diff --git a/plugins/javaFX/FxBuilderEmbedder/Stubs/FxBuilderStubs.iml b/plugins/javaFX/FxBuilderEmbedder/Stubs/FxBuilderStubs.iml new file mode 100644 index 000000000000..6645c17898da --- /dev/null +++ b/plugins/javaFX/FxBuilderEmbedder/Stubs/FxBuilderStubs.iml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/plugins/javaFX/FxBuilderEmbedder/stubsSrc/com/oracle/javafx/scenebuilder/app/AppPlatform.java b/plugins/javaFX/FxBuilderEmbedder/Stubs/stubsSrc/com/oracle/javafx/scenebuilder/app/AppPlatform.java similarity index 100% rename from plugins/javaFX/FxBuilderEmbedder/stubsSrc/com/oracle/javafx/scenebuilder/app/AppPlatform.java rename to plugins/javaFX/FxBuilderEmbedder/Stubs/stubsSrc/com/oracle/javafx/scenebuilder/app/AppPlatform.java diff --git a/plugins/javaFX/FxBuilderEmbedder/stubsSrc/com/oracle/javafx/scenebuilder/app/DocumentWindowController.java b/plugins/javaFX/FxBuilderEmbedder/Stubs/stubsSrc/com/oracle/javafx/scenebuilder/app/DocumentWindowController.java similarity index 100% rename from plugins/javaFX/FxBuilderEmbedder/stubsSrc/com/oracle/javafx/scenebuilder/app/DocumentWindowController.java rename to plugins/javaFX/FxBuilderEmbedder/Stubs/stubsSrc/com/oracle/javafx/scenebuilder/app/DocumentWindowController.java diff --git a/plugins/javaFX/FxBuilderEmbedder/stubsSrc/com/oracle/javafx/scenebuilder/app/SceneBuilderApp.java b/plugins/javaFX/FxBuilderEmbedder/Stubs/stubsSrc/com/oracle/javafx/scenebuilder/app/SceneBuilderApp.java similarity index 100% rename from plugins/javaFX/FxBuilderEmbedder/stubsSrc/com/oracle/javafx/scenebuilder/app/SceneBuilderApp.java rename to plugins/javaFX/FxBuilderEmbedder/Stubs/stubsSrc/com/oracle/javafx/scenebuilder/app/SceneBuilderApp.java diff --git a/plugins/javaFX/FxBuilderEmbedder/stubsSrc/com/oracle/javafx/scenebuilder/kit/editor/EditorController.java b/plugins/javaFX/FxBuilderEmbedder/Stubs/stubsSrc/com/oracle/javafx/scenebuilder/kit/editor/EditorController.java similarity index 100% rename from plugins/javaFX/FxBuilderEmbedder/stubsSrc/com/oracle/javafx/scenebuilder/kit/editor/EditorController.java rename to plugins/javaFX/FxBuilderEmbedder/Stubs/stubsSrc/com/oracle/javafx/scenebuilder/kit/editor/EditorController.java diff --git a/plugins/javaFX/FxBuilderEmbedder/stubsSrc/com/oracle/javafx/scenebuilder/kit/editor/drag/source/AbstractDragSource.java b/plugins/javaFX/FxBuilderEmbedder/Stubs/stubsSrc/com/oracle/javafx/scenebuilder/kit/editor/drag/source/AbstractDragSource.java similarity index 100% rename from plugins/javaFX/FxBuilderEmbedder/stubsSrc/com/oracle/javafx/scenebuilder/kit/editor/drag/source/AbstractDragSource.java rename to plugins/javaFX/FxBuilderEmbedder/Stubs/stubsSrc/com/oracle/javafx/scenebuilder/kit/editor/drag/source/AbstractDragSource.java diff --git a/plugins/javaFX/FxBuilderEmbedder/stubsSrc/com/oracle/javafx/scenebuilder/kit/library/user/UserLibrary.java b/plugins/javaFX/FxBuilderEmbedder/Stubs/stubsSrc/com/oracle/javafx/scenebuilder/kit/library/user/UserLibrary.java similarity index 100% rename from plugins/javaFX/FxBuilderEmbedder/stubsSrc/com/oracle/javafx/scenebuilder/kit/library/user/UserLibrary.java rename to plugins/javaFX/FxBuilderEmbedder/Stubs/stubsSrc/com/oracle/javafx/scenebuilder/kit/library/user/UserLibrary.java diff --git a/plugins/javaFX/FxBuilderEmbedder/stubsSrc/javafx/application/Platform.java b/plugins/javaFX/FxBuilderEmbedder/Stubs/stubsSrc/javafx/application/Platform.java similarity index 100% rename from plugins/javaFX/FxBuilderEmbedder/stubsSrc/javafx/application/Platform.java rename to plugins/javaFX/FxBuilderEmbedder/Stubs/stubsSrc/javafx/application/Platform.java diff --git a/plugins/javaFX/FxBuilderEmbedder/stubsSrc/javafx/embed/swing/JFXPanel.java b/plugins/javaFX/FxBuilderEmbedder/Stubs/stubsSrc/javafx/embed/swing/JFXPanel.java similarity index 100% rename from plugins/javaFX/FxBuilderEmbedder/stubsSrc/javafx/embed/swing/JFXPanel.java rename to plugins/javaFX/FxBuilderEmbedder/Stubs/stubsSrc/javafx/embed/swing/JFXPanel.java diff --git a/plugins/javaFX/FxBuilderEmbedder/stubsSrc/javafx/scene/Scene.java b/plugins/javaFX/FxBuilderEmbedder/Stubs/stubsSrc/javafx/scene/Scene.java similarity index 100% rename from plugins/javaFX/FxBuilderEmbedder/stubsSrc/javafx/scene/Scene.java rename to plugins/javaFX/FxBuilderEmbedder/Stubs/stubsSrc/javafx/scene/Scene.java diff --git a/plugins/javaFX/FxBuilderEmbedder/stubsSrc/javafx/scene/input/DataFormat.java b/plugins/javaFX/FxBuilderEmbedder/Stubs/stubsSrc/javafx/scene/input/DataFormat.java similarity index 100% rename from plugins/javaFX/FxBuilderEmbedder/stubsSrc/javafx/scene/input/DataFormat.java rename to plugins/javaFX/FxBuilderEmbedder/Stubs/stubsSrc/javafx/scene/input/DataFormat.java diff --git a/plugins/javaFX/javaFX.iml b/plugins/javaFX/javaFX.iml index 3abff64396de..78a171deff34 100644 --- a/plugins/javaFX/javaFX.iml +++ b/plugins/javaFX/javaFX.iml @@ -6,6 +6,7 @@ + @@ -23,6 +24,7 @@ + diff --git a/plugins/javaFX/src/org/jetbrains/plugins/javaFX/sceneBuilder/SceneBuilderEditor.java b/plugins/javaFX/src/org/jetbrains/plugins/javaFX/sceneBuilder/SceneBuilderEditor.java index 03ddc6be16c6..0056d0aa8de9 100644 --- a/plugins/javaFX/src/org/jetbrains/plugins/javaFX/sceneBuilder/SceneBuilderEditor.java +++ b/plugins/javaFX/src/org/jetbrains/plugins/javaFX/sceneBuilder/SceneBuilderEditor.java @@ -14,6 +14,8 @@ import com.intellij.openapi.util.UserDataHolderBase; import com.intellij.openapi.util.text.StringUtil; import com.intellij.openapi.vfs.VirtualFile; import com.intellij.ui.HyperlinkLabel; +import com.intellij.util.PathUtil; +import javafx.embed.swing.JFXPanel; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -111,9 +113,7 @@ public class SceneBuilderEditor extends UserDataHolderBase implements FileEditor private void loadSceneBuilder(SceneBuilderInfo info) throws Exception { mySceneLoader = createSceneLoader(info); - System.out.println(mySceneLoader.loadClass("com.oracle.javafx.scenebuilder.app.SceneBuilderApp")); - - Class wrapperClass = mySceneLoader.loadClass("org.jetbrains.plugins.javaFX.sceneBuilder.SceneBuilderWrapper"); + Class wrapperClass = Class.forName("org.jetbrains.plugins.javaFX.sceneBuilder.SceneBuilderWrapper", false, mySceneLoader); myFxPanel = (JComponent)wrapperClass.getMethod("create", String.class).invoke(null, myFile.getPath()); myPanel.add(myFxPanel, SCENE_CARD); @@ -155,7 +155,10 @@ public class SceneBuilderEditor extends UserDataHolderBase implements FileEditor throw new Exception(info.libPath + " no jar found"); } - return new URLClassLoader(urls.toArray(new URL[urls.size()])); + urls.add(new File(PathUtil.getJarPathForClass(JFXPanel.class)).toURI().toURL()); + urls.add(new File(PathUtil.getJarPathForClass(SceneBuilderWrapper.class)).toURI().toURL()); + + return new URLClassLoader(urls.toArray(new URL[urls.size()]), null); } @NotNull