|
16 | 16 | import java.util.Collection;
|
17 | 17 | import java.util.Collections;
|
18 | 18 | import java.util.List;
|
19 |
| -import java.util.concurrent.atomic.AtomicReference; |
20 | 19 | import java.util.stream.Collectors;
|
21 | 20 | import javax.inject.Inject;
|
22 | 21 | import org.apache.commons.io.FilenameUtils;
|
23 | 22 | import org.gradle.api.DefaultTask;
|
| 23 | +import org.gradle.api.file.ConfigurableFileCollection; |
| 24 | +import org.gradle.api.file.FileCollection; |
24 | 25 | import org.gradle.api.logging.Logger;
|
25 | 26 | import org.gradle.api.model.ObjectFactory;
|
26 | 27 | import org.gradle.api.provider.ListProperty;
|
27 | 28 | import org.gradle.api.provider.MapProperty;
|
28 | 29 | import org.gradle.api.provider.Property;
|
29 | 30 | import org.gradle.api.tasks.Input;
|
30 | 31 | import org.gradle.api.tasks.InputFiles;
|
| 32 | +import org.gradle.api.tasks.OutputFiles; |
31 | 33 | import org.gradle.api.tasks.TaskAction;
|
32 | 34 | import org.gradle.api.tasks.TaskExecutionException;
|
33 | 35 | import org.gradle.execution.commandline.TaskConfigurationException;
|
@@ -145,17 +147,12 @@ public class JcpTask extends DefaultTask {
|
145 | 147 | /**
|
146 | 148 | * Collection of all files which have been generated during preprocessing.
|
147 | 149 | */
|
148 |
| - private final ListProperty<File> outcomingFiles; |
| 150 | + private final ConfigurableFileCollection outcomingFiles; |
149 | 151 |
|
150 | 152 | /**
|
151 | 153 | * Collection of all files which have been used for preprocessing (including configuration files)
|
152 | 154 | */
|
153 |
| - private final ListProperty<File> incomingFiles; |
154 |
| - |
155 |
| - private final AtomicReference<Iterable<File>> outcomingFilesIterator = |
156 |
| - new AtomicReference<>(Collections.emptyList()); |
157 |
| - private final AtomicReference<Iterable<File>> incomingFilesIterator = |
158 |
| - new AtomicReference<>(Collections.emptyList()); |
| 155 | + private final ConfigurableFileCollection incomingFiles; |
159 | 156 |
|
160 | 157 | @Inject
|
161 | 158 | public JcpTask(final ObjectFactory factory) {
|
@@ -190,18 +187,16 @@ public JcpTask(final ObjectFactory factory) {
|
190 | 187 | this.target = factory.property(File.class).convention(new File(this.getProject().getBuildDir(),
|
191 | 188 | "java-comment-preprocessor" + File.separatorChar + this.getTaskIdentity().name));
|
192 | 189 |
|
193 |
| - this.incomingFiles = factory.listProperty(File.class) |
194 |
| - .value(() -> this.incomingFilesIterator.get().iterator()); |
195 |
| - |
196 |
| - this.outcomingFiles = factory.listProperty(File.class) |
197 |
| - .value(() -> this.outcomingFilesIterator.get().iterator()); |
| 190 | + this.incomingFiles = factory.fileCollection(); |
| 191 | + this.outcomingFiles = factory.fileCollection(); |
198 | 192 | }
|
199 | 193 |
|
200 |
| - public ListProperty<File> getOutcomingFiles() { |
| 194 | + @OutputFiles |
| 195 | + public FileCollection getOutcomingFiles() { |
201 | 196 | return this.outcomingFiles;
|
202 | 197 | }
|
203 | 198 |
|
204 |
| - public ListProperty<File> getIncomingFiles() { |
| 199 | + public FileCollection getIncomingFiles() { |
205 | 200 | return this.incomingFiles;
|
206 | 201 | }
|
207 | 202 |
|
@@ -430,7 +425,7 @@ public void warning(final String message) {
|
430 | 425 | preprocessor.getContext().findAllProducedFiles();
|
431 | 426 | final Collection<File> foundAllInputFiles = preprocessor.getContext().findAllInputFiles();
|
432 | 427 |
|
433 |
| - this.outcomingFilesIterator.set(foundAllGeneratedFiles); |
434 |
| - this.incomingFilesIterator.set(foundAllInputFiles); |
| 428 | + this.outcomingFiles.setFrom(foundAllGeneratedFiles); |
| 429 | + this.incomingFiles.setFrom(foundAllInputFiles); |
435 | 430 | }
|
436 | 431 | }
|
0 commit comments