Search in sources :

Example 1 with ProjectType

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);
    }
}
Also used : ArrayList(java.util.ArrayList) ProjectDependency(com.badlogic.gdx.setup.DependencyBank.ProjectDependency) CharCallback(com.badlogic.gdx.setup.Executor.CharCallback) ProjectType(com.badlogic.gdx.setup.DependencyBank.ProjectType)

Example 2 with ProjectType

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;
    }
}
Also used : FileWriter(java.io.FileWriter) ProjectType(com.badlogic.gdx.setup.DependencyBank.ProjectType) IOException(java.io.IOException) BufferedWriter(java.io.BufferedWriter)

Example 3 with ProjectType

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;
}
Also used : ProjectType(com.badlogic.gdx.setup.DependencyBank.ProjectType) ArrayList(java.util.ArrayList)

Aggregations

ProjectType (com.badlogic.gdx.setup.DependencyBank.ProjectType)3 ArrayList (java.util.ArrayList)2 ProjectDependency (com.badlogic.gdx.setup.DependencyBank.ProjectDependency)1 CharCallback (com.badlogic.gdx.setup.Executor.CharCallback)1 BufferedWriter (java.io.BufferedWriter)1 FileWriter (java.io.FileWriter)1 IOException (java.io.IOException)1