public String getCompileTaskName() { if (sourceSet != null) { return sourceSet.getCompileTaskName("eta"); } else { return getTaskName("compile"); } }
private void configureTest(Project project, JavaPluginConvention javaConvention) { SourceSet sourceSet = javaConvention.getSourceSets().getByName(SourceSet.TEST_SOURCE_SET_NAME); ClojureCompile compile = (ClojureCompile) project.getTasks().getByName(sourceSet.getCompileTaskName("clojure")); compile.getOptions().setAotCompile(true); Callable<?> namespaces = () -> { List<String> nses = new ArrayList<>(); nses.add("gradle-clojure.tools.clojure-test-junit4"); nses.addAll(compile.findNamespaces()); return nses; }; compile.getConventionMapping().map("namespaces", namespaces); }
private static String getHydraConfigFolderFromTask(Project project, ScalaCompile scalaCompile) { SourceSetContainer sourceSets = project.getConvention().getPlugin(JavaPluginConvention.class).getSourceSets(); String hydraConfigFolder = "main"; for (SourceSet set : sourceSets) { if (set.getCompileTaskName("scala").equals(scalaCompile.getName())) { hydraConfigFolder = set.getName(); } } return hydraConfigFolder; }
private static String getDefaultSourcepath(Project project, ScalaCompile scalaCompile) { // The source sets are configured in the JavaPlugin and ScalaPlugin and they use the JavaPluginConvention to store the source sets. SourceSetContainer sourceSets = project.getConvention().getPlugin(JavaPluginConvention.class).getSourceSets(); StringJoiner sourcepathJoiner = new StringJoiner(File.pathSeparator); for (SourceSet set : sourceSets) { if (set.getCompileTaskName("scala").equals(scalaCompile.getName())) { Convention scalaConvention = (Convention) InvokerHelper.getProperty(set, "convention"); ScalaSourceSet scalaSourceSet = scalaConvention.findPlugin(ScalaSourceSet.class); scalaSourceSet.getAllScala().getSourceDirectories().getFiles().forEach(file -> sourcepathJoiner.add(file.getAbsolutePath())); } } LOGGER.debug("Hydra sourcepath: {}.", sourcepathJoiner); return sourcepathJoiner.toString(); }
private void configureGosuCompile(JavaBasePlugin javaPlugin, SourceSet sourceSet, GosuSourceSet gosuSourceSet) { String compileTaskName = sourceSet.getCompileTaskName("gosu"); GosuCompile gosuCompile = _project.getTasks().create(compileTaskName, GosuCompile.class); javaPlugin.configureForSourceSet(sourceSet, gosuCompile); gosuCompile.dependsOn(sourceSet.getCompileJavaTaskName()); gosuCompile.setDescription("Compiles the " + sourceSet.getName() + " Gosu source"); gosuCompile.setSource(gosuSourceSet.getGosu()); gosuCompile.setSourceRoots(gosuSourceSet.getGosu().getSrcDirs()); _project.getTasks().getByName(sourceSet.getClassesTaskName()).dependsOn(compileTaskName); }
@Override public void apply(Project project) { project.getPluginManager().apply( "java" ); final SnifferExtension snifferExtension = Helper.maybeCreateExtension( project ); project.getConfigurations().maybeCreate( CONFIGURATION_NAME ); final CheckTask checkTask = project.getTasks().create( CheckTask.STANDARD_NAME, CheckTask.class ); project.getTasks().add( checkTask ); project.afterEvaluate( p -> { for ( SourceSet sourceSet : snifferExtension.getCheck().getSourceSets() ) { Task compileTask = p.getTasks().findByName( sourceSet.getCompileTaskName( "groovy" ) ); if ( compileTask == null ) { compileTask = p.getTasks().findByName( sourceSet.getCompileJavaTaskName() ); } if ( compileTask == null ) { throw new RuntimeException( "Could not locate compile task for sourceSet [" + sourceSet.getName() + "]" ); } checkTask.dependsOn( compileTask ); } } ); } }
private void configureClasspathScan(SourceSet sourceSet) { String taskName = sourceSet.getTaskName("scan", "Classpath"); File baseDir = new File(this.project.getBuildDir(), "joinfaces/" + sourceSet.getName()); ClasspathScan scanTask = this.project.getTasks().create(taskName, ClasspathScan.class); scanTask.getDestinationDir().set(baseDir); this.project.afterEvaluate(p -> { scanTask.getClasspath().from(p.getConfigurations().getByName(sourceSet.getRuntimeClasspathConfigurationName())); scanTask.getClasspath().from(p.getTasks().getByName(sourceSet.getCompileJavaTaskName())); p.getPlugins().withType(GroovyPlugin.class, groovyPlugin -> scanTask.getClasspath().from(p.getTasks().getByName(sourceSet.getCompileTaskName("groovy"))) ); p.getPlugins().withType(ScalaBasePlugin.class, scalaBasePlugin -> scanTask.getClasspath().from(p.getTasks().getByName(sourceSet.getCompileTaskName("scala"))) ); if (p.getPlugins().hasPlugin("kotlin") || p.getPlugins().hasPlugin("org.jetbrains.kotlin.jvm")) { scanTask.getClasspath().from(p.getTasks().getByName(sourceSet.getCompileTaskName("kotlin"))); } sourceSet.getOutput().dir(Collections.singletonMap("builtBy", scanTask), scanTask.getDestinationDir()); }); } }
@Override public void apply(Project project) { project.getPlugins().apply(JSassWebjarsPlugin.class); project.getPlugins().apply(JavaPlugin.class); File baseDestinationDir = new File(project.getBuildDir(), "jsass"); project.getConvention().getPlugin(JavaPluginConvention.class).getSourceSets().all(sourceSet -> { String taskName = sourceSet.getCompileTaskName("Sass"); TaskProvider<SassCompile> sassCompileTaskProvider = project.getTasks().register(taskName, SassCompile.class, sassCompile -> { sassCompile.setSource(sourceSet.getResources()); sassCompile.getDestinationDir().set(new File(baseDestinationDir, sourceSet.getName())); sassCompile.setGroup(BasePlugin.BUILD_GROUP); sassCompile.setDescription("Compile sass and scss files for the " + sourceSet.getName() + " source set"); }); project.getTasks().named(sourceSet.getProcessResourcesTaskName(), Copy.class) .configure(processResources -> processResources.from(sassCompileTaskProvider)); }); } }
task.setOutput(dir); ScalaCompile compile = (ScalaCompile) this.project.getTasks().getByName(main.getCompileTaskName("scala")); compile.dependsOn("blossomSourceReplacementScala"); compile.setSource(dir); task.setOutput(dir); GroovyCompile compile = (GroovyCompile) this.project.getTasks().getByName(main.getCompileTaskName("groovy")); compile.dependsOn("blossomSourceReplacementGroovy"); compile.setSource(dir);
/** * Create and configure default compileGosu and compileTestGosu tasks * Gradle 4.0+: call local equivalent of o.g.a.p.i.SourceSetUtil.configureForSourceSet(sourceSet, gosuSourceSet.getGosu(), gosuCompile, _project) * Gradle 2.x, 3.x: call javaPlugin.configureForSourceSet(sourceSet, gosuCompile); */ private void configureGosuCompile(JavaBasePlugin javaPlugin, SourceSet sourceSet, GosuSourceSet gosuSourceSet) { String compileTaskName = sourceSet.getCompileTaskName("gosu"); GosuCompile gosuCompile = _project.getTasks().create(compileTaskName, GosuCompile.class); VersionNumber gradleVersion = VersionNumber.parse(_project.getGradle().getGradleVersion()); if(gradleVersion.compareTo(VersionNumber.parse("4.0")) >= 0) { //Gradle 4.0+ configureForSourceSet(sourceSet, gosuSourceSet.getGosu(), gosuCompile, _project); } else { javaPlugin.configureForSourceSet(sourceSet, gosuCompile); gosuCompile.setDescription("Compiles the " + gosuSourceSet.getGosu() + "."); } gosuCompile.dependsOn(sourceSet.getCompileJavaTaskName()); gosuCompile.setSource((Object) gosuSourceSet.getGosu()); // Gradle 4.0 overloads setSource; must upcast to Object for backwards compatibility _project.getTasks().getByName(sourceSet.getClassesTaskName()).dependsOn(compileTaskName); }
ScalaCompile compile = (ScalaCompile) project.getTasks().getByName(set.getCompileTaskName("scala")); compile.dependsOn(task); compile.setSource(dir); GroovyCompile compile = (GroovyCompile) project.getTasks().getByName(set.getCompileTaskName("groovy")); compile.dependsOn(task); compile.setSource(dir); KotlinCompile compile = (KotlinCompile) project.getTasks().getByName(set.getCompileTaskName("kotlin")); compile.dependsOn(task); compile.setSource(dir);
public void execute(final SourceSet sourceSet) { FregeSourceSetDirectoryFactory factory = new FregeSourceSetDirectoryFactory((ProjectInternal) project, fileResolver); final DefaultFregeSourceSet fregeSourceSet = new DefaultFregeSourceSet(((DefaultSourceSet) sourceSet).getDisplayName(), factory); new DslObject(sourceSet).getConvention().getPlugins().put("frege", fregeSourceSet); final String defaultSourcePath = String.format("src/%s/frege", sourceSet.getName()); fregeSourceSet.getFrege().srcDir(defaultSourcePath); sourceSet.getResources().getFilter().exclude(new Spec<FileTreeElement>() { public boolean isSatisfiedBy(FileTreeElement element) { return fregeSourceSet.getFrege().contains(element.getFile()); } }); sourceSet.getAllJava().source(fregeSourceSet.getFrege()); sourceSet.getAllSource().source(fregeSourceSet.getFrege()); String compileTaskName = sourceSet.getCompileTaskName("frege"); FregeCompile compile = project.getTasks().create(compileTaskName, FregeCompile.class); compile.setModule(project.file(defaultSourcePath).getAbsolutePath()); javaBasePlugin.configureForSourceSet(sourceSet, compile); compile.getConventionMapping().map("fregepath", new Callable() { public Object call() throws Exception { return sourceSet.getCompileClasspath(); } }); compile.dependsOn(sourceSet.getCompileJavaTaskName()); compile.setDescription(String.format("Compiles the %s Frege source.", sourceSet.getName())); compile.setSource(fregeSourceSet.getFrege()); project.getTasks().getByName(sourceSet.getClassesTaskName()).dependsOn(compileTaskName); sourceSet.compiledBy(compile); } });
sourceSet.getAllSource().source(clojureSourceSet.getClojure()); String compileTaskName = sourceSet.getCompileTaskName("clojure"); ClojureCompile compile = project.getTasks().create(compileTaskName, ClojureCompile.class); compile.setDescription(String.format("Compiles the %s Clojure source.", sourceSet.getName()));