From 91d37b288290b99993cdeccbca653af87dbfcad8 Mon Sep 17 00:00:00 2001 From: Dierk Koenig Date: Tue, 24 Feb 2015 01:08:54 +0100 Subject: we now have two repl tasks to choose from :-) --- src/main/groovy/frege/gradle/FregeReplTask.groovy | 37 +++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 src/main/groovy/frege/gradle/FregeReplTask.groovy (limited to 'src/main/groovy/frege/gradle/FregeReplTask.groovy') diff --git a/src/main/groovy/frege/gradle/FregeReplTask.groovy b/src/main/groovy/frege/gradle/FregeReplTask.groovy new file mode 100644 index 0000000..50d8026 --- /dev/null +++ b/src/main/groovy/frege/gradle/FregeReplTask.groovy @@ -0,0 +1,37 @@ +package frege.gradle + +import org.gradle.api.DefaultTask +import org.gradle.api.internal.file.FileResolver +import org.gradle.api.tasks.* +import org.gradle.process.internal.DefaultJavaExecAction +import org.gradle.process.internal.JavaExecAction + +import javax.management.relation.Relation + +class FregeReplTask extends DefaultTask { + + static String DEFAULT_SRC_DIR = "src/main/frege" // TODO: should this come from a source set? + + @Optional @InputDirectory + File sourceDir = new File(project.projectDir, DEFAULT_SRC_DIR) + + @TaskAction + void openFregeRepl() { + + if (! sourceDir.exists() ) { + def currentDir = new File('.') + logger.info "Intended source dir '${sourceDir.absolutePath}' doesn't exist. Using current dir '${currentDir.absolutePath}' ." + sourceDir = currentDir + } + + FileResolver fileResolver = getServices().get(FileResolver.class) + JavaExecAction action = new DefaultJavaExecAction(fileResolver) + action.setMain("frege.repl.FregeRepl") + action.workingDir = sourceDir + action.standardInput = System.in + action.setClasspath(project.files(project.configurations.compile )) + + action.execute() + } + +} \ No newline at end of file -- cgit