From c35440e9fde77790411090a25c88f9f73ec823ac Mon Sep 17 00:00:00 2001 From: Lars Grefer Date: Mon, 28 Aug 2023 01:45:52 +0200 Subject: [PATCH] fix deprecation warnings --- .../plugins/aspectj/internal/AspectJRuntime.java | 2 +- .../DefaultAspectjSourceDirectorySet.java | 10 +++++++--- .../aspectj/internal/DefaultAspectjSourceSet.java | 15 +++++++-------- .../aspectj/internal/DefaultWeavingSourceSet.java | 4 ---- .../plugins/maven/war/WarOverlayPlugin.java | 13 ++++++++----- 5 files changed, 23 insertions(+), 21 deletions(-) diff --git a/aspectj-plugin/src/main/java/io/freefair/gradle/plugins/aspectj/internal/AspectJRuntime.java b/aspectj-plugin/src/main/java/io/freefair/gradle/plugins/aspectj/internal/AspectJRuntime.java index 91fc38c3..eb296ebe 100644 --- a/aspectj-plugin/src/main/java/io/freefair/gradle/plugins/aspectj/internal/AspectJRuntime.java +++ b/aspectj-plugin/src/main/java/io/freefair/gradle/plugins/aspectj/internal/AspectJRuntime.java @@ -46,7 +46,7 @@ public AspectJRuntime(Project project) { public FileCollection inferAspectjClasspath(final FileCollection classpath) { // alternatively, we could return project.getLayout().files(Runnable) // would differ in at least the following ways: 1. live 2. no autowiring - return new LazilyInitializedFileCollection() { + return new LazilyInitializedFileCollection(project.getTaskDependencyFactory()) { @Override public String getDisplayName() { diff --git a/aspectj-plugin/src/main/java/io/freefair/gradle/plugins/aspectj/internal/DefaultAspectjSourceDirectorySet.java b/aspectj-plugin/src/main/java/io/freefair/gradle/plugins/aspectj/internal/DefaultAspectjSourceDirectorySet.java index b8ae4de5..dd1f0316 100644 --- a/aspectj-plugin/src/main/java/io/freefair/gradle/plugins/aspectj/internal/DefaultAspectjSourceDirectorySet.java +++ b/aspectj-plugin/src/main/java/io/freefair/gradle/plugins/aspectj/internal/DefaultAspectjSourceDirectorySet.java @@ -3,6 +3,9 @@ import io.freefair.gradle.plugins.aspectj.AspectjSourceDirectorySet; import org.gradle.api.file.SourceDirectorySet; import org.gradle.api.internal.file.DefaultSourceDirectorySet; +import org.gradle.api.internal.tasks.TaskDependencyFactory; + +import javax.inject.Inject; /** @@ -10,8 +13,9 @@ * @see org.gradle.api.internal.tasks.DefaultGroovySourceDirectorySet * @see org.gradle.api.internal.tasks.DefaultScalaSourceDirectorySet */ -public class DefaultAspectjSourceDirectorySet extends DefaultSourceDirectorySet implements AspectjSourceDirectorySet { - public DefaultAspectjSourceDirectorySet(SourceDirectorySet sourceSet) { - super(sourceSet); +public abstract class DefaultAspectjSourceDirectorySet extends DefaultSourceDirectorySet implements AspectjSourceDirectorySet { + @Inject + public DefaultAspectjSourceDirectorySet(SourceDirectorySet sourceDirectorySet, TaskDependencyFactory taskDependencyFactory) { + super(sourceDirectorySet, taskDependencyFactory); } } diff --git a/aspectj-plugin/src/main/java/io/freefair/gradle/plugins/aspectj/internal/DefaultAspectjSourceSet.java b/aspectj-plugin/src/main/java/io/freefair/gradle/plugins/aspectj/internal/DefaultAspectjSourceSet.java index 776e4ed2..42433ef2 100644 --- a/aspectj-plugin/src/main/java/io/freefair/gradle/plugins/aspectj/internal/DefaultAspectjSourceSet.java +++ b/aspectj-plugin/src/main/java/io/freefair/gradle/plugins/aspectj/internal/DefaultAspectjSourceSet.java @@ -1,21 +1,14 @@ package io.freefair.gradle.plugins.aspectj.internal; -import groovy.lang.Closure; import io.freefair.gradle.plugins.aspectj.AspectjSourceDirectorySet; import io.freefair.gradle.plugins.aspectj.AspectjSourceSet; -import io.freefair.gradle.plugins.aspectj.WeavingSourceSet; import lombok.Getter; -import org.gradle.api.Action; import org.gradle.api.file.SourceDirectorySet; import org.gradle.api.internal.tasks.DefaultSourceSet; import org.gradle.api.model.ObjectFactory; import org.gradle.api.reflect.HasPublicType; import org.gradle.api.reflect.TypeOf; import org.gradle.api.tasks.SourceSet; -import org.gradle.internal.deprecation.DeprecationLogger; -import org.gradle.util.ConfigureUtil; - -import javax.annotation.Nullable; /** * @see org.gradle.api.internal.tasks.DefaultGroovySourceSet @@ -29,7 +22,7 @@ public DefaultAspectjSourceSet(ObjectFactory objectFactory, SourceSet sourceSet) String name = sourceSet.getName(); String displayName = ((DefaultSourceSet) sourceSet).getDisplayName(); - AspectjSourceDirectorySet aspectj = new DefaultAspectjSourceDirectorySet(objectFactory.sourceDirectorySet("aspectj", displayName + " AspectJ source")); + AspectjSourceDirectorySet aspectj = createAspectjSourceDirectorySet(name, displayName, objectFactory); aspectj.getFilter().include("**/*.java", "**/*.aj"); SourceDirectorySet allAspectj = objectFactory.sourceDirectorySet("all" + name, displayName + " AspectJ source"); allAspectj.source(aspectj); @@ -39,6 +32,12 @@ public DefaultAspectjSourceSet(ObjectFactory objectFactory, SourceSet sourceSet) sourceSet.getExtensions().add("allAspectj", allAspectj); } + private static AspectjSourceDirectorySet createAspectjSourceDirectorySet(String name, String displayName, ObjectFactory objectFactory) { + AspectjSourceDirectorySet aspectjSourceDirectorySet = objectFactory.newInstance(DefaultAspectjSourceDirectorySet.class, objectFactory.sourceDirectorySet(name, displayName + " AspectJ source")); + aspectjSourceDirectorySet.getFilter().include("**/*.java", "**/*.aj"); + return aspectjSourceDirectorySet; + } + @Override public TypeOf getPublicType() { return TypeOf.typeOf(AspectjSourceSet.class); diff --git a/aspectj-plugin/src/main/java/io/freefair/gradle/plugins/aspectj/internal/DefaultWeavingSourceSet.java b/aspectj-plugin/src/main/java/io/freefair/gradle/plugins/aspectj/internal/DefaultWeavingSourceSet.java index 1d2e6298..de5f4921 100644 --- a/aspectj-plugin/src/main/java/io/freefair/gradle/plugins/aspectj/internal/DefaultWeavingSourceSet.java +++ b/aspectj-plugin/src/main/java/io/freefair/gradle/plugins/aspectj/internal/DefaultWeavingSourceSet.java @@ -15,11 +15,7 @@ @Data public class DefaultWeavingSourceSet implements WeavingSourceSet, HasPublicType { - private final SourceSet sourceSet; - public DefaultWeavingSourceSet(SourceSet sourceSet, ObjectFactory objectFactory) { - this.sourceSet = sourceSet; - sourceSet.getExtensions().add("aspectPath", objectFactory.fileCollection()); sourceSet.getExtensions().add("inPath", objectFactory.fileCollection()); } diff --git a/maven-plugin/src/main/java/io/freefair/gradle/plugins/maven/war/WarOverlayPlugin.java b/maven-plugin/src/main/java/io/freefair/gradle/plugins/maven/war/WarOverlayPlugin.java index 59ff821c..7eb15a81 100644 --- a/maven-plugin/src/main/java/io/freefair/gradle/plugins/maven/war/WarOverlayPlugin.java +++ b/maven-plugin/src/main/java/io/freefair/gradle/plugins/maven/war/WarOverlayPlugin.java @@ -10,9 +10,11 @@ import org.gradle.api.artifacts.ProjectDependency; import org.gradle.api.file.ConfigurableFileCollection; import org.gradle.api.file.CopySpec; +import org.gradle.api.file.Directory; import org.gradle.api.file.FileTree; import org.gradle.api.internal.file.copy.CopySpecInternal; import org.gradle.api.plugins.WarPlugin; +import org.gradle.api.provider.Provider; import org.gradle.api.tasks.Sync; import org.gradle.api.tasks.bundling.AbstractArchiveTask; import org.gradle.api.tasks.bundling.War; @@ -122,10 +124,11 @@ private void configureOverlay(WarOverlay overlay, ExternalDependency dependency) private void configureOverlay(WarOverlay overlay, Callable warTree) { War warTask = overlay.getWarTask(); - String capitalizedWarTaskName = StringGroovyMethods.capitalize((CharSequence) warTask.getName()); - String capitalizedOverlayName = StringGroovyMethods.capitalize((CharSequence) overlay.getName()); + String capitalizedWarTaskName = StringGroovyMethods.capitalize(warTask.getName()); + String capitalizedOverlayName = StringGroovyMethods.capitalize(overlay.getName()); + + Provider destinationDir = project.getLayout().getBuildDirectory().dir(String.format("overlays/%s/%s", warTask.getName(), overlay.getName())); - File destinationDir = new File(project.getBuildDir(), String.format("overlays/%s/%s", warTask.getName(), overlay.getName())); Action extractOverlay = copySpec -> { copySpec.into(destinationDir); copySpec.from(warTree); @@ -137,13 +140,13 @@ private void configureOverlay(WarOverlay overlay, Callable warTree) { if (overlay.isEnableCompilation()) { - if (!destinationDir.exists() || isEmpty(destinationDir)) { + if (!destinationDir.get().getAsFile().exists() || isEmpty(destinationDir.get().getAsFile())) { project.sync(extractOverlay); } project.getTasks().getByName(CLEAN_TASK_NAME).finalizedBy(extractOverlayTask); - ConfigurableFileCollection classes = project.files(new File(destinationDir, "WEB-INF/classes")) + ConfigurableFileCollection classes = project.files(destinationDir.get().dir("WEB-INF/classes")) .builtBy(extractOverlayTask); project.getDependencies().add(getClasspathConfigurationName(overlay), classes);