Add AbstractRemapJarTask.getAdditionalClientOnlyEntries

This commit is contained in:
modmuss50
2022-11-21 19:24:21 +00:00
parent 57b5f05c57
commit 7173c2a6cb

View File

@@ -29,6 +29,7 @@ import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.IOException;
import java.nio.file.Path;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.Set;
@@ -92,6 +93,9 @@ public abstract class AbstractRemapJarTask extends Jar {
@Input
public abstract Property<Boolean> getIncludesClientOnlyClasses();
@Input
public abstract ListProperty<String> getAdditionalClientOnlyEntries();
@Inject
public AbstractRemapJarTask() {
getSourceNamespace().convention(MappingsNamespace.NAMED.toString()).finalizeValueOnRead();
@@ -116,7 +120,8 @@ public abstract class AbstractRemapJarTask extends Jar {
params.getJarManifestService().set(JarManifestService.get(getProject()));
if (getIncludesClientOnlyClasses().get()) {
final List<String> clientOnlyEntries = getClientOnlyEntries();
final List<String> clientOnlyEntries = new ArrayList<>(getClientOnlyEntries());
clientOnlyEntries.addAll(getAdditionalClientOnlyEntries().get());
applyClientOnlyManifestAttributes(params, clientOnlyEntries);
params.getClientOnlyEntries().set(clientOnlyEntries.stream().filter(s -> s.endsWith(".class")).toList());
}