aboutsummaryrefslogtreecommitdiff
path: root/src/main
diff options
context:
space:
mode:
authorRene Groeschke <rene@gradle.com>2015-11-18 23:36:21 +0000
committerRene Groeschke <rene@gradle.com>2015-11-18 23:36:21 +0000
commitb53817cd366bdd15ec142fc880fe68c7e5ea00a1 (patch)
tree97b6347504669a5e240294f7266e8897f2d697c1 /src/main
parentfa6dce676590c83bc84d130e1241cf585f88a469 (diff)
downloadfrege-gradle-plugin-b53817cd366bdd15ec142fc880fe68c7e5ea00a1.tar.gz
frege-gradle-plugin-b53817cd366bdd15ec142fc880fe68c7e5ea00a1.tar.bz2
frege-gradle-plugin-b53817cd366bdd15ec142fc880fe68c7e5ea00a1.zip
introduce frege-base plugin for basic frege functionality
Diffstat (limited to 'src/main')
-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
-rw-r--r--src/main/resources/META-INF/gradle-plugins/org.frege-lang.base.properties1
4 files changed, 21 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
diff --git a/src/main/resources/META-INF/gradle-plugins/org.frege-lang.base.properties b/src/main/resources/META-INF/gradle-plugins/org.frege-lang.base.properties
new file mode 100644
index 0000000..6ab972a
--- /dev/null
+++ b/src/main/resources/META-INF/gradle-plugins/org.frege-lang.base.properties
@@ -0,0 +1 @@
+implementation-class=frege.gradle.FregeBasePlugin