diff options
author | Dierk Koenig <dierk.koenig@canoo.com> | 2015-02-24 00:25:21 +0100 |
---|---|---|
committer | Dierk Koenig <dierk.koenig@canoo.com> | 2015-02-24 00:25:21 +0100 |
commit | b563f27267f9fee7756284feb60797c04e6316cf (patch) | |
tree | eee5233778c782c44f429881ab7ac3945c6631eb /src/main/groovy/org | |
parent | 27e2877f5b31b6c1fa387a46c20dc4cd40227ca5 (diff) | |
parent | 38d0cb914a1984b8470cf95abd480cc191cae812 (diff) | |
download | frege-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/main/groovy/org')
-rw-r--r-- | src/main/groovy/org/gradle/frege/FregePlugin.groovy | 22 | ||||
-rw-r--r-- | src/main/groovy/org/gradle/frege/FregePluginExtension.groovy | 11 | ||||
-rw-r--r-- | src/main/groovy/org/gradle/frege/FregeTask.groovy | 100 |
3 files changed, 0 insertions, 133 deletions
diff --git a/src/main/groovy/org/gradle/frege/FregePlugin.groovy b/src/main/groovy/org/gradle/frege/FregePlugin.groovy deleted file mode 100644 index 16bcecf..0000000 --- a/src/main/groovy/org/gradle/frege/FregePlugin.groovy +++ /dev/null @@ -1,22 +0,0 @@ -package org.gradle.frege - -import org.gradle.api.Plugin -import org.gradle.api.Project - -class FregePlugin implements Plugin<Project> { - - 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") - - def oFR = project.task('openFregeRepl', type: FregeReplTask, group: 'Runtime', dependsOn: 'classes') - oFR.outputs.upToDateWhen { false } - - } - -} diff --git a/src/main/groovy/org/gradle/frege/FregePluginExtension.groovy b/src/main/groovy/org/gradle/frege/FregePluginExtension.groovy deleted file mode 100644 index db81a41..0000000 --- a/src/main/groovy/org/gradle/frege/FregePluginExtension.groovy +++ /dev/null @@ -1,11 +0,0 @@ -package org.gradle.frege - -/** - * Created by mperry on 6/02/2015. - */ -class FregePluginExtension { - - - String key1 - -} diff --git a/src/main/groovy/org/gradle/frege/FregeTask.groovy b/src/main/groovy/org/gradle/frege/FregeTask.groovy deleted file mode 100644 index df4f7d6..0000000 --- a/src/main/groovy/org/gradle/frege/FregeTask.groovy +++ /dev/null @@ -1,100 +0,0 @@ -package org.gradle.frege - -import org.gradle.api.DefaultTask -import org.gradle.api.tasks.* -import org.gradle.process.internal.DefaultJavaExecAction -import org.gradle.process.internal.JavaExecAction -import org.gradle.api.internal.file.FileResolver -import org.gradle.tooling.BuildException - -class FregeTask extends DefaultTask { - - static String DEFAULT_CLASSES_SUBDIR = "classes/main" // TODO: should this come from a convention? - static String DEFAULT_SRC_DIR = "src/main/frege" // TODO: should this come from a source set? - - @Optional @Input - boolean hints = false - - @Optional @Input - boolean verbose = false - - @Optional @Input - boolean inline = true - - @Optional @Input - boolean make = true - - @Optional @Input - boolean skipCompile = false - - @Optional @Input - String extraArgs = "" - - @Optional @Input - String allArgs = "" // this is an option to overrule all other settings - - @Optional @Input - String module = "" - - @Optional @InputDirectory - File sourceDir = new File(project.projectDir, DEFAULT_SRC_DIR) - - @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() - } - - // access extension configuration values as ${project.frege.key1} - - FileResolver fileResolver = getServices().get(FileResolver.class) - JavaExecAction action = new DefaultJavaExecAction(fileResolver) - action.setMain("frege.compiler.Main") - action.setClasspath(project.files(project.configurations.compile)) - - def args = allArgs ? allArgs.split().toList() : assembleArguments() - - logger.info("Calling Frege compiler with args: '$args'") - action.args(args) - action.execute() - } - - protected List assembleArguments() { - List args = [] - if (hints) - args << "-hints" - if (inline) - args << "-inline" - if (make) - args << "-make" - if (verbose) - args << "-v" - if (skipCompile) - args << "-j" - - 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 - } else if (module) { - logger.info "compiling module '$module'" - args << module - } else { - args = args + extraArgs.split().toList() - } - args - } -}
\ No newline at end of file |