diff --git a/sdk/jme3-obfuscate/src/com/jme3/gde/obfuscate/Bundle.properties b/sdk/jme3-obfuscate/src/com/jme3/gde/obfuscate/Bundle.properties index 4e90126cc..92045b854 100644 --- a/sdk/jme3-obfuscate/src/com/jme3/gde/obfuscate/Bundle.properties +++ b/sdk/jme3-obfuscate/src/com/jme3/gde/obfuscate/Bundle.properties @@ -6,3 +6,4 @@ OpenIDE-Module-Short-Description=Support for obfuscating distributions ObfuscateCustomizerPanel.jCheckBox1.text=Obfuscate Build ProGuard=ProGuard LBL_Category_Obfuscate=Obfuscation +ObfuscateCustomizerPanel.jLabel1.text=Obfuscation option additions: diff --git a/sdk/jme3-obfuscate/src/com/jme3/gde/obfuscate/ObfuscateCompositeProvider.java b/sdk/jme3-obfuscate/src/com/jme3/gde/obfuscate/ObfuscateCompositeProvider.java index 3103ed5a7..151e8702f 100644 --- a/sdk/jme3-obfuscate/src/com/jme3/gde/obfuscate/ObfuscateCompositeProvider.java +++ b/sdk/jme3-obfuscate/src/com/jme3/gde/obfuscate/ObfuscateCompositeProvider.java @@ -28,8 +28,17 @@ public class ObfuscateCompositeProvider implements ProjectCustomizer.CompositeCa private static final String CAT_OBFUSCATION = "Obfuscation"; // NOI18N private static ProjectExtensionProperties jwsProps = null; private String[] keyList = new String[]{ - "obfuscate" + "obfuscate", + "obfuscate.options" }; + private static String defaultOpts = "-keep public class * extends com.jme3.app.Application{public *;}\n" + + "-keep public class * extends com.jme3.system.JmeSystemDelegate{public *;}\n" + + "-keep public class * implements com.jme3.renderer.Renderer{public *;}\n" + + "-keep public class * implements com.jme3.asset.AssetLoader{public *;}\n" + + "-keep public class * implements com.jme3.asset.AssetLocator{public *;}\n" + + "-keep public class * implements de.lessvoid.nifty.screen.ScreenController{public *;}\n" + + "-dontwarn\n" + + "-dontnote\n"; public ObfuscateCompositeProvider() { } @@ -43,6 +52,9 @@ public class ObfuscateCompositeProvider implements ProjectCustomizer.CompositeCa @Override public JComponent createComponent(ProjectCustomizer.Category category, Lookup context) { jwsProps = new ProjectExtensionProperties(context.lookup(Project.class), keyList); + if(jwsProps.getProperty("obfuscate.options")==null){ + jwsProps.setProperty("obfuscate.options", defaultOpts); + } ObfuscateCustomizerPanel panel = new ObfuscateCustomizerPanel(jwsProps); category.setStoreListener(new SavePropsListener(jwsProps, context.lookup(Project.class))); category.setOkButtonListener(panel); @@ -52,7 +64,7 @@ public class ObfuscateCompositeProvider implements ProjectCustomizer.CompositeCa private class SavePropsListener implements ActionListener { private String extensionName = "obfuscate"; - private String extensionVersion = "v0.9"; + private String extensionVersion = "v0.10"; private String[] extensionDependencies = new String[]{"-post-jar", "-obfuscate"}; private ProjectExtensionManager manager = new ProjectExtensionManager(extensionName, extensionVersion, extensionDependencies); private ProjectExtensionProperties properties; @@ -77,31 +89,5 @@ public class ObfuscateCompositeProvider implements ProjectCustomizer.CompositeCa Exceptions.printStackTrace(ioe); } } - -// private void unZipFile(InputStream source, FileObject projectRoot) throws IOException { -// try { -// ZipInputStream str = new ZipInputStream(source); -// ZipEntry entry; -// while ((entry = str.getNextEntry()) != null) { -// if (entry.isDirectory()) { -// FileUtil.createFolder(projectRoot, entry.getName()); -// } else { -// FileObject fo = FileUtil.createData(projectRoot, entry.getName()); -// writeFile(str, fo); -// } -// } -// } finally { -// source.close(); -// } -// } -// -// private void writeFile(ZipInputStream str, FileObject fo) throws IOException { -// OutputStream out = fo.getOutputStream(); -// try { -// FileUtil.copy(str, out); -// } finally { -// out.close(); -// } -// } } } diff --git a/sdk/jme3-obfuscate/src/com/jme3/gde/obfuscate/ObfuscateCustomizerPanel.form b/sdk/jme3-obfuscate/src/com/jme3/gde/obfuscate/ObfuscateCustomizerPanel.form index 23cb97c48..863707e15 100644 --- a/sdk/jme3-obfuscate/src/com/jme3/gde/obfuscate/ObfuscateCustomizerPanel.form +++ b/sdk/jme3-obfuscate/src/com/jme3/gde/obfuscate/ObfuscateCustomizerPanel.form @@ -1,4 +1,4 @@ - +
diff --git a/sdk/jme3-obfuscate/src/com/jme3/gde/obfuscate/ObfuscateCustomizerPanel.java b/sdk/jme3-obfuscate/src/com/jme3/gde/obfuscate/ObfuscateCustomizerPanel.java index feaba966a..a7ba7ffd9 100644 --- a/sdk/jme3-obfuscate/src/com/jme3/gde/obfuscate/ObfuscateCustomizerPanel.java +++ b/sdk/jme3-obfuscate/src/com/jme3/gde/obfuscate/ObfuscateCustomizerPanel.java @@ -23,7 +23,9 @@ public class ObfuscateCustomizerPanel extends javax.swing.JPanel implements Acti private ProjectExtensionProperties properties; - /** Creates new form LwjglAppletCustomizerPanel */ + /** + * Creates new form LwjglAppletCustomizerPanel + */ public ObfuscateCustomizerPanel(ProjectExtensionProperties properties) { this.properties = properties; initComponents(); @@ -38,6 +40,8 @@ public class ObfuscateCustomizerPanel extends javax.swing.JPanel implements Acti } else { jCheckBox1.setSelected(false); } + String props = properties.getProperty("obfuscate.options"); + jTextArea1.setText(props); } private void saveProperties() { @@ -46,32 +50,47 @@ public class ObfuscateCustomizerPanel extends javax.swing.JPanel implements Acti } else { properties.setProperty("obfuscate", ""); } + properties.setProperty("obfuscate.options", jTextArea1.getText()); } public void actionPerformed(ActionEvent e) { saveProperties(); } - /** This method is called from within the constructor to - * initialize the form. - * WARNING: Do NOT modify this code. The content of this method is - * always regenerated by the Form Editor. + /** + * This method is called from within the constructor to initialize the form. + * WARNING: Do NOT modify this code. The content of this method is always + * regenerated by the Form Editor. */ @SuppressWarnings("unchecked") //