Skip to content

Commit 0b42a1a

Browse files
committed
Fix an issue with recompile dependency order (now we use MDC before ARDs).
Update the tests.
1 parent aa9b8c1 commit 0b42a1a

23 files changed

Lines changed: 217 additions & 287 deletions

gradle.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,6 @@ spock_version=2.1
3737
spock_groovy_version=3.0
3838
mockito_version=4.11.0
3939
jimfs_version=1.2
40-
trainingwheels_version=2.0.7
40+
trainingwheels_version=2.0.10
4141

4242
githubCiTesting=true

neoform/src/main/java/net/neoforged/gradle/neoform/runtime/extensions/NeoFormRuntimeExtension.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -595,7 +595,7 @@ protected void bakeDefinition(NeoFormRuntimeDefinition definition)
595595
).orElseThrow(() -> new IllegalStateException("No input for recompile task due to pre-task adapters"));
596596

597597
final FileCollection recompileDependencies =
598-
definition.getAdditionalRecompileDependencies().plus(spec.getProject().files(definition.getMinecraftDependenciesConfiguration()));
598+
definition.getMinecraftDependenciesConfiguration().plus(spec.getProject().files(definition.getAdditionalRecompileDependencies()));
599599

600600
final TaskProvider<? extends Runtime> recompileTask =
601601
createRecompileTask(definition, recompileInput, recompileDependencies, task -> {

settings.gradle

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
pluginManagement {
22
repositories {
33
gradlePluginPortal()
4-
maven { url = 'https://maven.neoforged.net/' }
4+
maven { url = 'https://maven.neoforged.net/releases' }
55
}
66
}
77

88
plugins {
9-
id 'org.gradle.toolchains.foojay-resolver-convention' version '0.7.0'
9+
id 'org.gradle.toolchains.foojay-resolver-convention' version '1.0.0'
1010
}
1111

1212
rootProject.name = 'NeoGradle'

test-utils/src/main/groovy/net/neoforged/gradle/utils/test/extensions/RuntimeBuilderExtensions.groovy

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,10 @@ import net.neoforged.trainingwheels.gradle.functional.builder.Runtime
88
*/
99
class RuntimeBuilderExtensions {
1010

11+
static File withTemporaryGlobalCacheDirectory(final Runtime.Builder self) {
12+
return withGlobalCacheDirectory(self, self.tempDir)
13+
}
14+
1115
/**
1216
* Sets the global cache directory to the given {@param testProjectDir}.
1317
*

userdev/src/functionalTest/groovy/net/neoforged/gradle/userdev/AccessTransformerTests.groovy

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ package net.neoforged.gradle.userdev
33
import groovy.json.JsonSlurper
44
import net.neoforged.trainingwheels.gradle.functional.BuilderBasedTestSpecification
55
import org.gradle.testkit.runner.TaskOutcome
6+
import net.neoforged.gradle.userdev.constants.TestConstants
67

78
import java.util.zip.ZipFile
89

@@ -18,7 +19,7 @@ class AccessTransformerTests extends BuilderBasedTestSpecification {
1819
given:
1920
def project = create("userdev_supports_ats_from_file", {
2021
it.build("""
21-
java.toolchain.languageVersion = JavaLanguageVersion.of(21)
22+
java.toolchain.languageVersion = JavaLanguageVersion.of(${TestConstants.Latest.JavaVersion})
2223
2324
minecraft.accessTransformers.file rootProject.file('src/main/resources/META-INF/accesstransformer.cfg')
2425
@@ -58,7 +59,7 @@ class AccessTransformerTests extends BuilderBasedTestSpecification {
5859
given:
5960
def project = create("userdev_supports_ats_from_file_decompiler_disabled", {
6061
it.build("""
61-
java.toolchain.languageVersion = JavaLanguageVersion.of(21)
62+
java.toolchain.languageVersion = JavaLanguageVersion.of(${TestConstants.Latest.JavaVersion})
6263
6364
minecraft.accessTransformers.file rootProject.file('src/main/resources/META-INF/accesstransformer.cfg')
6465
@@ -99,7 +100,7 @@ class AccessTransformerTests extends BuilderBasedTestSpecification {
99100
given:
100101
def project = create("userdev_supports_ats_from_file", {
101102
it.build("""
102-
java.toolchain.languageVersion = JavaLanguageVersion.of(21)
103+
java.toolchain.languageVersion = JavaLanguageVersion.of(${TestConstants.Latest.JavaVersion})
103104
104105
dependencies {
105106
implementation 'net.neoforged:neoforge:+'
@@ -137,7 +138,7 @@ class AccessTransformerTests extends BuilderBasedTestSpecification {
137138
given:
138139
def project = create("userdev_supports_ats_in_multiple_distinctly_named_files", {
139140
it.build("""
140-
java.toolchain.languageVersion = JavaLanguageVersion.of(21)
141+
java.toolchain.languageVersion = JavaLanguageVersion.of(${TestConstants.Latest.JavaVersion})
141142
142143
minecraft.accessTransformers.file rootProject.file('src/main/resources/META-INF/accesstransformer.cfg')
143144
minecraft.accessTransformers.file rootProject.file('src/main/resources/META-INF/accesstransformer2.cfg')
@@ -178,7 +179,7 @@ class AccessTransformerTests extends BuilderBasedTestSpecification {
178179
given:
179180
def project = create("userdev_supports_ats_in_files_named_the_same", {
180181
it.build("""
181-
java.toolchain.languageVersion = JavaLanguageVersion.of(21)
182+
java.toolchain.languageVersion = JavaLanguageVersion.of(${TestConstants.Latest.JavaVersion})
182183
183184
minecraft.accessTransformers.file rootProject.file('src/main/resources/META-INF/accesstransformer.cfg')
184185
minecraft.accessTransformers.file rootProject.file('src/main/resources/accesstransformer.cfg')
@@ -219,7 +220,7 @@ class AccessTransformerTests extends BuilderBasedTestSpecification {
219220
given:
220221
def consumedProject = create("u_e_iis_publisher", {
221222
it.build("""
222-
java.toolchain.languageVersion = JavaLanguageVersion.of(21)
223+
java.toolchain.languageVersion = JavaLanguageVersion.of(${TestConstants.Latest.JavaVersion})
223224
224225
group = "n.n.n.u.t.p"
225226
version = "1.0.0"
@@ -255,7 +256,7 @@ class AccessTransformerTests extends BuilderBasedTestSpecification {
255256
and:
256257
def consumingProject = create("u_e_iis_consuming", {
257258
it.build("""
258-
java.toolchain.languageVersion = JavaLanguageVersion.of(21)
259+
java.toolchain.languageVersion = JavaLanguageVersion.of(${TestConstants.Latest.JavaVersion})
259260
260261
group = "n.n.n.u.t.g"
261262
version = "1.0.0"

userdev/src/functionalTest/groovy/net/neoforged/gradle/userdev/AdvancedFmlTests.groovy

Lines changed: 7 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ package net.neoforged.gradle.userdev
22

33
import net.neoforged.trainingwheels.gradle.functional.BuilderBasedTestSpecification
44
import org.gradle.testkit.runner.TaskOutcome
5+
import net.neoforged.gradle.userdev.constants.TestConstants
56

67
class AdvancedFmlTests extends BuilderBasedTestSpecification {
78

@@ -15,7 +16,7 @@ class AdvancedFmlTests extends BuilderBasedTestSpecification {
1516
given:
1617
def project = create("running_patch_task_is_possible", {
1718
it.build("""
18-
java.toolchain.languageVersion = JavaLanguageVersion.of(21)
19+
java.toolchain.languageVersion = JavaLanguageVersion.of(${TestConstants.Latest.JavaVersion})
1920
2021
repositories {
2122
mavenLocal()
@@ -43,7 +44,7 @@ class AdvancedFmlTests extends BuilderBasedTestSpecification {
4344
given:
4445
def project = create("running_compile_in_ci", {
4546
it.build("""
46-
java.toolchain.languageVersion = JavaLanguageVersion.of(21)
47+
java.toolchain.languageVersion = JavaLanguageVersion.of(${TestConstants.Latest.JavaVersion})
4748
4849
repositories {
4950
mavenLocal()
@@ -84,7 +85,7 @@ class AdvancedFmlTests extends BuilderBasedTestSpecification {
8485
given:
8586
def project = create("running_compile_with_compiler_disabled", {
8687
it.build("""
87-
java.toolchain.languageVersion = JavaLanguageVersion.of(21)
88+
java.toolchain.languageVersion = JavaLanguageVersion.of(${TestConstants.Latest.JavaVersion})
8889
8990
dependencies {
9091
implementation 'net.neoforged:neoforge:[21.11,21.12)'
@@ -120,28 +121,13 @@ class AdvancedFmlTests extends BuilderBasedTestSpecification {
120121
def "a mod using a disabled decompiler should be able to run the game"() {
121122
given:
122123
def project = create("disabled_decompiler_runs_game", {
123-
it.build("""
124-
java.toolchain.languageVersion = JavaLanguageVersion.of(21)
125-
126-
repositories {
127-
mavenCentral()
128-
}
129-
130-
dependencies {
131-
implementation 'net.neoforged:neoforge:+'
132-
}
133-
""")
134-
135-
it.withMod()
136-
it.withToolchains()
137-
it.withGlobalCacheDirectory(tempDir)
124+
it.withRun()
138125
it.property("neogradle.subsystems.decompiler.enabled", "false")
139126
})
140127

141128
when:
142129
def run = project.run {
143-
it.tasks(':runClientData')
144-
it.stacktrace()
130+
it.run()
145131
}
146132

147133
then:
@@ -153,7 +139,7 @@ class AdvancedFmlTests extends BuilderBasedTestSpecification {
153139
given:
154140
def project = create("enabled_decompiler_uses_setup", {
155141
it.build("""
156-
java.toolchain.languageVersion = JavaLanguageVersion.of(21)
142+
java.toolchain.languageVersion = JavaLanguageVersion.of(${TestConstants.Latest.JavaVersion})
157143
158144
repositories {
159145
mavenCentral()

userdev/src/functionalTest/groovy/net/neoforged/gradle/userdev/CentralCacheTests.groovy

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import net.neoforged.gradle.common.services.caching.CachedExecutionService
44
import net.neoforged.gradle.common.services.caching.locking.IOControlledFileBasedLock
55
import net.neoforged.trainingwheels.gradle.functional.BuilderBasedTestSpecification
66
import org.gradle.testkit.runner.TaskOutcome
7+
import net.neoforged.gradle.userdev.constants.TestConstants
78

89
import java.nio.file.Files
910

@@ -19,7 +20,7 @@ class CentralCacheTests extends BuilderBasedTestSpecification {
1920
given:
2021
def project = create("caching_is_enabled_by_default", {
2122
it.build("""
22-
java.toolchain.languageVersion = JavaLanguageVersion.of(21)
23+
java.toolchain.languageVersion = JavaLanguageVersion.of(${TestConstants.Latest.JavaVersion})
2324
2425
dependencies {
2526
implementation 'net.neoforged:neoforge:+'
@@ -45,7 +46,7 @@ class CentralCacheTests extends BuilderBasedTestSpecification {
4546
File cacheDir;
4647
def project = create("cache_supports_cleanup_and_take_over_of_failed_lock", {
4748
it.build("""
48-
java.toolchain.languageVersion = JavaLanguageVersion.of(21)
49+
java.toolchain.languageVersion = JavaLanguageVersion.of(${TestConstants.Latest.JavaVersion})
4950
5051
dependencies {
5152
implementation 'net.neoforged:neoforge:+'
@@ -84,7 +85,7 @@ class CentralCacheTests extends BuilderBasedTestSpecification {
8485
given:
8586
def project = create("cache_can_be_disabled", {
8687
it.build("""
87-
java.toolchain.languageVersion = JavaLanguageVersion.of(21)
88+
java.toolchain.languageVersion = JavaLanguageVersion.of(${TestConstants.Latest.JavaVersion})
8889
8990
dependencies {
9091
implementation 'net.neoforged:neoforge:+'
@@ -110,7 +111,7 @@ class CentralCacheTests extends BuilderBasedTestSpecification {
110111
given:
111112
def project = create("userdev_supports_ats_from_file", {
112113
it.build("""
113-
java.toolchain.languageVersion = JavaLanguageVersion.of(21)
114+
java.toolchain.languageVersion = JavaLanguageVersion.of(${TestConstants.Latest.JavaVersion})
114115
115116
minecraft.accessTransformers.file rootProject.file('src/main/resources/META-INF/accesstransformer.cfg')
116117

userdev/src/functionalTest/groovy/net/neoforged/gradle/userdev/ConfigurationCacheTests.groovy

Lines changed: 6 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
package net.neoforged.gradle.userdev
22

3-
43
import net.neoforged.trainingwheels.gradle.functional.BuilderBasedTestSpecification
54
import org.gradle.testkit.runner.TaskOutcome
5+
import net.neoforged.gradle.userdev.constants.TestConstants;
66

77
class ConfigurationCacheTests extends BuilderBasedTestSpecification {
88

@@ -16,7 +16,7 @@ class ConfigurationCacheTests extends BuilderBasedTestSpecification {
1616
given:
1717
def project = create("compile_supports_configuration_cache_build", {
1818
it.build("""
19-
java.toolchain.languageVersion = JavaLanguageVersion.of(21)
19+
java.toolchain.languageVersion = JavaLanguageVersion.of(${TestConstants.Latest.JavaVersion})
2020
2121
dependencies {
2222
implementation 'net.neoforged:neoforge:+'
@@ -41,7 +41,7 @@ class ConfigurationCacheTests extends BuilderBasedTestSpecification {
4141
given:
4242
def project = create("compile_supports_configuration_cache_build_and_is_reused", {
4343
it.build("""
44-
java.toolchain.languageVersion = JavaLanguageVersion.of(21)
44+
java.toolchain.languageVersion = JavaLanguageVersion.of(${TestConstants.Latest.JavaVersion})
4545
4646
dependencies {
4747
implementation 'net.neoforged:neoforge:+'
@@ -90,48 +90,15 @@ class ConfigurationCacheTests extends BuilderBasedTestSpecification {
9090
def "run_tasks_supports_configuration_cache_build"() {
9191
given:
9292
def project = create("compile_supports_configuration_cache_build", {
93-
it.build("""
94-
java.toolchain.languageVersion = JavaLanguageVersion.of(21)
95-
96-
dependencies {
97-
implementation 'net.neoforged:neoforge:+'
98-
}
99-
100-
runs {
101-
clientData { }
102-
}
103-
104-
afterEvaluate {
105-
//We don't care for the error here, we just want to run the task so that the config cache is created
106-
tasks.withType(JavaExec).named('runClientData') {
107-
ignoreExitValue = true
108-
group = 'run'
109-
}
110-
}
111-
""")
112-
it.file("src/main/java/net/neoforged/gradle/userdev/ConfigurationCacheTests.java", """
113-
package net.neoforged.gradle.userdev;
114-
115-
import net.minecraft.client.Minecraft;
116-
117-
public class ConfigurationCacheTests {
118-
public static void main(String[] args) {
119-
System.out.println(Minecraft.getInstance().getClass().toString());
120-
}
121-
}
122-
""")
123-
it.withToolchains()
124-
it.withGlobalCacheDirectory(tempDir)
125-
it.enableLocalBuildCache()
93+
it.withRun()
12694
})
12795

12896
when:
12997
def run = project.run {
130-
it.tasks('runClientData')
131-
98+
it.run()
13299
}
133100

134101
then:
135-
run.task(':runClientData').outcome == TaskOutcome.SUCCESS
102+
run.checkModLoading()
136103
}
137104
}

userdev/src/functionalTest/groovy/net/neoforged/gradle/userdev/ConfigurationTests.groovy

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ package net.neoforged.gradle.userdev
33

44
import net.neoforged.trainingwheels.gradle.functional.BuilderBasedTestSpecification
55
import org.gradle.testkit.runner.TaskOutcome
6+
import net.neoforged.gradle.userdev.constants.TestConstants
67

78
class ConfigurationTests extends BuilderBasedTestSpecification {
89

@@ -16,7 +17,7 @@ class ConfigurationTests extends BuilderBasedTestSpecification {
1617
given:
1718
def project = create("userdev_in_implementation_does_not_leak", {
1819
it.build("""
19-
java.toolchain.languageVersion = JavaLanguageVersion.of(21)
20+
java.toolchain.languageVersion = JavaLanguageVersion.of(${TestConstants.Latest.JavaVersion})
2021
2122
dependencies {
2223
implementation 'net.neoforged:neoforge:+'
@@ -81,7 +82,7 @@ class ConfigurationTests extends BuilderBasedTestSpecification {
8182
def project = create("userdev_in_implementation_does_not_leak_via_publishing", {
8283
it.plugin('maven-publish')
8384
it.build("""
84-
java.toolchain.languageVersion = JavaLanguageVersion.of(21)
85+
java.toolchain.languageVersion = JavaLanguageVersion.of(${TestConstants.Latest.JavaVersion})
8586
8687
dependencies {
8788
implementation 'net.neoforged:neoforge:+'
@@ -132,7 +133,7 @@ class ConfigurationTests extends BuilderBasedTestSpecification {
132133
def project = create("userdev_with_delayed_config_works", {
133134
it.plugin('maven-publish')
134135
it.build("""
135-
java.toolchain.languageVersion = JavaLanguageVersion.of(21)
136+
java.toolchain.languageVersion = JavaLanguageVersion.of(${TestConstants.Latest.JavaVersion})
136137
137138
dependencies {
138139
implementation 'net.neoforged:neoforge:+'

userdev/src/functionalTest/groovy/net/neoforged/gradle/userdev/DepreciationTests.groovy

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ package net.neoforged.gradle.userdev
33

44
import net.neoforged.trainingwheels.gradle.functional.BuilderBasedTestSpecification
55
import org.gradle.testkit.runner.TaskOutcome
6+
import net.neoforged.gradle.userdev.constants.TestConstants
67

78
class DepreciationTests extends BuilderBasedTestSpecification {
89

@@ -17,7 +18,7 @@ class DepreciationTests extends BuilderBasedTestSpecification {
1718
given:
1819
def project = create("apply_supports_configuration_cache_build", {
1920
it.build("""
20-
java.toolchain.languageVersion = JavaLanguageVersion.of(21)
21+
java.toolchain.languageVersion = JavaLanguageVersion.of(${TestConstants.Latest.JavaVersion})
2122
""")
2223
it.withToolchains()
2324
it.withGlobalCacheDirectory(tempDir)
@@ -37,7 +38,7 @@ class DepreciationTests extends BuilderBasedTestSpecification {
3738
given:
3839
def project = create("compile_supports_configuration_cache_build", {
3940
it.build("""
40-
java.toolchain.languageVersion = JavaLanguageVersion.of(21)
41+
java.toolchain.languageVersion = JavaLanguageVersion.of(${TestConstants.Latest.JavaVersion})
4142
4243
dependencies {
4344
implementation 'net.neoforged:neoforge:+'

0 commit comments

Comments
 (0)