diff options
author | tricktron <tgagnaux@gmail.com> | 2021-12-21 15:54:51 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-12-21 15:54:51 +0100 |
commit | 2eeb5f4fe33f325d07988c99c758909c4aaad957 (patch) | |
tree | 1edffe9354d85cc4ce4717cda443be17ee1cf8a7 /src/main/java/ch/fhnw/thga/gradleplugins/ReplFregeTask.java | |
parent | 3c4bfaeb12fc7480782efd5f2f78831ab0761bbb (diff) | |
parent | 6fe74444e80d68dffa61e2e57b78092e50a54772 (diff) | |
download | frege-gradle-plugin-2eeb5f4fe33f325d07988c99c758909c4aaad957.tar.gz frege-gradle-plugin-2eeb5f4fe33f325d07988c99c758909c4aaad957.tar.bz2 frege-gradle-plugin-2eeb5f4fe33f325d07988c99c758909c4aaad957.zip |
Merge pull request #17 from tricktron/f-repl-with-source-deps
Repl with all Source Dependencies
Diffstat (limited to 'src/main/java/ch/fhnw/thga/gradleplugins/ReplFregeTask.java')
-rw-r--r-- | src/main/java/ch/fhnw/thga/gradleplugins/ReplFregeTask.java | 34 |
1 files changed, 29 insertions, 5 deletions
diff --git a/src/main/java/ch/fhnw/thga/gradleplugins/ReplFregeTask.java b/src/main/java/ch/fhnw/thga/gradleplugins/ReplFregeTask.java index 81da1cd..dd18270 100644 --- a/src/main/java/ch/fhnw/thga/gradleplugins/ReplFregeTask.java +++ b/src/main/java/ch/fhnw/thga/gradleplugins/ReplFregeTask.java @@ -1,19 +1,43 @@ package ch.fhnw.thga.gradleplugins; import org.gradle.api.DefaultTask; -import org.gradle.api.file.ConfigurableFileCollection; -import org.gradle.api.tasks.InputFiles; +import org.gradle.api.file.DirectoryProperty; +import org.gradle.api.file.RegularFileProperty; +import org.gradle.api.provider.Property; +import org.gradle.api.tasks.Input; +import org.gradle.api.tasks.InputDirectory; +import org.gradle.api.tasks.InputFile; import org.gradle.api.tasks.TaskAction; +import org.gradle.api.tasks.options.Option; public abstract class ReplFregeTask extends DefaultTask { public static final String REPL_MAIN_CLASS = "frege.repl.FregeRepl"; - @InputFiles - public abstract ConfigurableFileCollection getFregeClasspath(); + @InputFile + public abstract RegularFileProperty getFregeCompilerJar(); + + @Input + public abstract Property<String> getFregeDependencies(); + + @InputDirectory + public abstract DirectoryProperty getFregeOutputDir(); + + @Input + @Option(option = "replSource", + description = "The filename which you want to load into the repl, e.g. 'myFregeFile.fr'") + public abstract Property<String> getReplSource(); @TaskAction public void printStartFregeReplCommand() { System.out.println("Execute the following command to start the Frege Repl:"); - System.out.println(String.format("java -cp %s %s", getFregeClasspath().getAsPath(), REPL_MAIN_CLASS)); + System.out.println(String.format( + "java -cp %s %s", + SharedTaskLogic.setupClasspath( + getProject(), + getFregeDependencies(), + getFregeCompilerJar(), + getFregeOutputDir()) + .get().getAsPath(), + REPL_MAIN_CLASS)); } } |