aboutsummaryrefslogtreecommitdiff
path: root/src/main/groovy/frege/gradle/plugins
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/groovy/frege/gradle/plugins')
-rw-r--r--src/main/groovy/frege/gradle/plugins/FregeBasePlugin.java1
-rw-r--r--src/main/groovy/frege/gradle/plugins/FregePlugin.groovy20
2 files changed, 19 insertions, 2 deletions
diff --git a/src/main/groovy/frege/gradle/plugins/FregeBasePlugin.java b/src/main/groovy/frege/gradle/plugins/FregeBasePlugin.java
index a2ebc25..6d7a639 100644
--- a/src/main/groovy/frege/gradle/plugins/FregeBasePlugin.java
+++ b/src/main/groovy/frege/gradle/plugins/FregeBasePlugin.java
@@ -71,6 +71,7 @@ public class FregeBasePlugin implements Plugin<Project> {
compile.setDescription(String.format("Compiles the %s Frege source.", sourceSet.getName()));
compile.setSource(fregeSourceSet.getFrege());
project.getTasks().getByName(sourceSet.getClassesTaskName()).dependsOn(compileTaskName);
+ sourceSet.compiledBy(compile);
}
});
}
diff --git a/src/main/groovy/frege/gradle/plugins/FregePlugin.groovy b/src/main/groovy/frege/gradle/plugins/FregePlugin.groovy
index 88864cc..13c1e9a 100644
--- a/src/main/groovy/frege/gradle/plugins/FregePlugin.groovy
+++ b/src/main/groovy/frege/gradle/plugins/FregePlugin.groovy
@@ -1,11 +1,13 @@
package frege.gradle.plugins
-
import frege.gradle.tasks.FregeDoc
import frege.gradle.tasks.FregeNativeGen
import frege.gradle.tasks.FregeQuickCheck
import frege.gradle.tasks.FregeRepl
import org.gradle.api.Plugin
import org.gradle.api.Project
+import org.gradle.api.file.FileCollection
+import org.gradle.api.tasks.SourceSet
+import org.gradle.api.tasks.util.PatternSet
class FregePlugin implements Plugin<Project> {
@@ -25,10 +27,24 @@ class FregePlugin implements Plugin<Project> {
project.tasks.test.dependsOn("fregeQuickCheck")
- project.task('fregeDoc', type: FregeDoc, group: 'frege', dependsOn: 'compileFrege')
+
+ configureFregeDoc()
project.task('fregeNativeGen', type: FregeNativeGen, group: 'frege')
}
+ def configureFregeDoc() {
+ FregeDoc fregeDoc = project.tasks.create('fregeDoc', FregeDoc)
+ fregeDoc.group = 'frege'
+ fregeDoc.dependsOn "compileFrege" // TODO remove
+ SourceSet mainSourceSet = project.sourceSets.main
+ fregeDoc.module = mainSourceSet.output.classesDir.absolutePath
+ fregeDoc.classpath = mainSourceSet.runtimeClasspath
+ }
+
+
+ FileCollection findJavaModulesToExclude(SourceSet sourceSet) {
+ return sourceSet.allJava.asFileTree.matching { PatternSet pattern -> pattern.include("**/*.java")}
+ }
}