aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorDierk Koenig <dierk.koenig@canoo.com>2015-02-24 00:25:21 +0100
committerDierk Koenig <dierk.koenig@canoo.com>2015-02-24 00:25:21 +0100
commitb563f27267f9fee7756284feb60797c04e6316cf (patch)
treeeee5233778c782c44f429881ab7ac3945c6631eb /src
parent27e2877f5b31b6c1fa387a46c20dc4cd40227ca5 (diff)
parent38d0cb914a1984b8470cf95abd480cc191cae812 (diff)
downloadfrege-gradle-plugin-b563f27267f9fee7756284feb60797c04e6316cf.tar.gz
frege-gradle-plugin-b563f27267f9fee7756284feb60797c04e6316cf.tar.bz2
frege-gradle-plugin-b563f27267f9fee7756284feb60797c04e6316cf.zip
Merge remote-tracking branch 'origin/master'
Conflicts: src/main/groovy/frege/gradle/FregePlugin.groovy
Diffstat (limited to 'src')
-rw-r--r--src/main/groovy/frege/gradle/FregePlugin.groovy (renamed from src/main/groovy/org/gradle/frege/FregePlugin.groovy)6
-rw-r--r--src/main/groovy/frege/gradle/FregePluginExtension.groovy (renamed from src/main/groovy/org/gradle/frege/FregePluginExtension.groovy)2
-rw-r--r--src/main/groovy/frege/gradle/FregeTask.groovy (renamed from src/main/groovy/org/gradle/frege/FregeTask.groovy)19
-rw-r--r--src/main/groovy/frege/gradle/NativeGenTask.groovy25
-rw-r--r--src/main/groovy/frege/gradle/ReplTask.groovy16
-rw-r--r--src/main/resources/META-INF/gradle-plugins/frege.properties2
6 files changed, 58 insertions, 12 deletions
diff --git a/src/main/groovy/org/gradle/frege/FregePlugin.groovy b/src/main/groovy/frege/gradle/FregePlugin.groovy
index 16bcecf..e2777ed 100644
--- a/src/main/groovy/org/gradle/frege/FregePlugin.groovy
+++ b/src/main/groovy/frege/gradle/FregePlugin.groovy
@@ -1,4 +1,4 @@
-package org.gradle.frege
+package frege.gradle
import org.gradle.api.Plugin
import org.gradle.api.Project
@@ -17,6 +17,10 @@ class FregePlugin implements Plugin<Project> {
def oFR = project.task('openFregeRepl', type: FregeReplTask, group: 'Runtime', dependsOn: 'classes')
oFR.outputs.upToDateWhen { false }
+
+ project.task('fregeRepl', type: ReplTask)
+ project.task('fregeNativeGen', type: NativeGenTask)
+
}
}
diff --git a/src/main/groovy/org/gradle/frege/FregePluginExtension.groovy b/src/main/groovy/frege/gradle/FregePluginExtension.groovy
index db81a41..dbf0d2a 100644
--- a/src/main/groovy/org/gradle/frege/FregePluginExtension.groovy
+++ b/src/main/groovy/frege/gradle/FregePluginExtension.groovy
@@ -1,4 +1,4 @@
-package org.gradle.frege
+package frege.gradle
/**
* Created by mperry on 6/02/2015.
diff --git a/src/main/groovy/org/gradle/frege/FregeTask.groovy b/src/main/groovy/frege/gradle/FregeTask.groovy
index df4f7d6..fc3152d 100644
--- a/src/main/groovy/org/gradle/frege/FregeTask.groovy
+++ b/src/main/groovy/frege/gradle/FregeTask.groovy
@@ -1,4 +1,4 @@
-package org.gradle.frege
+package frege.gradle
import org.gradle.api.DefaultTask
import org.gradle.api.tasks.*
@@ -37,17 +37,13 @@ class FregeTask extends DefaultTask {
String module = ""
@Optional @InputDirectory
- File sourceDir = new File(project.projectDir, DEFAULT_SRC_DIR)
+ File sourceDir = new File(project.projectDir, DEFAULT_SRC_DIR).exists() ? new File(project.projectDir, DEFAULT_SRC_DIR) : null
@Optional @OutputDirectory
File outputDir = new File(project.buildDir, DEFAULT_CLASSES_SUBDIR)
@TaskAction
void executeCompile() {
-
- if (! sourceDir.exists() ) {
- throw new StopActionException("Source directory '${sourceDir.absolutePath}' does not exist. Cannot compile Frege code.")
- }
if (! outputDir.exists() ) {
logger.info "Creating output directory '${outputDir.absolutePath}'."
outputDir.mkdirs()
@@ -80,15 +76,20 @@ class FregeTask extends DefaultTask {
if (skipCompile)
args << "-j"
- args << "-sp"
- args << sourceDir.absolutePath
+ if (sourceDir != null) {
+ args << "-sp"
+ args << sourceDir.absolutePath
+ }
args << "-d"
args << outputDir
if (!module && !extraArgs) {
logger.info "no module and no extra args given: compiling all of the sourceDir"
- args << sourceDir.absolutePath
+ if (sourceDir != null) {
+ args << sourceDir.absolutePath
+ }
+
} else if (module) {
logger.info "compiling module '$module'"
args << module
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[])
+ }
+
+
+}
diff --git a/src/main/groovy/frege/gradle/ReplTask.groovy b/src/main/groovy/frege/gradle/ReplTask.groovy
new file mode 100644
index 0000000..eb47944
--- /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([] as String[])
+ }
+}
diff --git a/src/main/resources/META-INF/gradle-plugins/frege.properties b/src/main/resources/META-INF/gradle-plugins/frege.properties
index cc3210c..25a44ac 100644
--- a/src/main/resources/META-INF/gradle-plugins/frege.properties
+++ b/src/main/resources/META-INF/gradle-plugins/frege.properties
@@ -1 +1 @@
-implementation-class=org.gradle.frege.FregePlugin
+implementation-class=frege.gradle.FregePlugin