project.getConfigurations().getByName(dev.getRuntimeClasspathConfigurationName()).extendsFrom(nrepl); nonClojureOutput.apply(test), nonClojureOutput.apply(main), project.getConfigurations().getByName(dev.getRuntimeClasspathConfigurationName())));
project.getConfigurations().getByName(dev.getRuntimeClasspathConfigurationName()).extendsFrom(nrepl); nonClojureOutput.apply(test), nonClojureOutput.apply(main), project.getConfigurations().getByName(dev.getRuntimeClasspathConfigurationName())));
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()); }); } }
private void configureDev(Project project, JavaPluginConvention javaConvention) { SourceSet main = javaConvention.getSourceSets().getByName(SourceSet.MAIN_SOURCE_SET_NAME); SourceSet test = javaConvention.getSourceSets().getByName(SourceSet.TEST_SOURCE_SET_NAME); SourceSet dev = javaConvention.getSourceSets().create(DEV_SOURCE_SET_NAME); dev.setCompileClasspath(project.files(test.getOutput(), main.getOutput(), project.getConfigurations().getByName(dev.getCompileClasspathConfigurationName()))); dev.setRuntimeClasspath(project.files(dev.getAllSource().getSourceDirectories(), test.getAllSource().getSourceDirectories(), main.getAllSource().getSourceDirectories(), project.getConfigurations().getByName(dev.getRuntimeClasspathConfigurationName()))); Stream.<Function<SourceSet, String>>of(SourceSet::getCompileConfigurationName, SourceSet::getImplementationConfigurationName, SourceSet::getRuntimeConfigurationName, SourceSet::getRuntimeOnlyConfigurationName).forEach(getter -> { Configuration devConf = project.getConfigurations().getByName(getter.apply(dev)); Configuration testConf = project.getConfigurations().getByName(getter.apply(test)); devConf.extendsFrom(testConf); }); project.getTasks().create("clojureRepl", ClojureNRepl.class, task -> { task.setGroup("run"); task.setDescription("Starts an nREPL server."); task.setClasspath(dev.getRuntimeClasspath()); }); } }
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); }); }