aboutsummaryrefslogtreecommitdiff
path: root/src/main/groovy/frege/gradle/plugins/FregePlugin.groovy
diff options
context:
space:
mode:
authorRene Groeschke <rene@gradle.com>2015-11-21 00:59:06 +0000
committerRene Groeschke <rene@gradle.com>2015-11-21 00:59:30 +0000
commitd47c934650540277c911514d4cf7ddf55a69492a (patch)
tree600a74141be47081049f1441de260f09436d17cb /src/main/groovy/frege/gradle/plugins/FregePlugin.groovy
parentb53817cd366bdd15ec142fc880fe68c7e5ea00a1 (diff)
downloadfrege-gradle-plugin-d47c934650540277c911514d4cf7ddf55a69492a.tar.gz
frege-gradle-plugin-d47c934650540277c911514d4cf7ddf55a69492a.tar.bz2
frege-gradle-plugin-d47c934650540277c911514d4cf7ddf55a69492a.zip
create frege compile task per sourceSet
Diffstat (limited to 'src/main/groovy/frege/gradle/plugins/FregePlugin.groovy')
-rw-r--r--src/main/groovy/frege/gradle/plugins/FregePlugin.groovy34
1 files changed, 34 insertions, 0 deletions
diff --git a/src/main/groovy/frege/gradle/plugins/FregePlugin.groovy b/src/main/groovy/frege/gradle/plugins/FregePlugin.groovy
new file mode 100644
index 0000000..af05228
--- /dev/null
+++ b/src/main/groovy/frege/gradle/plugins/FregePlugin.groovy
@@ -0,0 +1,34 @@
+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
+
+class FregePlugin implements Plugin<Project> {
+
+ Project project
+
+ void apply(Project project) {
+ this.project = project
+
+ project.plugins.apply(FregeBasePlugin)
+ project.plugins.apply("java")
+
+ def replTask = project.task('fregeRepl', type: FregeRepl, group: 'Tools', dependsOn: 'compileFrege')
+ replTask.outputs.upToDateWhen { false } // always run, regardless of up to date checks
+
+ def checkTask = project.task('fregeQuickCheck', type: FregeQuickCheck, group: 'Verification', dependsOn: 'testClasses')
+ checkTask.outputs.upToDateWhen { false } // always run, regardless of up to date checks
+
+ project.tasks.test.dependsOn("fregeQuickCheck")
+
+ project.task('fregeDoc', type: FregeDoc, group: 'Documentation', dependsOn: 'compileFrege')
+
+ project.task('fregeNativeGen', type: FregeNativeGen, group: 'Tools')
+
+ }
+
+}