private static void generateProjectBuild(URI workspace, File output, DevProject project) throws IOException { StringBuilder builder = new StringBuilder(); File src = project.getExternalSrcDir(); File res = project.getExternalResDir(); File testSrc = project.getExternalTestSrcDir(); File testRes = project.getExternalTestResDir(); // @formatter:off // why use relatvie paths? so the eclipse hack below can work correctly. // add extra sourceDirs append(builder, "sourceSets {", NEWLINE); append( builder, INDENT, "main.java.srcDir 'src/main/start'", NEWLINE); // add start dir to gradle sources if (src != null) append(builder, INDENT, "main.java.srcDir '", relative(workspace, src), "'", NEWLINE); if (res != null) append(builder, INDENT, "main.resources.srcDir '", relative(workspace, res), "'", NEWLINE); if (testSrc != null) append(builder, INDENT, "test.java.srcDir '", relative(workspace, testSrc), "'", NEWLINE); if (testRes != null) append( builder, INDENT, "test.resources.srcDir '", relative(workspace, testRes), "'", NEWLINE); append(builder, "}"); // @formatter:on // write Files.write(builder.toString(), output, Constants.CHARSET); }