private static void configureTasks(final Project project) { getSourceSets(project).all(new Action<SourceSet>() { public void execute(SourceSet sourceSet) { GenerateAvroProtocolTask protoTask = configureProtocolGenerationTask(project, sourceSet); GenerateAvroJavaTask javaTask = configureJavaGenerationTask(project, sourceSet, protoTask); configureTaskDependencies(project, sourceSet, javaTask); } }); }
@Override public void apply(final Project project) { final VelocityPluginExtension extension = project.getExtensions().create("velocity", VelocityPluginExtension.class); project.getConvention().getPlugin(JavaPluginConvention.class).getSourceSets().all( new Action<SourceSet>() { @Override public void execute(SourceSet t) { apply(project, t, extension); } }); }
private void configureSourceSets(Project project, JavaPluginConvention javaConvention) { javaConvention.getSourceSets().all(sourceSet -> { sourceSet.getResources().exclude("**/.keep"); }); }
private void configureSourceSets(Project project, JavaPluginConvention javaConvention) { javaConvention.getSourceSets().all(sourceSet -> { sourceSet.getResources().exclude("**/.keep"); }); }
@TaskAction public void compileJavascript() { SourceSetContainer cont = (SourceSetContainer) getProject().getProperties().get("sourceSets"); cont.all((SourceSet ss) -> { JavaScriptExtension jse = (JavaScriptExtension) getProject() .getExtensions() .getByName("javascript"); JavaScriptSourceSet jsss = jse .getSourceSetsContainer() .maybeCreate(ss.getName()); }); } }
private void configureForFindbugs(JavaPluginConvention javaPluginConvention) { lombokExtension.getConfig().put("lombok.extern.findbugs.addSuppressFBWarnings", "true"); FindBugsExtension findBugsExtension = project.getExtensions().getByType(FindBugsExtension.class); javaPluginConvention.getSourceSets().all(sourceSet -> project.getDependencies().add( sourceSet.getCompileOnlyConfigurationName(), "com.google.code.findbugs:findbugs:" + findBugsExtension.getToolVersion() )); }
private void configureForSpotbugs(JavaPluginConvention javaPluginConvention) { lombokExtension.getConfig().put("lombok.extern.findbugs.addSuppressFBWarnings", "true"); CodeQualityExtension spotbugsExtension = (CodeQualityExtension) project.getExtensions().getByName("spotbugs"); javaPluginConvention.getSourceSets().all(sourceSet -> project.getDependencies().add( sourceSet.getCompileOnlyConfigurationName(), "com.github.spotbugs:spotbugs-annotations:" + spotbugsExtension.getToolVersion() )); }
@Override public void apply(Project project) { this.project = project; project.getPlugins().withType(JavaPlugin.class, javaPlugin -> project.getConvention() .getPlugin(JavaPluginConvention.class) .getSourceSets() .all(this::configureClasspathScan) ); }
private void configureSourceSetDefaults() { JavaPluginConvention convention = project.getConvention().getPlugin(JavaPluginConvention.class); SourceSetContainer sourceSets = convention.getSourceSets(); sourceSets.all(this::configureSourceSet); EtaCompile mainCompileTask = (EtaCompile) project.getTasks().findByName (NamingScheme.getCompileTaskName(SourceSet.MAIN_SOURCE_SET_NAME)); EtaInstallDependencies testInstallDependenciesTask = (EtaInstallDependencies) project.getTasks().findByName (NamingScheme.getInstallDependenciesTaskName(SourceSet.TEST_SOURCE_SET_NAME)); testInstallDependenciesTask.addExtraPackageDB (NamingScheme.getPackageName(project, SourceSet.MAIN_SOURCE_SET_NAME), mainCompileTask.getPackageDBProvider()); }
@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)); }); } }
@Override public void apply(ProjectInternal project) { project.getPluginManager().apply(JavaPlugin.class); JavaScriptExtension ext = project.getExtensions().create( "javascript", JavaScriptExtension.class, project, project.getFileResolver() ); SourceSetContainer cont = (SourceSetContainer) project.getProperties().get("sourceSets"); cont.all((SourceSet ss) -> { String name = ss.getName(); File sources = project.file("src/" + name + "/javascript"); JavaScriptSourceSet jsss = ext.getSourceSetsContainer().maybeCreate(name); SourceDirectorySet sds = jsss.getJavaScript(); sds.srcDir(sources); Convention sourceSetConvention = (Convention) InvokerHelper.getProperty(ss, "convention"); sourceSetConvention.getPlugins().put("javascript", jsss); }); project.task("compileJavascript"); } }
private void configureInjectionTasks() { if (isRootProject()) { project.getGradle().projectsEvaluated (gradle -> gradle.allprojects (p -> { JavaPluginConvention javaConvention = p.getConvention().findPlugin(JavaPluginConvention.class); EtaPlugin etaPlugin = p.getPlugins().findPlugin(EtaPlugin.class); if (javaConvention != null && etaPlugin == null) { javaConvention.getSourceSets().all (sourceSet -> configureSourceSetInjection(p, sourceSet)); } })); } }
project.getConvention().getPlugin(JavaPluginConvention.class).getSourceSets().all(sourceSet -> { String taskName = sourceSet.getTaskName("compile", "Sass");
private void configureSourceSetDefaults(final JavaBasePlugin javaBasePlugin) { _project.getConvention().getPlugin(JavaPluginConvention.class).getSourceSets().all(sourceSet -> { GosuSourceSet gosuSourceSet = new DefaultGosuSourceSet(sourceSet.getName(), _sourceDirectorySetFactory); Convention sourceSetConvention = (Convention) InvokerHelper.getProperty(sourceSet, "convention"); sourceSetConvention.getPlugins().put("gosu", gosuSourceSet); gosuSourceSet.getGosu().srcDir("src/" + sourceSet.getName() + "/gosu"); sourceSet.getResources().getFilter().exclude(element -> gosuSourceSet.getGosu().contains(element.getFile())); sourceSet.getAllSource().source(gosuSourceSet.getGosu()); configureGosuCompile(javaBasePlugin, sourceSet, gosuSourceSet); }); }
private void configureSourceSetDefaults(final JavaBasePlugin javaBasePlugin) { _project.getConvention().getPlugin(JavaPluginConvention.class).getSourceSets().all( sourceSet -> { DefaultGosuSourceSet gosuSourceSet = new DefaultGosuSourceSet(((DefaultSourceSet) sourceSet).getDisplayName(), _fileResolver); new DslObject(sourceSet).getConvention().getPlugins().put("gosu", gosuSourceSet); gosuSourceSet.getGosu().srcDir("src/" + sourceSet.getName() + "/gosu"); sourceSet.getResources().getFilter().exclude( element -> { return gosuSourceSet.getGosu().contains(element.getFile()); }); sourceSet.getAllSource().source(gosuSourceSet.getGosu()); configureGosuCompile(javaBasePlugin, sourceSet, gosuSourceSet); }); }
private void configureToolsConfigurations(Project project) { Configuration tools = project.getConfigurations().create(TOOLS_CONFIGURATION_NAME); tools.defaultDependencies(deps -> { deps.add(project.getDependencies().create("io.github.gradle-clojure:gradle-clojure-tools:" + getVersion())); }); // TODO does this JAR get included via shadow or application plugins? project.getConvention().getPlugin(JavaPluginConvention.class).getSourceSets().all(sourceSet -> { project.getConfigurations().getByName(sourceSet.getCompileClasspathConfigurationName()).extendsFrom(tools); project.getConfigurations().getByName(sourceSet.getRuntimeClasspathConfigurationName()).extendsFrom(tools); }); }
private void configureToolsConfigurations(Project project) { Configuration tools = project.getConfigurations().create(TOOLS_CONFIGURATION_NAME); tools.defaultDependencies(deps -> { deps.add(project.getDependencies().create("io.github.gradle-clojure:gradle-clojure-tools:" + getVersion())); }); // TODO does this JAR get included via shadow or application plugins? project.getConvention().getPlugin(JavaPluginConvention.class).getSourceSets().all(sourceSet -> { project.getConfigurations().getByName(sourceSet.getCompileClasspathConfigurationName()).extendsFrom(tools); project.getConfigurations().getByName(sourceSet.getRuntimeClasspathConfigurationName()).extendsFrom(tools); }); }
private void configureSourceSetDefaults(Project project, ClojureScriptExtension extension) { project.getConvention().getPlugin(JavaPluginConvention.class).getSourceSets().all((SourceSet sourceSet) -> { ClojureScriptSourceSet clojurescriptSourceSet = new DefaultClojureScriptSourceSet("clojurescript", objects); new DslObject(sourceSet).getConvention().getPlugins().put("clojurescript", clojurescriptSourceSet); clojurescriptSourceSet.getClojureScript().srcDir(String.format("src/%s/clojurescript", sourceSet.getName())); // in case the clojure source overlaps with the resources source sourceSet.getResources().getFilter().exclude(element -> clojurescriptSourceSet.getClojureScript().contains(element.getFile())); sourceSet.getAllSource().source(clojurescriptSourceSet.getClojureScript()); ClojureScriptBuild build = extension.getBuilds().create(sourceSet.getName()); build.getSourceSet().set(sourceSet); sourceSet.getOutput().dir(build.getOutputDir()); project.getTasks().getByName(sourceSet.getClassesTaskName()).dependsOn(build.getTaskName("compile")); sourceSet.getOutput().dir(project.provider(() -> { if (build.isCompilerConfigured()) { return build.getOutputDir(); } else { return clojurescriptSourceSet.getClojureScript().getSourceDirectories(); } })); }); }
private void configureSourceSetDefaults(Project project, ClojureExtension extension) { project.getConvention().getPlugin(JavaPluginConvention.class).getSourceSets().all(sourceSet -> { ClojureSourceSet clojureSourceSet = new DefaultClojureSourceSet("clojure", sourceDirectorySetFactory); new DslObject(sourceSet).getConvention().getPlugins().put("clojure", clojureSourceSet); clojureSourceSet.getClojure().srcDir(String.format("src/%s/clojure", sourceSet.getName())); // in case the clojure source overlaps with the resources source sourceSet.getResources().getFilter().exclude(element -> clojureSourceSet.getClojure().contains(element.getFile())); sourceSet.getAllSource().source(clojureSourceSet.getClojure()); ClojureBuild build = extension.getBuilds().create(sourceSet.getName()); build.getSourceSet().set(sourceSet); ((DefaultSourceSetOutput) sourceSet.getOutput()).addClassesDir(() -> build.getOutputDir().get().getAsFile()); project.getTasks().getByName(sourceSet.getClassesTaskName()).dependsOn(build.getTaskName("compile")); project.getTasks().getByName(sourceSet.getClassesTaskName()).dependsOn(build.getTaskName("check")); sourceSet.getOutput().dir(project.provider(() -> { if (build.isCompilerConfigured()) { return clojureSourceSet.getClojure().getSourceDirectories(); } else { return build.getOutputDir(); } })); }); }
private void configureSourceSetDefaults(Project project, ClojureScriptExtension extension) { project.getConvention().getPlugin(JavaPluginConvention.class).getSourceSets().all((SourceSet sourceSet) -> { ClojureScriptSourceSet clojurescriptSourceSet = new DefaultClojureScriptSourceSet("clojurescript", sourceDirectorySetFactory); new DslObject(sourceSet).getConvention().getPlugins().put("clojurescript", clojurescriptSourceSet); clojurescriptSourceSet.getClojureScript().srcDir(String.format("src/%s/clojurescript", sourceSet.getName())); // in case the clojure source overlaps with the resources source sourceSet.getResources().getFilter().exclude(element -> clojurescriptSourceSet.getClojureScript().contains(element.getFile())); sourceSet.getAllSource().source(clojurescriptSourceSet.getClojureScript()); ClojureScriptBuild build = extension.getBuilds().create(sourceSet.getName()); build.getSourceSet().set(sourceSet); sourceSet.getOutput().dir(build.getOutputDir()); project.getTasks().getByName(sourceSet.getClassesTaskName()).dependsOn(build.getTaskName("compile")); sourceSet.getOutput().dir(project.provider(() -> { if (build.isCompilerConfigured()) { return clojurescriptSourceSet.getClojureScript().getSourceDirectories(); } else { return build.getOutputDir(); } })); }); }