diff options
-rw-r--r-- | build.gradle | 12 | ||||
-rw-r--r-- | gradle/sonatype.gradle | 18 | ||||
-rw-r--r-- | gradle/wrapper/gradle-wrapper.properties | 2 | ||||
-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.groovy | 25 | ||||
-rw-r--r-- | src/main/groovy/frege/gradle/ReplTask.groovy | 16 | ||||
-rw-r--r-- | src/main/resources/META-INF/gradle-plugins/frege.properties | 2 |
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 |