|
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