diff options
author | shedaniel <daniel@shedaniel.me> | 2021-09-19 21:04:49 +0800 |
---|---|---|
committer | shedaniel <daniel@shedaniel.me> | 2021-09-19 21:04:49 +0800 |
commit | 1c8554a94775851c984d681a16372ba6fa2009e8 (patch) | |
tree | 0c42e390b40c0714cb7726bce2492c198f56d072 /src/main/java/net/fabricmc/loom/configuration/mods | |
parent | 770597a5886c29784728c34122c2c0c1ae84ab81 (diff) | |
download | architectury-loom-1c8554a94775851c984d681a16372ba6fa2009e8.tar.gz architectury-loom-1c8554a94775851c984d681a16372ba6fa2009e8.tar.bz2 architectury-loom-1c8554a94775851c984d681a16372ba6fa2009e8.zip |
Close #12
Signed-off-by: shedaniel <daniel@shedaniel.me>
Diffstat (limited to 'src/main/java/net/fabricmc/loom/configuration/mods')
-rw-r--r-- | src/main/java/net/fabricmc/loom/configuration/mods/forge/ForgeLocalMod.java | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/src/main/java/net/fabricmc/loom/configuration/mods/forge/ForgeLocalMod.java b/src/main/java/net/fabricmc/loom/configuration/mods/forge/ForgeLocalMod.java new file mode 100644 index 00000000..ce5ff0e1 --- /dev/null +++ b/src/main/java/net/fabricmc/loom/configuration/mods/forge/ForgeLocalMod.java @@ -0,0 +1,41 @@ +package net.fabricmc.loom.configuration.mods.forge; + +import java.util.List; +import java.util.function.Supplier; +import java.util.stream.Stream; + +import org.gradle.api.Named; +import org.gradle.api.Project; +import org.gradle.api.plugins.JavaPluginConvention; +import org.gradle.api.tasks.SourceSet; + +public class ForgeLocalMod implements Named { + private final Project project; + private final String name; + private final List<Supplier<SourceSet>> sourceSets; + + public ForgeLocalMod(Project project, String name, List<Supplier<SourceSet>> sourceSets) { + this.project = project; + this.name = name; + this.sourceSets = sourceSets; + } + + public void add(Object... sourceSets) { + for (Object sourceSet : sourceSets) { + if (sourceSet instanceof SourceSet) { + this.sourceSets.add(() -> (SourceSet) sourceSet); + } else { + this.sourceSets.add(() -> project.getConvention().getPlugin(JavaPluginConvention.class).getSourceSets().findByName(String.valueOf(sourceSet))); + } + } + } + + @Override + public String getName() { + return name; + } + + public Stream<SourceSet> getSourceSets() { + return sourceSets.stream().map(Supplier::get); + } +}
\ No newline at end of file |