diff --git a/sdk/jme3-core/src/com/jme3/gde/core/j2seproject/ProjectExtensionManager.java b/sdk/jme3-core/src/com/jme3/gde/core/j2seproject/ProjectExtensionManager.java index ac56cac9c..9e8fea565 100644 --- a/sdk/jme3-core/src/com/jme3/gde/core/j2seproject/ProjectExtensionManager.java +++ b/sdk/jme3-core/src/com/jme3/gde/core/j2seproject/ProjectExtensionManager.java @@ -40,8 +40,6 @@ import java.io.OutputStreamWriter; import java.io.StringWriter; import java.net.MalformedURLException; import java.net.URL; -import java.util.LinkedList; -import java.util.List; import java.util.Properties; import java.util.logging.Level; import java.util.logging.Logger; @@ -72,6 +70,7 @@ public class ProjectExtensionManager { private String[] extensionDependencies; private String antTaskLibrary; private URL zipFile; + private static final String resourcesFolder = "resources"; /** * Allows extending ant based projects @@ -428,17 +427,23 @@ public class ProjectExtensionManager { ZipInputStream str = new ZipInputStream(in); ZipEntry entry; while ((entry = str.getNextEntry()) != null) { + String fileName = resourcesFolder + "/" + extensionName + "/" + entry.getName(); if (entry.isDirectory()) { + //XXX: deleting old (beta) files here FileObject fo = projectRoot.getFileObject(entry.getName()); - if (fo == null) { - FileUtil.createFolder(projectRoot, entry.getName()); + if (fo != null && entry.getSize() != -1 && entry.getSize() == fo.getSize()) { + Logger.getLogger(this.getClass().getName()).log(Level.INFO, "Deleting old folder " + fo.getNameExt()); + fo.delete(); } + FileUtil.createFolder(projectRoot, fileName); } else { + //XXX: deleting old (beta) files here FileObject fo = projectRoot.getFileObject(entry.getName()); if (fo != null && !fo.equals(projectRoot)) { + Logger.getLogger(this.getClass().getName()).log(Level.INFO, "Deleting old file " + fo.getNameExt()); fo.delete(); } - fo = FileUtil.createData(projectRoot, entry.getName()); + fo = FileUtil.createData(projectRoot, fileName); writeFile(str, fo); } } @@ -456,17 +461,32 @@ public class ProjectExtensionManager { ZipInputStream str = new ZipInputStream(in); ZipEntry entry; while ((entry = str.getNextEntry()) != null) { - FileObject obj = projectRoot.getFileObject(entry.getName()); + //XXX: deleting old (beta) files here + FileObject old = projectRoot.getFileObject(entry.getName()); + if (old != null && !old.equals(projectRoot)) { + Logger.getLogger(this.getClass().getName()).log(Level.INFO, "Deleting old file " + old.getNameExt()); + if (entry.getSize() != -1 && entry.getSize() == old.getSize()) { + old.delete(); + } + } + String fileName = resourcesFolder + "/" + extensionName + "/" + entry.getName(); + FileObject obj = projectRoot.getFileObject(fileName); if (obj != null && !obj.equals(projectRoot)) { Logger.getLogger(this.getClass().getName()).log(Level.INFO, "Deleting file " + obj.getNameExt()); if (entry.getSize() != -1 && entry.getSize() == obj.getSize()) { obj.delete(); + } else{ + Logger.getLogger(this.getClass().getName()).log(Level.INFO, "Keeping file " + obj.getNameExt()); } } } } finally { in.close(); } + FileObject folder = projectRoot.getFileObject(resourcesFolder + "/" + extensionName); + if (folder != null && folder.getChildren().length == 0) { + folder.delete(); + } } private void writeFile(ZipInputStream str, FileObject fo) throws IOException { diff --git a/sdk/jme3-desktop-executables/src/com/jme3/gde/desktop/executables/DesktopExeCompositeProvider.java b/sdk/jme3-desktop-executables/src/com/jme3/gde/desktop/executables/DesktopExeCompositeProvider.java index 50eb92257..07b102b93 100644 --- a/sdk/jme3-desktop-executables/src/com/jme3/gde/desktop/executables/DesktopExeCompositeProvider.java +++ b/sdk/jme3-desktop-executables/src/com/jme3/gde/desktop/executables/DesktopExeCompositeProvider.java @@ -65,7 +65,7 @@ public class DesktopExeCompositeProvider implements ProjectCustomizer.CompositeC launch4j = new ProjectExtensionManager("launch4j", "v1.2", new String[]{"jar", "-launch4j-exe"}); launch4j.setAntTaskLibrary("launch4j"); launch4j.setDataZip("nbres:/com/jme3/gde/desktop/executables/winapp-data.zip"); - macapp = new ProjectExtensionManager("macapp", "v1.1", new String[]{"jar", "-mac-app"}); + macapp = new ProjectExtensionManager("macapp", "v1.2", new String[]{"jar", "-mac-app"}); macapp.setDataZip("nbres:/com/jme3/gde/desktop/executables/macapp-data.zip"); linux = new ProjectExtensionManager("linuxlauncher", "v1.1", new String[]{"jar", "-linux-launcher"}); } diff --git a/sdk/jme3-desktop-executables/src/com/jme3/gde/desktop/executables/launch4j-targets.xml b/sdk/jme3-desktop-executables/src/com/jme3/gde/desktop/executables/launch4j-targets.xml index 05f313b14..9051454c7 100644 --- a/sdk/jme3-desktop-executables/src/com/jme3/gde/desktop/executables/launch4j-targets.xml +++ b/sdk/jme3-desktop-executables/src/com/jme3/gde/desktop/executables/launch4j-targets.xml @@ -2,7 +2,7 @@ Windows EXE Creation - + diff --git a/sdk/jme3-desktop-executables/src/com/jme3/gde/desktop/executables/macapp-targets.xml b/sdk/jme3-desktop-executables/src/com/jme3/gde/desktop/executables/macapp-targets.xml index 8d9e7c763..1f55df5a2 100644 --- a/sdk/jme3-desktop-executables/src/com/jme3/gde/desktop/executables/macapp-targets.xml +++ b/sdk/jme3-desktop-executables/src/com/jme3/gde/desktop/executables/macapp-targets.xml @@ -8,9 +8,9 @@ - - - + + + diff --git a/sdk/jme3-lwjgl-applet/src/com/jme3/gde/lwjgl/applet/LwjglAppletCompositeProvider.java b/sdk/jme3-lwjgl-applet/src/com/jme3/gde/lwjgl/applet/LwjglAppletCompositeProvider.java index 4070c0371..c9c64c94b 100644 --- a/sdk/jme3-lwjgl-applet/src/com/jme3/gde/lwjgl/applet/LwjglAppletCompositeProvider.java +++ b/sdk/jme3-lwjgl-applet/src/com/jme3/gde/lwjgl/applet/LwjglAppletCompositeProvider.java @@ -62,7 +62,7 @@ public class LwjglAppletCompositeProvider implements ProjectCustomizer.Composite private class SavePropsListener implements ActionListener { private String extensionName = "lwjglapplet"; - private String extensionVersion = "v0.97"; + private String extensionVersion = "v0.98"; private String[] extensionDependencies = new String[]{"jar", "-lwjgl-applet"}; private ProjectExtensionManager manager = new ProjectExtensionManager(extensionName, extensionVersion, extensionDependencies); private ProjectExtensionProperties properties; diff --git a/sdk/jme3-lwjgl-applet/src/com/jme3/gde/lwjgl/applet/lwjgl-applet-targets.xml b/sdk/jme3-lwjgl-applet/src/com/jme3/gde/lwjgl/applet/lwjgl-applet-targets.xml index 8e652e579..7538e54bc 100644 --- a/sdk/jme3-lwjgl-applet/src/com/jme3/gde/lwjgl/applet/lwjgl-applet-targets.xml +++ b/sdk/jme3-lwjgl-applet/src/com/jme3/gde/lwjgl/applet/lwjgl-applet-targets.xml @@ -17,7 +17,7 @@ - +