From 3f37467241fa20e1789569050d39bbda21093757 Mon Sep 17 00:00:00 2001 From: Mark Perry Date: Tue, 17 Feb 2015 00:36:45 +1000 Subject: Changed package name to frege.gradle to match frege compiler package names --- src/main/groovy/frege/gradle/FregePlugin.groovy | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 src/main/groovy/frege/gradle/FregePlugin.groovy (limited to 'src/main/groovy/frege/gradle/FregePlugin.groovy') diff --git a/src/main/groovy/frege/gradle/FregePlugin.groovy b/src/main/groovy/frege/gradle/FregePlugin.groovy new file mode 100644 index 0000000..b509651 --- /dev/null +++ b/src/main/groovy/frege/gradle/FregePlugin.groovy @@ -0,0 +1,18 @@ +package frege.gradle + +import org.gradle.api.Plugin +import org.gradle.api.Project + +class FregePlugin implements Plugin { + + void apply(Project project) { + project.apply(plugin: 'base') + def e = (FregePluginExtension) project.extensions.create("frege", FregePluginExtension) + + project.task('compileFrege', type: FregeTask, group: 'Build') << { + + } + project.tasks.classes.dependsOn("compileFrege") + } + +} -- cgit From 30d26acee36fa71b72651746a3eb25a18f825d4f Mon Sep 17 00:00:00 2001 From: Mark Perry Date: Tue, 17 Feb 2015 23:26:59 +1000 Subject: Added repl task named fregeRepl --- build.gradle | 2 ++ src/main/groovy/frege/gradle/FregePlugin.groovy | 2 ++ src/main/groovy/frege/gradle/ReplTask.groovy | 16 ++++++++++++++++ 3 files changed, 20 insertions(+) create mode 100644 src/main/groovy/frege/gradle/ReplTask.groovy (limited to 'src/main/groovy/frege/gradle/FregePlugin.groovy') diff --git a/build.gradle b/build.gradle index 1ff2833..81b0c99 100644 --- a/build.gradle +++ b/build.gradle @@ -18,6 +18,7 @@ apply from: "gradle/sonatype.gradle" repositories { mavenCentral() + mavenLocal() } version = pluginVersion @@ -25,6 +26,7 @@ group = groupName dependencies { compile "com.theoryinpractise.frege:frege:$fregeVersion$fregeClassifier" + compile "frege:frege-repl-core:1.1.1-SNAPSHOT" compile gradleApi() compile localGroovy() } diff --git a/src/main/groovy/frege/gradle/FregePlugin.groovy b/src/main/groovy/frege/gradle/FregePlugin.groovy index b509651..5435886 100644 --- a/src/main/groovy/frege/gradle/FregePlugin.groovy +++ b/src/main/groovy/frege/gradle/FregePlugin.groovy @@ -13,6 +13,8 @@ class FregePlugin implements Plugin { } project.tasks.classes.dependsOn("compileFrege") + + project.task('fregeRepl', type: ReplTask) } } diff --git a/src/main/groovy/frege/gradle/ReplTask.groovy b/src/main/groovy/frege/gradle/ReplTask.groovy new file mode 100644 index 0000000..3a44fa4 --- /dev/null +++ b/src/main/groovy/frege/gradle/ReplTask.groovy @@ -0,0 +1,16 @@ +package frege.gradle + +import frege.repl.* +import org.gradle.api.DefaultTask +import org.gradle.api.tasks.TaskAction + +/** + * Created by MarkPerry on 17/02/2015. + */ +public class ReplTask extends DefaultTask { + + @TaskAction + void repl() { + frege.repl.FregeRepl.main(null) + } +} -- cgit From ab0e4dc9c475b8248fb41394c3e5c4a205d93eb0 Mon Sep 17 00:00:00 2001 From: Mark Perry Date: Wed, 18 Feb 2015 01:40:40 +1000 Subject: Added native code generation tool task --- build.gradle | 1 + src/main/groovy/frege/gradle/FregePlugin.groovy | 2 ++ src/main/groovy/frege/gradle/NativeGenTask.groovy | 25 +++++++++++++++++++++++ 3 files changed, 28 insertions(+) create mode 100644 src/main/groovy/frege/gradle/NativeGenTask.groovy (limited to 'src/main/groovy/frege/gradle/FregePlugin.groovy') diff --git a/build.gradle b/build.gradle index 81b0c99..b7f1463 100644 --- a/build.gradle +++ b/build.gradle @@ -27,6 +27,7 @@ group = groupName dependencies { compile "com.theoryinpractise.frege:frege:$fregeVersion$fregeClassifier" compile "frege:frege-repl-core:1.1.1-SNAPSHOT" + compile "frege:native-gen:1.0-SNAPSHOT" compile gradleApi() compile localGroovy() } diff --git a/src/main/groovy/frege/gradle/FregePlugin.groovy b/src/main/groovy/frege/gradle/FregePlugin.groovy index 5435886..e120faf 100644 --- a/src/main/groovy/frege/gradle/FregePlugin.groovy +++ b/src/main/groovy/frege/gradle/FregePlugin.groovy @@ -15,6 +15,8 @@ class FregePlugin implements Plugin { project.tasks.classes.dependsOn("compileFrege") project.task('fregeRepl', type: ReplTask) + project.task('fregeNativeGen', type: NativeGenTask) + } } diff --git a/src/main/groovy/frege/gradle/NativeGenTask.groovy b/src/main/groovy/frege/gradle/NativeGenTask.groovy new file mode 100644 index 0000000..6c8acc4 --- /dev/null +++ b/src/main/groovy/frege/gradle/NativeGenTask.groovy @@ -0,0 +1,25 @@ +package frege.gradle + +import org.gradle.api.DefaultTask +import org.gradle.api.tasks.TaskAction + +import frege.nativegen.* + +/** + * Created by MarkPerry on 18/02/2015. + */ +class NativeGenTask extends DefaultTask { + + String filename = "types.properties" + + String clazz = null + + + @TaskAction + void gen() { + + frege.nativegen.Main.main([clazz] as String[]) + } + + +} -- cgit