Add a FileCollection to ModSettings

This commit is contained in:
modmuss50
2022-04-21 20:52:11 +01:00
parent b7cdb718d7
commit 1dfea9ef7e
2 changed files with 13 additions and 2 deletions

View File

@@ -27,6 +27,7 @@ package net.fabricmc.loom.api;
import javax.inject.Inject;
import org.gradle.api.Named;
import org.gradle.api.file.FileCollection;
import org.gradle.api.provider.ListProperty;
import org.gradle.api.tasks.SourceSet;
import org.jetbrains.annotations.ApiStatus;
@@ -41,6 +42,11 @@ public abstract class ModSettings implements Named {
*/
public abstract ListProperty<SourceSet> getModSourceSets();
/**
* List of classpath directories, or jar files used to populate the `fabric.classPathGroups` Fabric Loader system property.
*/
public abstract FileCollection getModFiles();
@Inject
public ModSettings() {
getModSourceSets().finalizeValueOnRead();

View File

@@ -56,9 +56,14 @@ public final class SourceSetHelper {
}
public static List<File> getClasspath(ModSettings modSettings, Project project) {
return modSettings.getModSourceSets().get().stream()
final List<File> files = new ArrayList<>();
files.addAll(modSettings.getModSourceSets().get().stream()
.flatMap(sourceSet -> getClasspath(sourceSet, project).stream())
.toList();
.toList());
files.addAll(modSettings.getModFiles().getFiles());
return Collections.unmodifiableList(files);
}
public static List<File> getClasspath(SourceSet sourceSet, Project project) {