aboutsummaryrefslogtreecommitdiff
path: root/src/main/groovy/frege
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/groovy/frege')
-rw-r--r--src/main/groovy/frege/gradle/CompileTask.groovy2
-rw-r--r--src/main/groovy/frege/gradle/FregeBasePlugin.groovy17
-rw-r--r--src/main/groovy/frege/gradle/FregePlugin.groovy11
3 files changed, 20 insertions, 10 deletions
diff --git a/src/main/groovy/frege/gradle/CompileTask.groovy b/src/main/groovy/frege/gradle/CompileTask.groovy
index 07850a5..d297d3d 100644
--- a/src/main/groovy/frege/gradle/CompileTask.groovy
+++ b/src/main/groovy/frege/gradle/CompileTask.groovy
@@ -81,7 +81,7 @@ class CompileTask extends DefaultTask {
@Optional @Input
List<File> fregePaths = []
- @Optional @Input
+ @InputFiles
List<File> sourcePaths = [deduceSourceDir(project)]
@Optional @OutputDirectory
diff --git a/src/main/groovy/frege/gradle/FregeBasePlugin.groovy b/src/main/groovy/frege/gradle/FregeBasePlugin.groovy
new file mode 100644
index 0000000..5af7a86
--- /dev/null
+++ b/src/main/groovy/frege/gradle/FregeBasePlugin.groovy
@@ -0,0 +1,17 @@
+package frege.gradle
+
+import org.gradle.api.Plugin
+import org.gradle.api.Project
+import org.gradle.api.plugins.JavaBasePlugin
+
+class FregeBasePlugin implements Plugin<Project> {
+ static String EXTENSION_NAME = "frege"
+
+ @Override
+ void apply(Project project) {
+ // Workaround to build proper jars on Windows, see https://github.com/Frege/frege-gradle-plugin/issues/9
+ System.setProperty("file.encoding", "UTF-8")
+ project.getPluginManager().apply(JavaBasePlugin.class);
+ project.extensions.create(EXTENSION_NAME, FregePluginExtension)
+ }
+}
diff --git a/src/main/groovy/frege/gradle/FregePlugin.groovy b/src/main/groovy/frege/gradle/FregePlugin.groovy
index 29be393..e8ee2d5 100644
--- a/src/main/groovy/frege/gradle/FregePlugin.groovy
+++ b/src/main/groovy/frege/gradle/FregePlugin.groovy
@@ -1,20 +1,13 @@
package frege.gradle
-
-import groovy.transform.TypeChecked
+import fj.data.Option
import org.gradle.api.Plugin
import org.gradle.api.Project
-import fj.data.Option
-import org.gradle.api.plugins.JavaPlugin
-
//@TypeChecked
class FregePlugin implements Plugin<Project> {
void apply(Project project) {
- // Workaround to build proper jars on Windows, see https://github.com/Frege/frege-gradle-plugin/issues/9
- System.setProperty("file.encoding", "UTF-8")
- project.plugins.apply(JavaPlugin)
- def e = (FregePluginExtension) project.extensions.create("frege", FregePluginExtension)
+ project.plugins.apply(FregeBasePlugin)
project.task('compileFrege', type: CompileTask, group: 'Build', dependsOn: "compileJava") {
module = CompileTask.deduceSourceDir(project).absolutePath