Skip to content

Commit de3cd19

Browse files
committed
WIP use universal jar in dev
1 parent ee9b01e commit de3cd19

File tree

5 files changed

+32
-4
lines changed

5 files changed

+32
-4
lines changed

src/main/java/net/neoforged/moddevgradle/internal/ModDevArtifactsWorkflow.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -141,6 +141,9 @@ public static ModDevArtifactsWorkflow create(Project project,
141141

142142
Function<WorkflowArtifact, Provider<RegularFile>> artifactPathStrategy = artifact -> artifactsBuildDir.map(dir -> dir.file(artifactNamingStrategy.getFilename(artifact)));
143143

144+
if (moddingDependencies.gameLibrariesContainUniversalJar()) {
145+
task.getPutNeoForgeInTheMcJar().set(false);
146+
}
144147
task.getCompiledArtifact().set(artifactPathStrategy.apply(WorkflowArtifact.COMPILED));
145148
task.getCompiledWithSourcesArtifact().set(artifactPathStrategy.apply(WorkflowArtifact.COMPILED_WITH_SOURCES));
146149
task.getSourcesArtifact().set(artifactPathStrategy.apply(WorkflowArtifact.SOURCES));

src/main/java/net/neoforged/moddevgradle/internal/ModdingDependencies.java

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,9 @@
22

33
import java.util.Map;
44
import net.neoforged.moddevgradle.internal.utils.VersionCapabilitiesInternal;
5+
import org.gradle.api.Project;
56
import org.gradle.api.artifacts.ModuleDependency;
7+
import org.gradle.api.attributes.LibraryElements;
68
import org.jetbrains.annotations.Nullable;
79

810
public record ModdingDependencies(
@@ -11,6 +13,7 @@ public record ModdingDependencies(
1113
@Nullable ModuleDependency neoFormDependency,
1214
@Nullable String neoFormDependencyNotation,
1315
ModuleDependency gameLibrariesDependency,
16+
boolean gameLibrariesContainUniversalJar,
1417
@Nullable ModuleDependency modulePathDependency,
1518
@Nullable ModuleDependency runTypesConfigDependency,
1619
@Nullable ModuleDependency testFixturesDependency) {
@@ -25,8 +28,16 @@ public static ModdingDependencies create(ModuleDependency neoForge,
2528
.capabilities(caps -> caps.requireCapability("net.neoforged:neoforge-moddev-module-path"))
2629
// TODO: this is ugly; maybe make the configuration transitive in neoforge, or fix the SJH dep.
2730
.exclude(Map.of("group", "org.jetbrains", "module", "annotations"));
28-
var librariesDependency = neoForge.copy()
29-
.capabilities(c -> c.requireCapability("net.neoforged:neoforge-dependencies"));
31+
// TODO: configure based on version
32+
boolean gameLibrariesContainUniversalJar = true;
33+
ModuleDependency librariesDependency;
34+
if (gameLibrariesContainUniversalJar) {
35+
librariesDependency = neoForge.copy()
36+
.capabilities(c -> c.requireCapability("net.neoforged:neoforge-universal-and-dependencies"));
37+
} else {
38+
librariesDependency = neoForge.copy()
39+
.capabilities(c -> c.requireCapability("net.neoforged:neoforge-dependencies"));
40+
}
3041

3142
ModuleDependency testFixturesDependency = null;
3243
if (versionCapabilities.testFixtures()) {
@@ -40,6 +51,7 @@ public static ModdingDependencies create(ModuleDependency neoForge,
4051
neoForm,
4152
neoFormNotation,
4253
librariesDependency,
54+
gameLibrariesContainUniversalJar,
4355
modulePathDependency,
4456
runTypesDataDependency,
4557
testFixturesDependency);
@@ -55,6 +67,7 @@ public static ModdingDependencies createVanillaOnly(ModuleDependency neoForm, St
5567
neoForm,
5668
neoFormNotation,
5769
librariesDependency,
70+
false,
5871
null,
5972
null,
6073
null);

src/main/java/net/neoforged/nfrtgradle/CreateMinecraftArtifacts.java

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@ public CreateMinecraftArtifacts() {
4242
getAnalyzeCacheMisses().convention(false);
4343
getValidateAccessTransformers().convention(false);
4444
getParchmentEnabled().convention(false);
45+
getPutNeoForgeInTheMcJar().convention(true);
4546
}
4647

4748
/**
@@ -192,6 +193,11 @@ public CreateMinecraftArtifacts() {
192193
@Optional
193194
public abstract RegularFileProperty getResourcesArtifact();
194195

196+
// TODO: better name
197+
// TODO: we should however put the resources in the MC jar
198+
@Input
199+
public abstract Property<Boolean> getPutNeoForgeInTheMcJar();
200+
195201
@Inject
196202
protected abstract Problems getProblems();
197203

@@ -281,7 +287,7 @@ public void createArtifacts() {
281287
}
282288

283289
// NOTE: When we use NeoForm standalone, the result-ids also change, a.k.a. "Vanilla Mode"
284-
if (getNeoForgeArtifact().isPresent()) {
290+
if (getNeoForgeArtifact().isPresent() && getPutNeoForgeInTheMcJar().get()) {
285291
if (getCompiledArtifact().isPresent()) {
286292
requestedResults.add(new RequestedResult("compiledWithNeoForge", getCompiledArtifact().get().getAsFile()));
287293
}

testproject/build.gradle

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,12 @@ plugins {
33
id 'maven-publish'
44
}
55

6+
allprojects {
7+
repositories {
8+
mavenLocal()
9+
}
10+
}
11+
612
evaluationDependsOn(":subproject") // Because of the sourceset reference
713

814
tasks.named('wrapper') {

testproject/gradle.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
org.gradle.configuration-cache=true
22

33
# Dependency versions
4-
neoforge_version=21.10.49-beta
4+
neoforge_version=21.10.49-beta-more-caps

0 commit comments

Comments
 (0)