|
|
@@ -23,7 +23,9 @@ import java.io.IOException;
|
|
|
import java.nio.charset.StandardCharsets;
|
|
|
import java.nio.file.Files;
|
|
|
import java.nio.file.StandardOpenOption;
|
|
|
+import java.util.ArrayList;
|
|
|
import java.util.LinkedHashSet;
|
|
|
+import java.util.List;
|
|
|
|
|
|
import org.gradle.api.DefaultTask;
|
|
|
import org.gradle.api.file.FileTree;
|
|
|
@@ -50,6 +52,8 @@ public class ConcatFilesTask extends DefaultTask {
|
|
|
|
|
|
private File target;
|
|
|
|
|
|
+ private List<String> additionalLines = new ArrayList<>();
|
|
|
+
|
|
|
public void setFiles(FileTree files) {
|
|
|
this.files = files;
|
|
|
}
|
|
|
@@ -78,6 +82,15 @@ public class ConcatFilesTask extends DefaultTask {
|
|
|
return target;
|
|
|
}
|
|
|
|
|
|
+ @Input
|
|
|
+ public List<String> getAdditionalLines() {
|
|
|
+ return additionalLines;
|
|
|
+ }
|
|
|
+
|
|
|
+ public void setAdditionalLines(List<String> additionalLines) {
|
|
|
+ this.additionalLines = additionalLines;
|
|
|
+ }
|
|
|
+
|
|
|
@TaskAction
|
|
|
public void concatFiles() throws IOException {
|
|
|
if (getHeaderLine() != null) {
|
|
|
@@ -90,6 +103,10 @@ public class ConcatFilesTask extends DefaultTask {
|
|
|
uniqueLines.addAll(Files.readAllLines(f.toPath(), StandardCharsets.UTF_8));
|
|
|
}
|
|
|
Files.write(getTarget().toPath(), uniqueLines, StandardCharsets.UTF_8, StandardOpenOption.APPEND);
|
|
|
+
|
|
|
+ for (String additionalLine : additionalLines) {
|
|
|
+ Files.write(getTarget().toPath(), (additionalLine + '\n').getBytes(StandardCharsets.UTF_8), StandardOpenOption.APPEND);
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
}
|