Skip to content

Commit 13b87da

Browse files
committed
refactoring
1 parent 6cb7e97 commit 13b87da

File tree

1 file changed

+12
-17
lines changed

1 file changed

+12
-17
lines changed

jcp/src/main/java/com/igormaznitsa/jcp/gradle/JcpTask.java

+12-17
Original file line numberDiff line numberDiff line change
@@ -16,18 +16,20 @@
1616
import java.util.Collection;
1717
import java.util.Collections;
1818
import java.util.List;
19-
import java.util.concurrent.atomic.AtomicReference;
2019
import java.util.stream.Collectors;
2120
import javax.inject.Inject;
2221
import org.apache.commons.io.FilenameUtils;
2322
import org.gradle.api.DefaultTask;
23+
import org.gradle.api.file.ConfigurableFileCollection;
24+
import org.gradle.api.file.FileCollection;
2425
import org.gradle.api.logging.Logger;
2526
import org.gradle.api.model.ObjectFactory;
2627
import org.gradle.api.provider.ListProperty;
2728
import org.gradle.api.provider.MapProperty;
2829
import org.gradle.api.provider.Property;
2930
import org.gradle.api.tasks.Input;
3031
import org.gradle.api.tasks.InputFiles;
32+
import org.gradle.api.tasks.OutputFiles;
3133
import org.gradle.api.tasks.TaskAction;
3234
import org.gradle.api.tasks.TaskExecutionException;
3335
import org.gradle.execution.commandline.TaskConfigurationException;
@@ -145,17 +147,12 @@ public class JcpTask extends DefaultTask {
145147
/**
146148
* Collection of all files which have been generated during preprocessing.
147149
*/
148-
private final ListProperty<File> outcomingFiles;
150+
private final ConfigurableFileCollection outcomingFiles;
149151

150152
/**
151153
* Collection of all files which have been used for preprocessing (including configuration files)
152154
*/
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;
159156

160157
@Inject
161158
public JcpTask(final ObjectFactory factory) {
@@ -190,18 +187,16 @@ public JcpTask(final ObjectFactory factory) {
190187
this.target = factory.property(File.class).convention(new File(this.getProject().getBuildDir(),
191188
"java-comment-preprocessor" + File.separatorChar + this.getTaskIdentity().name));
192189

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();
198192
}
199193

200-
public ListProperty<File> getOutcomingFiles() {
194+
@OutputFiles
195+
public FileCollection getOutcomingFiles() {
201196
return this.outcomingFiles;
202197
}
203198

204-
public ListProperty<File> getIncomingFiles() {
199+
public FileCollection getIncomingFiles() {
205200
return this.incomingFiles;
206201
}
207202

@@ -430,7 +425,7 @@ public void warning(final String message) {
430425
preprocessor.getContext().findAllProducedFiles();
431426
final Collection<File> foundAllInputFiles = preprocessor.getContext().findAllInputFiles();
432427

433-
this.outcomingFilesIterator.set(foundAllGeneratedFiles);
434-
this.incomingFilesIterator.set(foundAllInputFiles);
428+
this.outcomingFiles.setFrom(foundAllGeneratedFiles);
429+
this.incomingFiles.setFrom(foundAllInputFiles);
435430
}
436431
}

0 commit comments

Comments
 (0)