diff --git a/aspectj-plugin/src/main/java/io/freefair/gradle/plugins/aspectj/AspectJPlugin.java b/aspectj-plugin/src/main/java/io/freefair/gradle/plugins/aspectj/AspectJPlugin.java index 38f07161..9bac4746 100644 --- a/aspectj-plugin/src/main/java/io/freefair/gradle/plugins/aspectj/AspectJPlugin.java +++ b/aspectj-plugin/src/main/java/io/freefair/gradle/plugins/aspectj/AspectJPlugin.java @@ -7,7 +7,6 @@ import org.gradle.api.file.FileCollection; import org.gradle.api.file.SourceDirectorySet; import org.gradle.api.internal.tasks.DefaultSourceSet; -import org.gradle.api.plugins.JavaBasePlugin; import org.gradle.api.plugins.JavaPlugin; import org.gradle.api.plugins.JavaPluginExtension; import org.gradle.api.plugins.internal.JvmPluginsHelper; @@ -27,6 +26,8 @@ public class AspectJPlugin implements Plugin { private Provider defaultLauncher; + private JavaPluginExtension javaExtension; + @Override public void apply(Project project) { if (project.getPlugins().hasPlugin(AspectJPostCompileWeavingPlugin.class)) { @@ -42,27 +43,32 @@ public void apply(Project project) { this.project = project; project.getPlugins().apply(AspectJBasePlugin.class); - project.getPlugins().apply(JavaBasePlugin.class); + project.getPlugins().apply(JavaPlugin.class); + + configureJavaBasePlugin(project); + + configureJavaPlugin(project); + } - JavaPluginExtension javaExtension = project.getExtensions().getByType(JavaPluginExtension.class); + private void configureJavaBasePlugin(Project project) { + javaExtension = project.getExtensions().getByType(JavaPluginExtension.class); JavaToolchainService service = project.getExtensions().getByType(JavaToolchainService.class); defaultLauncher = service.launcherFor(javaExtension.getToolchain()); javaExtension.getSourceSets().all(this::configureSourceSet); + } - project.getPlugins().withType(JavaPlugin.class, javaPlugin -> { - - SourceSet main = javaExtension.getSourceSets().getByName(SourceSet.MAIN_SOURCE_SET_NAME); - SourceSet test = javaExtension.getSourceSets().getByName(SourceSet.TEST_SOURCE_SET_NAME); + private void configureJavaPlugin(Project project) { + SourceSet main = javaExtension.getSourceSets().getByName(SourceSet.MAIN_SOURCE_SET_NAME); + SourceSet test = javaExtension.getSourceSets().getByName(SourceSet.TEST_SOURCE_SET_NAME); - Configuration aspectpath = project.getConfigurations().getByName(WeavingSourceSet.getAspectConfigurationName(main)); - Configuration testAspectpath = project.getConfigurations().getByName(WeavingSourceSet.getAspectConfigurationName(test)); + Configuration aspectpath = project.getConfigurations().getByName(WeavingSourceSet.getAspectConfigurationName(main)); + Configuration testAspectpath = project.getConfigurations().getByName(WeavingSourceSet.getAspectConfigurationName(test)); - testAspectpath.extendsFrom(aspectpath); + testAspectpath.extendsFrom(aspectpath); - WeavingSourceSet.getAspectPath(test).setFrom(main.getOutput(), testAspectpath); - }); + WeavingSourceSet.getAspectPath(test).setFrom(main.getOutput(), testAspectpath); } private void configureSourceSet(SourceSet sourceSet) { diff --git a/examples/aspectj/aspect/build.gradle b/examples/aspectj/aspect/build.gradle index f09cceb7..f8f19944 100644 --- a/examples/aspectj/aspect/build.gradle +++ b/examples/aspectj/aspect/build.gradle @@ -1,5 +1,3 @@ -apply plugin: "java" -apply plugin: "groovy" apply plugin: "io.freefair.aspectj" dependencies {