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/RunFregeTask.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/RunFregeTask.java')
-rw-r--r-- | src/main/java/ch/fhnw/thga/gradleplugins/RunFregeTask.java | 22 |
1 files changed, 9 insertions, 13 deletions
diff --git a/src/main/java/ch/fhnw/thga/gradleplugins/RunFregeTask.java b/src/main/java/ch/fhnw/thga/gradleplugins/RunFregeTask.java index 41ac2a3..f993af4 100644 --- a/src/main/java/ch/fhnw/thga/gradleplugins/RunFregeTask.java +++ b/src/main/java/ch/fhnw/thga/gradleplugins/RunFregeTask.java @@ -4,17 +4,14 @@ import javax.inject.Inject; import org.gradle.api.DefaultTask; import org.gradle.api.file.DirectoryProperty; -import org.gradle.api.file.FileCollection; import org.gradle.api.file.RegularFileProperty; import org.gradle.api.logging.Logger; import org.gradle.api.logging.Logging; import org.gradle.api.model.ObjectFactory; import org.gradle.api.provider.Property; -import org.gradle.api.provider.Provider; import org.gradle.api.tasks.Input; import org.gradle.api.tasks.InputDirectory; import org.gradle.api.tasks.InputFile; -import org.gradle.api.tasks.Internal; import org.gradle.api.tasks.JavaExec; import org.gradle.api.tasks.TaskAction; import org.gradle.api.tasks.options.Option; @@ -30,20 +27,13 @@ public abstract class RunFregeTask extends DefaultTask { public abstract DirectoryProperty getFregeOutputDir(); @Input - @Option(option = "mainModule", description = "The full name of the Frege module with a main function, e.g. 'my.mod.Name'") + @Option(option = "mainModule", + description = "The full name of the Frege module with a main function, e.g. 'my.mod.Name'") public abstract Property<String> getMainModule(); @Input public abstract Property<String> getFregeDependencies(); - @Internal - public final Provider<FileCollection> getClasspath() { - return getFregeDependencies().map(depsClasspath -> { - return depsClasspath.isEmpty() ? getProject().files(getFregeCompilerJar(), getFregeOutputDir()) - : getProject().files(getFregeCompilerJar(), getFregeOutputDir(), depsClasspath); - }); - } - @Inject public RunFregeTask(ObjectFactory objectFactory) { javaExec = objectFactory.newInstance(JavaExec.class); @@ -52,6 +42,12 @@ public abstract class RunFregeTask extends DefaultTask { @TaskAction public void runFrege() { javaExec.getMainClass().set(getMainModule()); - javaExec.setClasspath(getClasspath().get()).exec(); + javaExec.setClasspath( + SharedTaskLogic.setupClasspath( + getProject(), + getFregeDependencies(), + getFregeCompilerJar(), + getFregeOutputDir()) + .get()).exec(); } } |