aboutsummaryrefslogtreecommitdiff
path: root/src/main/groovy/frege/gradle/DefaultFregeSourceSet.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/groovy/frege/gradle/DefaultFregeSourceSet.java')
-rw-r--r--src/main/groovy/frege/gradle/DefaultFregeSourceSet.java33
1 files changed, 33 insertions, 0 deletions
diff --git a/src/main/groovy/frege/gradle/DefaultFregeSourceSet.java b/src/main/groovy/frege/gradle/DefaultFregeSourceSet.java
new file mode 100644
index 0000000..3a9bcfc
--- /dev/null
+++ b/src/main/groovy/frege/gradle/DefaultFregeSourceSet.java
@@ -0,0 +1,33 @@
+package frege.gradle;
+
+import groovy.lang.Closure;
+import org.gradle.api.file.SourceDirectorySet;
+import org.gradle.api.internal.file.DefaultSourceDirectorySet;
+import org.gradle.api.internal.file.FileResolver;
+import org.gradle.util.ConfigureUtil;
+
+public class DefaultFregeSourceSet implements FregeSourceSet {
+ private final SourceDirectorySet frege;
+ private final SourceDirectorySet allFrege;
+
+ public DefaultFregeSourceSet(String displayName, FileResolver fileResolver) {
+ this.frege = new DefaultSourceDirectorySet(String.format("%s Frege source", new Object[]{displayName}), fileResolver);
+ this.frege.getFilter().include(new String[]{"**/*.fr"});
+ this.allFrege = new DefaultSourceDirectorySet(String.format("%s Frege source", new Object[]{displayName}), fileResolver);
+ this.allFrege.source(this.frege);
+ this.allFrege.getFilter().include(new String[]{"**/*.fr"});
+ }
+
+ public SourceDirectorySet getFrege() {
+ return this.frege;
+ }
+
+ public FregeSourceSet frege(Closure configureClosure) {
+ ConfigureUtil.configure(configureClosure, this.getFrege());
+ return this;
+ }
+
+ public SourceDirectorySet getAllFrege() {
+ return this.allFrege;
+ }
+}