|
9 | 9 | import org.gradle.api.Task;
|
10 | 10 | import org.gradle.api.artifacts.Configuration;
|
11 | 11 | import org.gradle.api.execution.TaskExecutionGraph;
|
| 12 | +import org.gradle.api.file.ProjectLayout; |
| 13 | +import org.gradle.api.file.RegularFile; |
12 | 14 | import org.gradle.api.internal.ConventionMapping;
|
13 | 15 | import org.gradle.api.internal.IConventionAware;
|
14 | 16 | import org.gradle.api.logging.Logger;
|
15 | 17 | import org.gradle.api.logging.Logging;
|
16 | 18 | import org.gradle.api.plugins.JavaBasePlugin;
|
17 | 19 | import org.gradle.api.plugins.JavaPluginConvention;
|
18 | 20 | import org.gradle.api.plugins.ReportingBasePlugin;
|
| 21 | +import org.gradle.api.provider.Provider; |
| 22 | +import org.gradle.api.provider.ProviderFactory; |
19 | 23 | import org.gradle.api.reporting.ReportingExtension;
|
20 | 24 | import org.gradle.api.tasks.TaskProvider;
|
21 | 25 | import org.gradle.language.base.plugins.LifecycleBasePlugin;
|
22 | 26 |
|
23 | 27 | import static java.util.Collections.reverseOrder;
|
| 28 | +import static org.gradle.api.internal.lambdas.SerializableLambdas.action; |
24 | 29 |
|
25 | 30 | /**
|
26 | 31 | * A plugin for the finding duplicate code using <a href="http://pmd.sourceforge.net/cpd-usage.html">CPD</a> source code analyzer (which is
|
@@ -118,9 +123,11 @@ private void setupTaskDefaults(Project project, CpdExtension extension) {
|
118 | 123 | ConventionMapping extensionMapping = ((IConventionAware) extension).getConventionMapping();
|
119 | 124 | extensionMapping.map("reportsDir", () -> project.getExtensions().getByType(ReportingExtension.class).file("cpd"));
|
120 | 125 |
|
| 126 | + ProjectLayout layout = project.getLayout(); |
| 127 | + ProviderFactory providers = project.getProviders(); |
121 | 128 | task.getReports().all(report -> {
|
122 | 129 | report.getRequired().convention("xml".equals(report.getName()));
|
123 |
| - report.getOutputLocation().convention(project.getLayout().getProjectDirectory().file(project.provider(() -> |
| 130 | + report.getOutputLocation().convention(layout.getProjectDirectory().file(providers.provider(() -> |
124 | 131 | new File(extension.getReportsDir(), task.getName() + "." + report.getName()).getAbsolutePath())));
|
125 | 132 | });
|
126 | 133 | });
|
|
0 commit comments