aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/ch/fhnw/thga/gradleplugins/ReplFregeTask.java
diff options
context:
space:
mode:
authorThibault Gagnaux <tgagnaux@gmail.com>2022-02-02 18:50:13 +0100
committerThibault Gagnaux <tgagnaux@gmail.com>2022-02-02 18:50:13 +0100
commit47f99d65a09660863cb5d6b25b239ead3389f3ac (patch)
treec1ca8819f6fa59f4fe481ce2406ffdb2250a193e /src/main/java/ch/fhnw/thga/gradleplugins/ReplFregeTask.java
parentddf176c4d9ad16648ea8e2459694d34d6c68e5d7 (diff)
downloadfrege-gradle-plugin-47f99d65a09660863cb5d6b25b239ead3389f3ac.tar.gz
frege-gradle-plugin-47f99d65a09660863cb5d6b25b239ead3389f3ac.tar.bz2
frege-gradle-plugin-47f99d65a09660863cb5d6b25b239ead3389f3ac.zip
feat: simplifies the whole gradle plugin
- the `compileFregeTask` has a new optional input called `mainModuleName`. If it is set, it and only its dependencies will be compiled, otherwise all `.fr`files in the `mainSourceDir`will be compiled. - the internal `DependencyFregeTask` is deleted because it was only used by the vscode plugin and I decided to remove this gradle plugin as a dependency. - an example project folder was added to test the plugin manually.
Diffstat (limited to 'src/main/java/ch/fhnw/thga/gradleplugins/ReplFregeTask.java')
-rw-r--r--src/main/java/ch/fhnw/thga/gradleplugins/ReplFregeTask.java9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/main/java/ch/fhnw/thga/gradleplugins/ReplFregeTask.java b/src/main/java/ch/fhnw/thga/gradleplugins/ReplFregeTask.java
index dd18270..7903d7e 100644
--- a/src/main/java/ch/fhnw/thga/gradleplugins/ReplFregeTask.java
+++ b/src/main/java/ch/fhnw/thga/gradleplugins/ReplFregeTask.java
@@ -4,9 +4,11 @@ import org.gradle.api.DefaultTask;
import org.gradle.api.file.DirectoryProperty;
import org.gradle.api.file.RegularFileProperty;
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.TaskAction;
import org.gradle.api.tasks.options.Option;
@@ -27,6 +29,13 @@ public abstract class ReplFregeTask extends DefaultTask {
description = "The filename which you want to load into the repl, e.g. 'myFregeFile.fr'")
public abstract Property<String> getReplSource();
+ @Internal
+ public final Provider<String> getReplClassName()
+ {
+ return getReplSource()
+ .map(replSource -> replSource.substring(replSource.lastIndexOf(".")));
+ }
+
@TaskAction
public void printStartFregeReplCommand() {
System.out.println("Execute the following command to start the Frege Repl:");