use of com.badlogic.gdx.setup.DependencyBank.ProjectType in project libgdx by libgdx.
the class GdxSetup method main.
public static void main(String[] args) throws IOException {
Map<String, String> params = parseArgs(args);
List<String> excludedModules = null;
if (params.containsKey("excludeModules"))
excludedModules = parseExcludedModules(params.get("excludeModules"));
if (!params.containsKey("dir") || !params.containsKey("name") || !params.containsKey("package") || !params.containsKey("mainClass") || (!params.containsKey("sdkLocation") && System.getenv("ANDROID_HOME") == null && (excludedModules == null || !excludedModules.contains("android")))) {
new GdxSetupUI();
printHelp();
} else {
String sdkLocation = "";
if (excludedModules == null || !excludedModules.contains("android")) {
if (System.getenv("ANDROID_HOME") != null && !params.containsKey("sdkLocation")) {
sdkLocation = System.getenv("ANDROID_HOME");
} else {
sdkLocation = params.get("sdkLocation");
}
}
DependencyBank bank = new DependencyBank();
ProjectBuilder builder = new ProjectBuilder(bank);
List<ProjectType> projects = new ArrayList<ProjectType>();
projects.add(ProjectType.CORE);
if (excludedModules == null) {
projects.add(ProjectType.DESKTOP);
projects.add(ProjectType.ANDROID);
projects.add(ProjectType.IOS);
projects.add(ProjectType.IOSMOE);
projects.add(ProjectType.HTML);
} else {
if (!excludedModules.contains("desktop"))
projects.add(ProjectType.DESKTOP);
if (!excludedModules.contains("android"))
projects.add(ProjectType.ANDROID);
if (!excludedModules.contains("ios"))
projects.add(ProjectType.IOS);
if (!excludedModules.contains("iosmoe"))
projects.add(ProjectType.IOSMOE);
if (!excludedModules.contains("html"))
projects.add(ProjectType.HTML);
}
List<Dependency> dependencies = new ArrayList<Dependency>();
if (params.containsKey("extensions")) {
dependencies.addAll(parseDependencies(params.get("extensions"), bank));
} else {
dependencies.add(bank.getDependency(ProjectDependency.GDX));
}
builder.buildProject(projects, dependencies);
builder.build();
new GdxSetup().build(builder, params.get("dir"), params.get("name"), params.get("package"), params.get("mainClass"), sdkLocation, new CharCallback() {
@Override
public void character(char c) {
System.out.print(c);
}
}, null);
}
}
use of com.badlogic.gdx.setup.DependencyBank.ProjectType in project libgdx by libgdx.
the class ProjectBuilder method build.
public boolean build() throws IOException {
settingsFile = File.createTempFile("libgdx-setup-settings", ".gradle");
buildFile = File.createTempFile("libgdx-setup-build", ".gradle");
if (!settingsFile.exists()) {
settingsFile.createNewFile();
}
if (!buildFile.exists()) {
buildFile.createNewFile();
}
settingsFile.setWritable(true);
buildFile.setWritable(true);
try {
FileWriter settingsWriter = new FileWriter(settingsFile.getAbsoluteFile());
BufferedWriter settingsBw = new BufferedWriter(settingsWriter);
String settingsContents = "include ";
for (ProjectType module : modules) {
settingsContents += "'" + module.getName() + "'";
if (modules.indexOf(module) != modules.size() - 1) {
settingsContents += ", ";
}
}
settingsBw.write(settingsContents);
settingsBw.close();
settingsWriter.close();
FileWriter buildWriter = new FileWriter(buildFile.getAbsoluteFile());
BufferedWriter buildBw = new BufferedWriter(buildWriter);
BuildScriptHelper.addBuildScript(modules, buildBw);
BuildScriptHelper.addAllProjects(buildBw);
for (ProjectType module : modules) {
BuildScriptHelper.addProject(module, dependencies, buildBw);
}
//Add task here for now
buildBw.write("\n");
buildBw.write("tasks.eclipse.doLast {\n");
buildBw.write(" delete \".project\"\n");
buildBw.write("}");
buildBw.close();
buildWriter.close();
return true;
} catch (IOException e) {
e.printStackTrace();
return false;
}
}
use of com.badlogic.gdx.setup.DependencyBank.ProjectType in project libgdx by libgdx.
the class ProjectBuilder method buildProject.
public List<String> buildProject(List<ProjectType> projects, List<Dependency> dependencies) {
List<String> incompatibilities = new ArrayList<String>();
for (Dependency dep : dependencies) {
for (ProjectType type : projects) {
dep.getDependencies(type);
incompatibilities.addAll(dep.getIncompatibilities(type));
}
}
this.modules = projects;
this.dependencies = dependencies;
return incompatibilities;
}
Aggregations