diff options
author | nea <romangraef@gmail.com> | 2022-06-24 00:06:42 +0200 |
---|---|---|
committer | nea <romangraef@gmail.com> | 2022-06-24 00:06:42 +0200 |
commit | 4e72b93f9cab4e720495903595a9d9c5bb27c1e1 (patch) | |
tree | a9c2a16796c6b64866413a0a7c66ebe513c9cefe | |
parent | 0721b7cb0e9e680c3e2541b685b1ba7b9a80cb4b (diff) | |
download | frege-gradle-plugin-feature/intellij-new.tar.gz frege-gradle-plugin-feature/intellij-new.tar.bz2 frege-gradle-plugin-feature/intellij-new.zip |
Interact better with gradle java pluginfeature/intellij-new
-rw-r--r-- | example-project/build.gradle | 1 | ||||
-rw-r--r-- | src/main/java/ch/fhnw/thga/gradleplugins/FregePlugin.java | 15 |
2 files changed, 16 insertions, 0 deletions
diff --git a/example-project/build.gradle b/example-project/build.gradle index 093c54a..b9cf616 100644 --- a/example-project/build.gradle +++ b/example-project/build.gradle @@ -1,5 +1,6 @@ plugins { id 'ch.fhnw.thga.frege' version 'latest' + id 'java' } frege { diff --git a/src/main/java/ch/fhnw/thga/gradleplugins/FregePlugin.java b/src/main/java/ch/fhnw/thga/gradleplugins/FregePlugin.java index 8e2c74f..7b39fba 100644 --- a/src/main/java/ch/fhnw/thga/gradleplugins/FregePlugin.java +++ b/src/main/java/ch/fhnw/thga/gradleplugins/FregePlugin.java @@ -3,9 +3,12 @@ package ch.fhnw.thga.gradleplugins; import org.gradle.api.NamedDomainObjectProvider; import org.gradle.api.Plugin; import org.gradle.api.Project; +import org.gradle.api.Task; import org.gradle.api.artifacts.Configuration; import org.gradle.api.logging.LogLevel; import org.gradle.api.plugins.BasePlugin; +import org.gradle.api.plugins.JavaPluginExtension; +import org.gradle.api.tasks.SourceSet; import org.gradle.api.tasks.TaskProvider; public class FregePlugin implements Plugin<Project> @@ -160,6 +163,18 @@ public class FregePlugin implements Plugin<Project> ); project.afterEvaluate(ignored -> { project.getDependencies().add("implementation", setupFregeCompilerTask.map(SetupFregeTask::getFregeCompilerOutputPath).map(project::files)); + + JavaPluginExtension javaPluginExtension = project.getExtensions().findByType(JavaPluginExtension.class); + if(javaPluginExtension != null) { + SourceSet main = javaPluginExtension.getSourceSets().findByName("main"); + if(main != null) { + main.getOutput().dir(compileFregeTask.get().getOutputs()); + } + } + Task classes = project.getTasks().findByName("classes"); + if(classes != null) { + classes.dependsOn(compileFregeTask); + } }); } } |