aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/ch/fhnw/thga/gradleplugins/ReplFregeTask.java
diff options
context:
space:
mode:
authortricktron <tgagnaux@gmail.com>2021-12-21 15:54:51 +0100
committerGitHub <noreply@github.com>2021-12-21 15:54:51 +0100
commit2eeb5f4fe33f325d07988c99c758909c4aaad957 (patch)
tree1edffe9354d85cc4ce4717cda443be17ee1cf8a7 /src/main/java/ch/fhnw/thga/gradleplugins/ReplFregeTask.java
parent3c4bfaeb12fc7480782efd5f2f78831ab0761bbb (diff)
parent6fe74444e80d68dffa61e2e57b78092e50a54772 (diff)
downloadfrege-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.java34
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));
}
}