summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--build.gradle12
-rw-r--r--gradle/sonatype.gradle18
-rw-r--r--gradle/wrapper/gradle-wrapper.properties2
-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
9 files changed, 78 insertions, 24 deletions
diff --git a/build.gradle b/build.gradle
index 46699f6..8ae12bc 100644
--- a/build.gradle
+++ b/build.gradle
@@ -5,19 +5,25 @@ apply plugin: "signing"
defaultTasks "build"
ext {
- baseVersion = "0.2"
+ baseVersion = "0.1"
isSnapshot = true
snapshotAppendix = "-SNAPSHOT"
pluginVersion = baseVersion + (isSnapshot ? snapshotAppendix : "")
- fregeVersion = "3.22.367"
+ fregeBaseVersion = "3.22.367"
fregeClassifier = "-g2737683"
+ fregeVersion = "$fregeBaseVersion$fregeClassifier"
+ sonatypeUrl = "https://oss.sonatype.org/content/groups/public"
}
apply from: "gradle/sonatype.gradle"
repositories {
mavenCentral()
+ mavenLocal()
+ maven {
+ url = sonatypeUrl
+ }
}
version = pluginVersion
@@ -25,6 +31,8 @@ group = groupName
dependencies {
compile "com.theoryinpractise.frege:frege:$fregeVersion$fregeClassifier"
+ compile "frege:frege-repl-core:1.1.1-SNAPSHOT"
+ compile "com.github.mperry.frege:native-gen:0.1-SNAPSHOT"
compile gradleApi()
compile localGroovy()
diff --git a/gradle/sonatype.gradle b/gradle/sonatype.gradle
index 528bc04..f0cf569 100644
--- a/gradle/sonatype.gradle
+++ b/gradle/sonatype.gradle
@@ -7,18 +7,18 @@ ext {
sonatypeReleaseUrl = "$sonatypeBaseUrl/service/local/staging/deploy/maven2/"
sonatypeUploadUrl = isSnapshot ? sonatypeSnapshotUrl : sonatypeReleaseUrl
- projectUrl = "https://github.com/mperry/gradle-frege-plugin"
- projectName = "GradleFregePlugin"
- pomProjectName = "GradleFregePlugin"
+ projectUrl = "https://github.com/Frege/frege-gradle-plugin"
+ projectName = "Frege Gradle Plugin"
+ pomProjectName = projectName
baseJarName = "gradle-frege-plugin"
- groupName = "com.github.mperry.frege"
- scmUrl = "git://github.com/mperry/gradle-frege-plugin.git"
- scmGitFile = "scm:git@github.com:mperry/gradle-frege-plugin.git"
- projectDescription = "Frege gradle plugin"
+ groupName = "org.frege-lang"
+ scmUrl = "git://github.com/Frege/frege-gradle-plugin.git"
+ scmGitFile = "scm:git@github.com:Frege/frege-gradle-plugin.git"
+ projectDescription = "Frege Gradle plugin"
- licenseName = "The Apache Software License, Version 2.0"
- licenseUrl = 'http://www.apache.org/licenses/LICENSE-2.0.txt'
+ licenseName = "BSD 3-clause license"
+ licenseUrl = 'http://opensource.org/licenses/BSD-3-Clause'
organisation = groupName
diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties
index 07d978b..cee3aa1 100644
--- a/gradle/wrapper/gradle-wrapper.properties
+++ b/gradle/wrapper/gradle-wrapper.properties
@@ -3,4 +3,4 @@ distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
-distributionUrl=http\://services.gradle.org/distributions/gradle-2.2.1-all.zip
+distributionUrl=http\://services.gradle.org/distributions/gradle-2.3-all.zip
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