public boolean isDesktopIncluded = false;
public boolean isAndroidIncluded = false;
public boolean isHtmlIncluded = false;
+ public boolean isIosIncluded = false;
public String suffixCommon = "";
public String suffixDesktop = "-desktop";
public String suffixAndroid = "-android";
+ public String suffixIos = "-ios";
public String suffixHtml = "-html";
public final List<String> libraries = new ArrayList<String>();
public final List<String> libsDesktop;
public final List<String> libsAndroid;
public final List<String> libsHtml;
+ public final List<String> libsIos;
public final List<String> data;
/**
this.libsDesktop = ParseUtils.parseBlockAsList(content, "libs-desktop");
this.libsAndroid = ParseUtils.parseBlockAsList(content, "libs-android");
this.libsHtml = ParseUtils.parseBlockAsList(content, "libs-html");
+ this.libsIos = ParseUtils.parseBlockAsList(content, "libs-ios");
this.data = ParseUtils.parseBlockAsList(content, "data");
}
}
\ No newline at end of file
if (cfg.isDesktopIncluded) templateManager.define("PRJ_DESKTOP_NAME", cfg.projectName + cfg.suffixDesktop);
if (cfg.isAndroidIncluded) templateManager.define("PRJ_ANDROID_NAME", cfg.projectName + cfg.suffixAndroid);
if (cfg.isHtmlIncluded) templateManager.define("PRJ_HTML_NAME", cfg.projectName + cfg.suffixHtml);
+ if (cfg.isIosIncluded) templateManager.define("PRJ_IOS_NAME", cfg.projectName + cfg.suffixIos);
// Android manifest definitions
if (!cfg.androidMinSdkVersion.equals("")) templateManager.define("ANDROID_MIN_SDK", cfg.androidMinSdkVersion);
File desktopPrjLibsDir = new File(tmpDst, "/prj-desktop/libs");
File androidPrjLibsDir = new File(tmpDst, "/prj-android/libs");
File htmlPrjLibsDir = new File(tmpDst, "/prj-html/war/WEB-INF/lib");
+ File iosPrjLibsDir = new File(tmpDst, "/prj-ios/libs");
File dataDir = new File(tmpDst, "/prj-android/assets");
for (String library : cfg.libraries) {
if (entryName.endsWith(elemName)) copyEntry(zis, elemName, androidPrjLibsDir);
for (String elemName : def.libsHtml)
if (entryName.endsWith(elemName)) copyEntry(zis, elemName, htmlPrjLibsDir);
+ for (String elemName : def.libsIos)
+ if(entryName.endsWith(elemName)) copyEntry(zis, elemName, iosPrjLibsDir);
for (String elemName : def.data)
if (entryName.endsWith(elemName)) copyEntry(zis, elemName, dataDir);
}
templateDir(src);
FileUtils.moveDirectory(src, dst);
}
+
+ if(cfg.isIosIncluded) {
+ File src = new File(tmpDst, "prj-ios");
+ File dst = new File(tmpDst, cfg.projectName + cfg.suffixIos);
+ move(src, "my-gdx-game-ios.csproj", cfg.projectName + cfg.suffixIos + ".csproj");
+ move(src, "my-gdx-game-ios.sln", cfg.projectName + cfg.suffixIos + ".sln");
+ templateDir(src);
+ FileUtils.moveDirectory(src, dst);
+ }
}
/**
src = new File(tmpDst, cfg.projectName + cfg.suffixHtml);
FileUtils.copyDirectoryToDirectory(src, dst);
}
+
+ if(cfg.isIosIncluded) {
+ src = new File(tmpDst, cfg.projectName + cfg.suffixIos);
+ FileUtils.copyDirectoryToDirectory(src, dst);
+ }
}
/**
if (file.isDirectory()) {
templateDir(file);
} else {
- if (endsWith(file.getName(), ".jar", ".zip", ".png")) continue;
+ if (endsWith(file.getName(), ".jar", ".zip", ".dll", ".a", ".png")) continue;
templateManager.processOver(file);
}
}
--- /dev/null
+package aurelienribon.gdxsetupui;\r
+\r
+import java.io.IOException;\r
+\r
+import org.apache.commons.io.IOUtils;\r
+\r
+import aurelienribon.gdxsetupui.ui.Ctx;\r
+import aurelienribon.utils.Res;\r
+import aurelienribon.utils.HttpUtils.DownloadTask;\r
+\r
+/**\r
+ * Executes a {@link ProjectSetup} on the shell. Mainly used for testing\r
+ * the packaging of new libs.\r
+ * \r
+ * @author mzechner\r
+ *\r
+ */\r
+public class ShellBuilder {\r
+ private static final String MASTER_CONFIG = "https://raw.github.com/libgdx/libgdx/master/extensions/gdx-setup-ui/config/config.txt";\r
+ \r
+ public static void main (String[] args) throws IOException {\r
+ LibraryManager libs = new LibraryManager(MASTER_CONFIG);\r
+ ProjectSetupConfiguration config = new ProjectSetupConfiguration();\r
+ config.projectName="test-game";\r
+ config.isDesktopIncluded = true;\r
+ config.isAndroidIncluded = true;\r
+ config.isHtmlIncluded = true;\r
+ config.isIosIncluded = true;\r
+ config.destinationPath = "d:/tmp";\r
+ ProjectSetup setup = new ProjectSetup(config, libs);\r
+ \r
+ libs.downloadConfigFile();\r
+ String rawDef = IOUtils.toString(Res.getStream("libgdx.txt"));\r
+ LibraryDef def = new LibraryDef(rawDef);\r
+ libs.addDef("libgdx", def);\r
+ config.libraries.add("libgdx");\r
+ config.librariesZipPaths.put("libgdx", "d:/tmp/libgdx-nightly-latest.zip");\r
+ \r
+ System.out.println("Decompressing projects...");\r
+ setup.inflateProjects();\r
+ System.out.println(" done\nDecompressing libraries...");\r
+ setup.inflateLibraries();\r
+ System.out.println(" done\nConfiguring libraries...");\r
+ setup.configureLibraries();\r
+ System.out.println(" done\nPost-processing files...");\r
+ setup.postProcess();\r
+ System.out.println(" done\nCopying projects...");\r
+ setup.copy();\r
+ System.out.println(" done\nCleaning...");\r
+ setup.clean();\r
+ System.out.println(" done\nAll done!");\r
+ }\r
+}\r