diff --git a/gradle.properties b/gradle.properties index 001d0eda5..6c8af59fe 100644 --- a/gradle.properties +++ b/gradle.properties @@ -37,6 +37,6 @@ spock_version=2.1 spock_groovy_version=3.0 mockito_version=4.11.0 jimfs_version=1.2 -trainingwheels_version=2.0.7 +trainingwheels_version=2.0.10 githubCiTesting=true diff --git a/neoform/src/main/java/net/neoforged/gradle/neoform/runtime/extensions/NeoFormRuntimeExtension.java b/neoform/src/main/java/net/neoforged/gradle/neoform/runtime/extensions/NeoFormRuntimeExtension.java index 6964e7b7f..8866e92f4 100644 --- a/neoform/src/main/java/net/neoforged/gradle/neoform/runtime/extensions/NeoFormRuntimeExtension.java +++ b/neoform/src/main/java/net/neoforged/gradle/neoform/runtime/extensions/NeoFormRuntimeExtension.java @@ -595,7 +595,7 @@ protected void bakeDefinition(NeoFormRuntimeDefinition definition) ).orElseThrow(() -> new IllegalStateException("No input for recompile task due to pre-task adapters")); final FileCollection recompileDependencies = - definition.getAdditionalRecompileDependencies().plus(spec.getProject().files(definition.getMinecraftDependenciesConfiguration())); + definition.getMinecraftDependenciesConfiguration().plus(spec.getProject().files(definition.getAdditionalRecompileDependencies())); final TaskProvider recompileTask = createRecompileTask(definition, recompileInput, recompileDependencies, task -> { diff --git a/settings.gradle b/settings.gradle index 1a8163245..af6aaf824 100644 --- a/settings.gradle +++ b/settings.gradle @@ -1,12 +1,12 @@ pluginManagement { repositories { gradlePluginPortal() - maven { url = 'https://maven.neoforged.net/' } + maven { url = 'https://maven.neoforged.net/releases' } } } plugins { - id 'org.gradle.toolchains.foojay-resolver-convention' version '0.7.0' + id 'org.gradle.toolchains.foojay-resolver-convention' version '1.0.0' } rootProject.name = 'NeoGradle' diff --git a/test-utils/src/main/groovy/net/neoforged/gradle/utils/test/extensions/RuntimeBuilderExtensions.groovy b/test-utils/src/main/groovy/net/neoforged/gradle/utils/test/extensions/RuntimeBuilderExtensions.groovy index 135009781..1200b7330 100644 --- a/test-utils/src/main/groovy/net/neoforged/gradle/utils/test/extensions/RuntimeBuilderExtensions.groovy +++ b/test-utils/src/main/groovy/net/neoforged/gradle/utils/test/extensions/RuntimeBuilderExtensions.groovy @@ -8,6 +8,10 @@ import net.neoforged.trainingwheels.gradle.functional.builder.Runtime */ class RuntimeBuilderExtensions { + static File withTemporaryGlobalCacheDirectory(final Runtime.Builder self) { + return withGlobalCacheDirectory(self, self.tempDir) + } + /** * Sets the global cache directory to the given {@param testProjectDir}. * diff --git a/userdev/src/functionalTest/groovy/net/neoforged/gradle/userdev/AccessTransformerTests.groovy b/userdev/src/functionalTest/groovy/net/neoforged/gradle/userdev/AccessTransformerTests.groovy index fe37caa67..13e69a731 100644 --- a/userdev/src/functionalTest/groovy/net/neoforged/gradle/userdev/AccessTransformerTests.groovy +++ b/userdev/src/functionalTest/groovy/net/neoforged/gradle/userdev/AccessTransformerTests.groovy @@ -3,6 +3,7 @@ package net.neoforged.gradle.userdev import groovy.json.JsonSlurper import net.neoforged.trainingwheels.gradle.functional.BuilderBasedTestSpecification import org.gradle.testkit.runner.TaskOutcome +import net.neoforged.gradle.userdev.constants.TestConstants import java.util.zip.ZipFile @@ -18,7 +19,7 @@ class AccessTransformerTests extends BuilderBasedTestSpecification { given: def project = create("userdev_supports_ats_from_file", { it.build(""" - java.toolchain.languageVersion = JavaLanguageVersion.of(21) + java.toolchain.languageVersion = JavaLanguageVersion.of(${TestConstants.Latest.JavaVersion}) minecraft.accessTransformers.file rootProject.file('src/main/resources/META-INF/accesstransformer.cfg') @@ -58,7 +59,7 @@ class AccessTransformerTests extends BuilderBasedTestSpecification { given: def project = create("userdev_supports_ats_from_file_decompiler_disabled", { it.build(""" - java.toolchain.languageVersion = JavaLanguageVersion.of(21) + java.toolchain.languageVersion = JavaLanguageVersion.of(${TestConstants.Latest.JavaVersion}) minecraft.accessTransformers.file rootProject.file('src/main/resources/META-INF/accesstransformer.cfg') @@ -99,7 +100,7 @@ class AccessTransformerTests extends BuilderBasedTestSpecification { given: def project = create("userdev_supports_ats_from_file", { it.build(""" - java.toolchain.languageVersion = JavaLanguageVersion.of(21) + java.toolchain.languageVersion = JavaLanguageVersion.of(${TestConstants.Latest.JavaVersion}) dependencies { implementation 'net.neoforged:neoforge:+' @@ -137,7 +138,7 @@ class AccessTransformerTests extends BuilderBasedTestSpecification { given: def project = create("userdev_supports_ats_in_multiple_distinctly_named_files", { it.build(""" - java.toolchain.languageVersion = JavaLanguageVersion.of(21) + java.toolchain.languageVersion = JavaLanguageVersion.of(${TestConstants.Latest.JavaVersion}) minecraft.accessTransformers.file rootProject.file('src/main/resources/META-INF/accesstransformer.cfg') minecraft.accessTransformers.file rootProject.file('src/main/resources/META-INF/accesstransformer2.cfg') @@ -178,7 +179,7 @@ class AccessTransformerTests extends BuilderBasedTestSpecification { given: def project = create("userdev_supports_ats_in_files_named_the_same", { it.build(""" - java.toolchain.languageVersion = JavaLanguageVersion.of(21) + java.toolchain.languageVersion = JavaLanguageVersion.of(${TestConstants.Latest.JavaVersion}) minecraft.accessTransformers.file rootProject.file('src/main/resources/META-INF/accesstransformer.cfg') minecraft.accessTransformers.file rootProject.file('src/main/resources/accesstransformer.cfg') @@ -219,7 +220,7 @@ class AccessTransformerTests extends BuilderBasedTestSpecification { given: def consumedProject = create("u_e_iis_publisher", { it.build(""" - java.toolchain.languageVersion = JavaLanguageVersion.of(21) + java.toolchain.languageVersion = JavaLanguageVersion.of(${TestConstants.Latest.JavaVersion}) group = "n.n.n.u.t.p" version = "1.0.0" @@ -255,7 +256,7 @@ class AccessTransformerTests extends BuilderBasedTestSpecification { and: def consumingProject = create("u_e_iis_consuming", { it.build(""" - java.toolchain.languageVersion = JavaLanguageVersion.of(21) + java.toolchain.languageVersion = JavaLanguageVersion.of(${TestConstants.Latest.JavaVersion}) group = "n.n.n.u.t.g" version = "1.0.0" diff --git a/userdev/src/functionalTest/groovy/net/neoforged/gradle/userdev/AdvancedFmlTests.groovy b/userdev/src/functionalTest/groovy/net/neoforged/gradle/userdev/AdvancedFmlTests.groovy index dafc1c403..56aedca5e 100644 --- a/userdev/src/functionalTest/groovy/net/neoforged/gradle/userdev/AdvancedFmlTests.groovy +++ b/userdev/src/functionalTest/groovy/net/neoforged/gradle/userdev/AdvancedFmlTests.groovy @@ -2,6 +2,7 @@ package net.neoforged.gradle.userdev import net.neoforged.trainingwheels.gradle.functional.BuilderBasedTestSpecification import org.gradle.testkit.runner.TaskOutcome +import net.neoforged.gradle.userdev.constants.TestConstants class AdvancedFmlTests extends BuilderBasedTestSpecification { @@ -15,7 +16,7 @@ class AdvancedFmlTests extends BuilderBasedTestSpecification { given: def project = create("running_patch_task_is_possible", { it.build(""" - java.toolchain.languageVersion = JavaLanguageVersion.of(21) + java.toolchain.languageVersion = JavaLanguageVersion.of(${TestConstants.Latest.JavaVersion}) repositories { mavenLocal() @@ -43,7 +44,7 @@ class AdvancedFmlTests extends BuilderBasedTestSpecification { given: def project = create("running_compile_in_ci", { it.build(""" - java.toolchain.languageVersion = JavaLanguageVersion.of(21) + java.toolchain.languageVersion = JavaLanguageVersion.of(${TestConstants.Latest.JavaVersion}) repositories { mavenLocal() @@ -84,7 +85,7 @@ class AdvancedFmlTests extends BuilderBasedTestSpecification { given: def project = create("running_compile_with_compiler_disabled", { it.build(""" - java.toolchain.languageVersion = JavaLanguageVersion.of(21) + java.toolchain.languageVersion = JavaLanguageVersion.of(${TestConstants.Latest.JavaVersion}) dependencies { implementation 'net.neoforged:neoforge:[21.11,21.12)' @@ -120,28 +121,13 @@ class AdvancedFmlTests extends BuilderBasedTestSpecification { def "a mod using a disabled decompiler should be able to run the game"() { given: def project = create("disabled_decompiler_runs_game", { - it.build(""" - java.toolchain.languageVersion = JavaLanguageVersion.of(21) - - repositories { - mavenCentral() - } - - dependencies { - implementation 'net.neoforged:neoforge:+' - } - """) - - it.withMod() - it.withToolchains() - it.withGlobalCacheDirectory(tempDir) + it.withRun() it.property("neogradle.subsystems.decompiler.enabled", "false") }) when: def run = project.run { - it.tasks(':runClientData') - it.stacktrace() + it.run() } then: @@ -153,7 +139,7 @@ class AdvancedFmlTests extends BuilderBasedTestSpecification { given: def project = create("enabled_decompiler_uses_setup", { it.build(""" - java.toolchain.languageVersion = JavaLanguageVersion.of(21) + java.toolchain.languageVersion = JavaLanguageVersion.of(${TestConstants.Latest.JavaVersion}) repositories { mavenCentral() diff --git a/userdev/src/functionalTest/groovy/net/neoforged/gradle/userdev/CentralCacheTests.groovy b/userdev/src/functionalTest/groovy/net/neoforged/gradle/userdev/CentralCacheTests.groovy index 29b00aa9f..fcfd431dd 100644 --- a/userdev/src/functionalTest/groovy/net/neoforged/gradle/userdev/CentralCacheTests.groovy +++ b/userdev/src/functionalTest/groovy/net/neoforged/gradle/userdev/CentralCacheTests.groovy @@ -4,6 +4,7 @@ import net.neoforged.gradle.common.services.caching.CachedExecutionService import net.neoforged.gradle.common.services.caching.locking.IOControlledFileBasedLock import net.neoforged.trainingwheels.gradle.functional.BuilderBasedTestSpecification import org.gradle.testkit.runner.TaskOutcome +import net.neoforged.gradle.userdev.constants.TestConstants import java.nio.file.Files @@ -19,7 +20,7 @@ class CentralCacheTests extends BuilderBasedTestSpecification { given: def project = create("caching_is_enabled_by_default", { it.build(""" - java.toolchain.languageVersion = JavaLanguageVersion.of(21) + java.toolchain.languageVersion = JavaLanguageVersion.of(${TestConstants.Latest.JavaVersion}) dependencies { implementation 'net.neoforged:neoforge:+' @@ -45,7 +46,7 @@ class CentralCacheTests extends BuilderBasedTestSpecification { File cacheDir; def project = create("cache_supports_cleanup_and_take_over_of_failed_lock", { it.build(""" - java.toolchain.languageVersion = JavaLanguageVersion.of(21) + java.toolchain.languageVersion = JavaLanguageVersion.of(${TestConstants.Latest.JavaVersion}) dependencies { implementation 'net.neoforged:neoforge:+' @@ -84,7 +85,7 @@ class CentralCacheTests extends BuilderBasedTestSpecification { given: def project = create("cache_can_be_disabled", { it.build(""" - java.toolchain.languageVersion = JavaLanguageVersion.of(21) + java.toolchain.languageVersion = JavaLanguageVersion.of(${TestConstants.Latest.JavaVersion}) dependencies { implementation 'net.neoforged:neoforge:+' @@ -110,7 +111,7 @@ class CentralCacheTests extends BuilderBasedTestSpecification { given: def project = create("userdev_supports_ats_from_file", { it.build(""" - java.toolchain.languageVersion = JavaLanguageVersion.of(21) + java.toolchain.languageVersion = JavaLanguageVersion.of(${TestConstants.Latest.JavaVersion}) minecraft.accessTransformers.file rootProject.file('src/main/resources/META-INF/accesstransformer.cfg') diff --git a/userdev/src/functionalTest/groovy/net/neoforged/gradle/userdev/ConfigurationCacheTests.groovy b/userdev/src/functionalTest/groovy/net/neoforged/gradle/userdev/ConfigurationCacheTests.groovy index 1f6692635..98ef04c88 100644 --- a/userdev/src/functionalTest/groovy/net/neoforged/gradle/userdev/ConfigurationCacheTests.groovy +++ b/userdev/src/functionalTest/groovy/net/neoforged/gradle/userdev/ConfigurationCacheTests.groovy @@ -1,8 +1,8 @@ package net.neoforged.gradle.userdev - import net.neoforged.trainingwheels.gradle.functional.BuilderBasedTestSpecification import org.gradle.testkit.runner.TaskOutcome +import net.neoforged.gradle.userdev.constants.TestConstants; class ConfigurationCacheTests extends BuilderBasedTestSpecification { @@ -16,7 +16,7 @@ class ConfigurationCacheTests extends BuilderBasedTestSpecification { given: def project = create("compile_supports_configuration_cache_build", { it.build(""" - java.toolchain.languageVersion = JavaLanguageVersion.of(21) + java.toolchain.languageVersion = JavaLanguageVersion.of(${TestConstants.Latest.JavaVersion}) dependencies { implementation 'net.neoforged:neoforge:+' @@ -41,7 +41,7 @@ class ConfigurationCacheTests extends BuilderBasedTestSpecification { given: def project = create("compile_supports_configuration_cache_build_and_is_reused", { it.build(""" - java.toolchain.languageVersion = JavaLanguageVersion.of(21) + java.toolchain.languageVersion = JavaLanguageVersion.of(${TestConstants.Latest.JavaVersion}) dependencies { implementation 'net.neoforged:neoforge:+' @@ -90,48 +90,15 @@ class ConfigurationCacheTests extends BuilderBasedTestSpecification { def "run_tasks_supports_configuration_cache_build"() { given: def project = create("compile_supports_configuration_cache_build", { - it.build(""" - java.toolchain.languageVersion = JavaLanguageVersion.of(21) - - dependencies { - implementation 'net.neoforged:neoforge:+' - } - - runs { - clientData { } - } - - afterEvaluate { - //We don't care for the error here, we just want to run the task so that the config cache is created - tasks.withType(JavaExec).named('runClientData') { - ignoreExitValue = true - group = 'run' - } - } - """) - it.file("src/main/java/net/neoforged/gradle/userdev/ConfigurationCacheTests.java", """ - package net.neoforged.gradle.userdev; - - import net.minecraft.client.Minecraft; - - public class ConfigurationCacheTests { - public static void main(String[] args) { - System.out.println(Minecraft.getInstance().getClass().toString()); - } - } - """) - it.withToolchains() - it.withGlobalCacheDirectory(tempDir) - it.enableLocalBuildCache() + it.withRun() }) when: def run = project.run { - it.tasks('runClientData') - + it.run() } then: - run.task(':runClientData').outcome == TaskOutcome.SUCCESS + run.checkModLoading() } } diff --git a/userdev/src/functionalTest/groovy/net/neoforged/gradle/userdev/ConfigurationTests.groovy b/userdev/src/functionalTest/groovy/net/neoforged/gradle/userdev/ConfigurationTests.groovy index e4080edc7..525a1fb5a 100644 --- a/userdev/src/functionalTest/groovy/net/neoforged/gradle/userdev/ConfigurationTests.groovy +++ b/userdev/src/functionalTest/groovy/net/neoforged/gradle/userdev/ConfigurationTests.groovy @@ -3,6 +3,7 @@ package net.neoforged.gradle.userdev import net.neoforged.trainingwheels.gradle.functional.BuilderBasedTestSpecification import org.gradle.testkit.runner.TaskOutcome +import net.neoforged.gradle.userdev.constants.TestConstants class ConfigurationTests extends BuilderBasedTestSpecification { @@ -16,7 +17,7 @@ class ConfigurationTests extends BuilderBasedTestSpecification { given: def project = create("userdev_in_implementation_does_not_leak", { it.build(""" - java.toolchain.languageVersion = JavaLanguageVersion.of(21) + java.toolchain.languageVersion = JavaLanguageVersion.of(${TestConstants.Latest.JavaVersion}) dependencies { implementation 'net.neoforged:neoforge:+' @@ -81,7 +82,7 @@ class ConfigurationTests extends BuilderBasedTestSpecification { def project = create("userdev_in_implementation_does_not_leak_via_publishing", { it.plugin('maven-publish') it.build(""" - java.toolchain.languageVersion = JavaLanguageVersion.of(21) + java.toolchain.languageVersion = JavaLanguageVersion.of(${TestConstants.Latest.JavaVersion}) dependencies { implementation 'net.neoforged:neoforge:+' @@ -132,7 +133,7 @@ class ConfigurationTests extends BuilderBasedTestSpecification { def project = create("userdev_with_delayed_config_works", { it.plugin('maven-publish') it.build(""" - java.toolchain.languageVersion = JavaLanguageVersion.of(21) + java.toolchain.languageVersion = JavaLanguageVersion.of(${TestConstants.Latest.JavaVersion}) dependencies { implementation 'net.neoforged:neoforge:+' diff --git a/userdev/src/functionalTest/groovy/net/neoforged/gradle/userdev/DepreciationTests.groovy b/userdev/src/functionalTest/groovy/net/neoforged/gradle/userdev/DepreciationTests.groovy index cf4c554cb..5ccb8ed2e 100644 --- a/userdev/src/functionalTest/groovy/net/neoforged/gradle/userdev/DepreciationTests.groovy +++ b/userdev/src/functionalTest/groovy/net/neoforged/gradle/userdev/DepreciationTests.groovy @@ -3,6 +3,7 @@ package net.neoforged.gradle.userdev import net.neoforged.trainingwheels.gradle.functional.BuilderBasedTestSpecification import org.gradle.testkit.runner.TaskOutcome +import net.neoforged.gradle.userdev.constants.TestConstants class DepreciationTests extends BuilderBasedTestSpecification { @@ -17,7 +18,7 @@ class DepreciationTests extends BuilderBasedTestSpecification { given: def project = create("apply_supports_configuration_cache_build", { it.build(""" - java.toolchain.languageVersion = JavaLanguageVersion.of(21) + java.toolchain.languageVersion = JavaLanguageVersion.of(${TestConstants.Latest.JavaVersion}) """) it.withToolchains() it.withGlobalCacheDirectory(tempDir) @@ -37,7 +38,7 @@ class DepreciationTests extends BuilderBasedTestSpecification { given: def project = create("compile_supports_configuration_cache_build", { it.build(""" - java.toolchain.languageVersion = JavaLanguageVersion.of(21) + java.toolchain.languageVersion = JavaLanguageVersion.of(${TestConstants.Latest.JavaVersion}) dependencies { implementation 'net.neoforged:neoforge:+' diff --git a/userdev/src/functionalTest/groovy/net/neoforged/gradle/userdev/FunctionalTests.groovy b/userdev/src/functionalTest/groovy/net/neoforged/gradle/userdev/FunctionalTests.groovy index bf52eb681..a03663b3b 100644 --- a/userdev/src/functionalTest/groovy/net/neoforged/gradle/userdev/FunctionalTests.groovy +++ b/userdev/src/functionalTest/groovy/net/neoforged/gradle/userdev/FunctionalTests.groovy @@ -3,6 +3,7 @@ package net.neoforged.gradle.userdev import net.neoforged.trainingwheels.gradle.functional.BuilderBasedTestSpecification import org.gradle.testkit.runner.TaskOutcome +import net.neoforged.gradle.userdev.constants.TestConstants class FunctionalTests extends BuilderBasedTestSpecification { @@ -16,8 +17,8 @@ class FunctionalTests extends BuilderBasedTestSpecification { given: def project = create("running_patch_task_is_possible", { it.build(""" - java.toolchain.languageVersion = JavaLanguageVersion.of(21) - + java.toolchain.languageVersion = JavaLanguageVersion.of(${TestConstants.Latest.JavaVersion}) + dependencies { implementation 'net.neoforged:neoforge:+' } @@ -39,7 +40,7 @@ class FunctionalTests extends BuilderBasedTestSpecification { given: def project = create("userdev_supports_version_ranges", { it.build(""" - java.toolchain.languageVersion = JavaLanguageVersion.of(21) + java.toolchain.languageVersion = JavaLanguageVersion.of(${TestConstants.Latest.JavaVersion}) dependencies { implementation 'net.neoforged:neoforge:[20,)' @@ -74,7 +75,7 @@ class FunctionalTests extends BuilderBasedTestSpecification { given: def project = create("userdev_supports_complex_versions", { it.build(""" - java.toolchain.languageVersion = JavaLanguageVersion.of(21) + java.toolchain.languageVersion = JavaLanguageVersion.of(${TestConstants.Latest.JavaVersion}) dependencies { implementation ('net.neoforged:neoforge') { @@ -114,7 +115,7 @@ class FunctionalTests extends BuilderBasedTestSpecification { given: def project = create("userdev_supports_offline_mode", { it.build(""" - java.toolchain.languageVersion = JavaLanguageVersion.of(21) + java.toolchain.languageVersion = JavaLanguageVersion.of(${TestConstants.Latest.JavaVersion}) dependencies { implementation 'net.neoforged:neoforge:+' @@ -158,7 +159,7 @@ class FunctionalTests extends BuilderBasedTestSpecification { given: def project = create("userdev_adds_mixin_extra_on_compile_classpath", { it.build(""" - java.toolchain.languageVersion = JavaLanguageVersion.of(21) + java.toolchain.languageVersion = JavaLanguageVersion.of(${TestConstants.Latest.JavaVersion}) dependencies { implementation 'net.neoforged:neoforge:+' @@ -193,7 +194,7 @@ class FunctionalTests extends BuilderBasedTestSpecification { given: def project = create("compile_with_gradle_and_official_mappings", { it.build(""" - java.toolchain.languageVersion = JavaLanguageVersion.of(21) + java.toolchain.languageVersion = JavaLanguageVersion.of(${TestConstants.Latest.JavaVersion}) dependencies { implementation 'net.neoforged:neoforge:+' @@ -227,7 +228,7 @@ class FunctionalTests extends BuilderBasedTestSpecification { given: def project = create("compile_with_gradle_and_official_mappings", { it.build(""" - java.toolchain.languageVersion = JavaLanguageVersion.of(21) + java.toolchain.languageVersion = JavaLanguageVersion.of(${TestConstants.Latest.JavaVersion}) dependencies { implementation 'net.neoforged:neoforge:+' @@ -263,7 +264,7 @@ class FunctionalTests extends BuilderBasedTestSpecification { given: def project = create("gradle_userdev_clean_build", { it.build(""" - java.toolchain.languageVersion = JavaLanguageVersion.of(21) + java.toolchain.languageVersion = JavaLanguageVersion.of(${TestConstants.Latest.JavaVersion}) dependencies { implementation 'net.neoforged:neoforge:+' @@ -299,7 +300,7 @@ class FunctionalTests extends BuilderBasedTestSpecification { given: def project = create("userdev_supports_loading_from_buildcache", { it.build(""" - java.toolchain.languageVersion = JavaLanguageVersion.of(21) + java.toolchain.languageVersion = JavaLanguageVersion.of(${TestConstants.Latest.JavaVersion}) dependencies { implementation 'net.neoforged:neoforge:+' @@ -348,7 +349,7 @@ class FunctionalTests extends BuilderBasedTestSpecification { given: def project = create("userdev_supports_loading_from_buildcache", { it.build(""" - java.toolchain.languageVersion = JavaLanguageVersion.of(21) + java.toolchain.languageVersion = JavaLanguageVersion.of(${TestConstants.Latest.JavaVersion}) repositories { exclusiveContent { @@ -403,7 +404,7 @@ class FunctionalTests extends BuilderBasedTestSpecification { given: def project = create("gradle_multi_sourceset", { it.build(""" - java.toolchain.languageVersion = JavaLanguageVersion.of(21) + java.toolchain.languageVersion = JavaLanguageVersion.of(${TestConstants.Latest.JavaVersion}) sourceSets { content { @@ -459,7 +460,7 @@ class FunctionalTests extends BuilderBasedTestSpecification { given: def project = create("gradle_multi_sourceset", { it.build(""" - java.toolchain.languageVersion = JavaLanguageVersion.of(21) + java.toolchain.languageVersion = JavaLanguageVersion.of(${TestConstants.Latest.JavaVersion}) dependencies { api 'net.neoforged:neoforge:+' diff --git a/userdev/src/functionalTest/groovy/net/neoforged/gradle/userdev/FutureMCVersionTests.groovy b/userdev/src/functionalTest/groovy/net/neoforged/gradle/userdev/FutureMCVersionTests.groovy index 262899925..61410819f 100644 --- a/userdev/src/functionalTest/groovy/net/neoforged/gradle/userdev/FutureMCVersionTests.groovy +++ b/userdev/src/functionalTest/groovy/net/neoforged/gradle/userdev/FutureMCVersionTests.groovy @@ -2,6 +2,7 @@ package net.neoforged.gradle.userdev import net.neoforged.trainingwheels.gradle.functional.BuilderBasedTestSpecification import org.gradle.testkit.runner.TaskOutcome +import net.neoforged.gradle.userdev.constants.TestConstants class FutureMCVersionTests extends BuilderBasedTestSpecification { diff --git a/userdev/src/functionalTest/groovy/net/neoforged/gradle/userdev/InterfaceInjectionTests.groovy b/userdev/src/functionalTest/groovy/net/neoforged/gradle/userdev/InterfaceInjectionTests.groovy index ac999eb94..f76d2c6c4 100644 --- a/userdev/src/functionalTest/groovy/net/neoforged/gradle/userdev/InterfaceInjectionTests.groovy +++ b/userdev/src/functionalTest/groovy/net/neoforged/gradle/userdev/InterfaceInjectionTests.groovy @@ -1,6 +1,7 @@ package net.neoforged.gradle.userdev import groovy.json.JsonSlurper +import net.neoforged.gradle.userdev.constants.TestConstants import net.neoforged.gradle.userdev.extensions.TestExtensions import net.neoforged.trainingwheels.gradle.functional.BuilderBasedTestSpecification import org.gradle.testkit.runner.TaskOutcome @@ -17,7 +18,7 @@ class InterfaceInjectionTests extends BuilderBasedTestSpecification { given: def project = create("userdev_supports_iis_from_file", { it.build(""" - java.toolchain.languageVersion = JavaLanguageVersion.of(21) + java.toolchain.languageVersion = JavaLanguageVersion.of(${TestConstants.Latest.JavaVersion}) minecraft.interfaceInjections.file rootProject.file('src/main/resources/META-INF/iis.json') @@ -70,7 +71,7 @@ class InterfaceInjectionTests extends BuilderBasedTestSpecification { given: def project = create("userdev_supports_iis_from_file_no_decompile", { it.build(""" - java.toolchain.languageVersion = JavaLanguageVersion.of(21) + java.toolchain.languageVersion = JavaLanguageVersion.of(${TestConstants.Latest.JavaVersion}) minecraft.interfaceInjections.file rootProject.file('src/main/resources/META-INF/iis.json') @@ -125,7 +126,7 @@ class InterfaceInjectionTests extends BuilderBasedTestSpecification { given: def project = create("userdev_supports_iis_from_file_decompiler_disabled", { it.build(""" - java.toolchain.languageVersion = JavaLanguageVersion.of(21) + java.toolchain.languageVersion = JavaLanguageVersion.of(${TestConstants.Latest.JavaVersion}) dependencies { implementation 'net.neoforged:neoforge:+' @@ -170,7 +171,7 @@ class InterfaceInjectionTests extends BuilderBasedTestSpecification { given: def project = create("userdev_supports_iis_in_multiple_distinctly_named_files", { it.build(""" - java.toolchain.languageVersion = JavaLanguageVersion.of(21) + java.toolchain.languageVersion = JavaLanguageVersion.of(${TestConstants.Latest.JavaVersion}) minecraft.interfaceInjections.file rootProject.file('src/main/resources/META-INF/iis.json') minecraft.interfaceInjections.file rootProject.file('src/main/resources/META-INF/iis2.json') @@ -225,7 +226,7 @@ class InterfaceInjectionTests extends BuilderBasedTestSpecification { given: def project = create("userdev_supports_iis_in_files_named_the_same", { it.build(""" - java.toolchain.languageVersion = JavaLanguageVersion.of(21) + java.toolchain.languageVersion = JavaLanguageVersion.of(${TestConstants.Latest.JavaVersion}) minecraft.interfaceInjections.file rootProject.file('src/main/resources/META-INF/iis.json') minecraft.interfaceInjections.file rootProject.file('src/main/resources/iis.json') @@ -280,7 +281,7 @@ class InterfaceInjectionTests extends BuilderBasedTestSpecification { given: def project = create("userdev_includes_all_recompile_dependencies", { it.build(""" - java.toolchain.languageVersion = JavaLanguageVersion.of(21) + java.toolchain.languageVersion = JavaLanguageVersion.of(${TestConstants.Latest.JavaVersion}) minecraft.interfaceInjections.file rootProject.file('src/main/resources/META-INF/iis.json') minecraft.interfaceInjections.file rootProject.file('src/main/resources/iis.json') @@ -336,7 +337,7 @@ class InterfaceInjectionTests extends BuilderBasedTestSpecification { given: def project = create("userdev_supports_iis_inner_from_file_no_decompile", { it.build(""" - java.toolchain.languageVersion = JavaLanguageVersion.of(21) + java.toolchain.languageVersion = JavaLanguageVersion.of(${TestConstants.Latest.JavaVersion}) minecraft.interfaceInjections.file rootProject.file('src/main/resources/META-INF/iis.json') @@ -393,7 +394,7 @@ class InterfaceInjectionTests extends BuilderBasedTestSpecification { given: def project = create("userdev_supports_iis_inner_from_file_no_decompile", { it.build(""" - java.toolchain.languageVersion = JavaLanguageVersion.of(21) + java.toolchain.languageVersion = JavaLanguageVersion.of(${TestConstants.Latest.JavaVersion}) minecraft.interfaceInjections.file rootProject.file('src/main/resources/META-INF/iis.json') @@ -449,7 +450,7 @@ class InterfaceInjectionTests extends BuilderBasedTestSpecification { given: def consumedProject = create("u_e_iis_publisher", { it.build(""" - java.toolchain.languageVersion = JavaLanguageVersion.of(21) + java.toolchain.languageVersion = JavaLanguageVersion.of(${TestConstants.Latest.JavaVersion}) group = "n.n.n.u.t.p" version = "1.0.0" @@ -498,9 +499,7 @@ class InterfaceInjectionTests extends BuilderBasedTestSpecification { and: def consumingProject = create("u_e_iis_consuming", { - it.build(""" - java.toolchain.languageVersion = JavaLanguageVersion.of(21) - + it.run(""" group = "n.n.n.u.t.g" version = "1.0.0" @@ -509,7 +508,6 @@ class InterfaceInjectionTests extends BuilderBasedTestSpecification { } dependencies { - implementation 'net.neoforged:neoforge:+' implementation 'n.n.n.u.t.p:u_e_iis_publisher:1.0.0' } @@ -531,7 +529,7 @@ class InterfaceInjectionTests extends BuilderBasedTestSpecification { when: def consumerRun = consumingProject.run { - it.tasks("runClientData") + it.run() it.stacktrace() } diff --git a/userdev/src/functionalTest/groovy/net/neoforged/gradle/userdev/MultiProjectTests.groovy b/userdev/src/functionalTest/groovy/net/neoforged/gradle/userdev/MultiProjectTests.groovy index e760d9159..93bdbeb64 100644 --- a/userdev/src/functionalTest/groovy/net/neoforged/gradle/userdev/MultiProjectTests.groovy +++ b/userdev/src/functionalTest/groovy/net/neoforged/gradle/userdev/MultiProjectTests.groovy @@ -4,6 +4,7 @@ package net.neoforged.gradle.userdev import net.neoforged.trainingwheels.gradle.functional.BuilderBasedTestSpecification import net.neoforged.trainingwheels.gradle.functional.builder.Runtime import org.gradle.testkit.runner.TaskOutcome +import net.neoforged.gradle.userdev.constants.TestConstants class MultiProjectTests extends BuilderBasedTestSpecification { @@ -17,42 +18,20 @@ class MultiProjectTests extends BuilderBasedTestSpecification { given: def rootProject = create("multi_neoforge_root", { it.build(""" - java.toolchain.languageVersion = JavaLanguageVersion.of(21) + java.toolchain.languageVersion = JavaLanguageVersion.of(${TestConstants.Latest.JavaVersion}) """) it.withToolchains() it.withGlobalCacheDirectory(tempDir) }) def apiProject = create(rootProject, "api", { - it.build(""" - java.toolchain.languageVersion = JavaLanguageVersion.of(21) - - dependencies { - implementation 'net.neoforged:neoforge:+' - } - """) - it.file("src/main/java/net/neoforged/gradle/apitest/FunctionalTests.java", """ - package net.neoforged.gradle.apitest; - - import net.minecraft.client.Minecraft; - - public class FunctionalTests { - public static void main(String[] args) { - System.out.println(Minecraft.getInstance().getClass().toString()); - } - } - """) - it.withToolchains() - it.withGlobalCacheDirectory(tempDir) + it.run() it.plugin(this.pluginUnderTest) }) def mainProject = create(rootProject,"main", { - it.build(""" - java.toolchain.languageVersion = JavaLanguageVersion.of(21) - + it.run(""" dependencies { - implementation 'net.neoforged:neoforge:+' implementation project(':api') } @@ -62,15 +41,12 @@ class MultiProjectTests extends BuilderBasedTestSpecification { } } """) - it.withMod() - it.withToolchains() - it.withGlobalCacheDirectory(tempDir) it.plugin(this.pluginUnderTest) }) when: def run = rootProject.run { - it.tasks(':main:runClientData') + it.run() } then: @@ -91,7 +67,7 @@ class MultiProjectTests extends BuilderBasedTestSpecification { """.trim()) it.build(""" - java.toolchain.languageVersion = JavaLanguageVersion.of(21) + java.toolchain.languageVersion = JavaLanguageVersion.of(${TestConstants.Latest.JavaVersion}) """) it.withToolchains() it.withGlobalCacheDirectory(tempDir) @@ -99,7 +75,7 @@ class MultiProjectTests extends BuilderBasedTestSpecification { def apiProject = create(rootProject, "api", { it.build(""" - java.toolchain.languageVersion = JavaLanguageVersion.of(21) + java.toolchain.languageVersion = JavaLanguageVersion.of(${TestConstants.Latest.JavaVersion}) dependencies { api(libs.neoforge) @@ -124,7 +100,7 @@ class MultiProjectTests extends BuilderBasedTestSpecification { def mainProject = create(rootProject,"main", { it.build(""" - java.toolchain.languageVersion = JavaLanguageVersion.of(21) + java.toolchain.languageVersion = JavaLanguageVersion.of(${TestConstants.Latest.JavaVersion}) dependencies { implementation project(':api') @@ -160,79 +136,11 @@ class MultiProjectTests extends BuilderBasedTestSpecification { run.task(':main:build').outcome == TaskOutcome.SUCCESS } - def "multiple projects with neoforge dependencies should be able to run the game when renderDoc is enabled"() { - given: - def rootProject = create("multi_neoforge_root_renderdoc", { - it.build(""" - java.toolchain.languageVersion = JavaLanguageVersion.of(21) - """) - it.withToolchains() - it.withGlobalCacheDirectory(tempDir) - }) - - def apiProject = create(rootProject, "api", { - it.build(""" - java.toolchain.languageVersion = JavaLanguageVersion.of(21) - - dependencies { - implementation 'net.neoforged:neoforge:+' - } - """) - it.file("src/main/java/net/neoforged/gradle/apitest/FunctionalTests.java", """ - package net.neoforged.gradle.apitest; - - import net.minecraft.client.Minecraft; - - public class FunctionalTests { - public static void main(String[] args) { - System.out.println(Minecraft.getInstance().getClass().toString()); - } - } - """) - it.withToolchains() - it.withGlobalCacheDirectory(tempDir) - it.plugin(this.pluginUnderTest) - }) - - def mainProject = create(rootProject,"main", { - it.build(""" - java.toolchain.languageVersion = JavaLanguageVersion.of(21) - - dependencies { - implementation 'net.neoforged:neoforge:+' - implementation project(':api') - } - - runs { - client { - modSource project(':api').sourceSets.main - - renderDoc { - enabled = true - } - } - } - """) - it.withMod() - it.withToolchains() - it.withGlobalCacheDirectory(tempDir) - it.plugin(this.pluginUnderTest) - }) - - when: - def run = rootProject.run { - it.tasks(':main:runClientData') - } - - then: - run.checkModLoading() - } - def "multiple projects with neoforge dependencies should run using the central cache"() { given: def rootProject = create("multi_neoforge_root_cached", { it.build(""" - java.toolchain.languageVersion = JavaLanguageVersion.of(21) + java.toolchain.languageVersion = JavaLanguageVersion.of(${TestConstants.Latest.JavaVersion}) """) it.withGlobalCacheDirectory(tempDir) it.withToolchains() @@ -240,7 +148,7 @@ class MultiProjectTests extends BuilderBasedTestSpecification { def apiProject = create(rootProject, "api", { it.build(""" - java.toolchain.languageVersion = JavaLanguageVersion.of(21) + java.toolchain.languageVersion = JavaLanguageVersion.of(${TestConstants.Latest.JavaVersion}) dependencies { implementation 'net.neoforged:neoforge:+' @@ -264,7 +172,7 @@ class MultiProjectTests extends BuilderBasedTestSpecification { def mainProject = create(rootProject,"main", { it.build(""" - java.toolchain.languageVersion = JavaLanguageVersion.of(21) + java.toolchain.languageVersion = JavaLanguageVersion.of(${TestConstants.Latest.JavaVersion}) dependencies { implementation 'net.neoforged:neoforge:+' @@ -310,7 +218,7 @@ class MultiProjectTests extends BuilderBasedTestSpecification { given: def rootProject = create("multi_neoforge_root_none_ng", { it.build(""" - java.toolchain.languageVersion = JavaLanguageVersion.of(21) + java.toolchain.languageVersion = JavaLanguageVersion.of(${TestConstants.Latest.JavaVersion}) """) it.withToolchains() it.withGlobalCacheDirectory(tempDir) @@ -319,7 +227,7 @@ class MultiProjectTests extends BuilderBasedTestSpecification { create(rootProject, "api", { it.build(""" - java.toolchain.languageVersion = JavaLanguageVersion.of(21) + java.toolchain.languageVersion = JavaLanguageVersion.of(${TestConstants.Latest.JavaVersion}) dependencies { } @@ -340,7 +248,7 @@ class MultiProjectTests extends BuilderBasedTestSpecification { create(rootProject,"main", { it.build(""" - java.toolchain.languageVersion = JavaLanguageVersion.of(21) + java.toolchain.languageVersion = JavaLanguageVersion.of(${TestConstants.Latest.JavaVersion}) dependencies { implementation 'net.neoforged:neoforge:20.6.104-beta' @@ -406,7 +314,7 @@ class MultiProjectTests extends BuilderBasedTestSpecification { given: def rootProject = create("multi_neoforge_root_none_ng", { it.build(""" - java.toolchain.languageVersion = JavaLanguageVersion.of(21) + java.toolchain.languageVersion = JavaLanguageVersion.of(${TestConstants.Latest.JavaVersion}) """) it.withToolchains() it.withGlobalCacheDirectory(tempDir) @@ -415,7 +323,7 @@ class MultiProjectTests extends BuilderBasedTestSpecification { create(rootProject, "api", { it.build(""" - java.toolchain.languageVersion = JavaLanguageVersion.of(21) + java.toolchain.languageVersion = JavaLanguageVersion.of(${TestConstants.Latest.JavaVersion}) dependencies { } @@ -436,7 +344,7 @@ class MultiProjectTests extends BuilderBasedTestSpecification { create(rootProject,"main", { it.build(""" - java.toolchain.languageVersion = JavaLanguageVersion.of(21) + java.toolchain.languageVersion = JavaLanguageVersion.of(${TestConstants.Latest.JavaVersion}) dependencies { implementation 'net.neoforged:neoforge:20.6.104-beta' @@ -503,7 +411,7 @@ class MultiProjectTests extends BuilderBasedTestSpecification { given: def rootProject = create("multi_neoforge_root_none_ng", { it.build(""" - java.toolchain.languageVersion = JavaLanguageVersion.of(21) + java.toolchain.languageVersion = JavaLanguageVersion.of(${TestConstants.Latest.JavaVersion}) """) it.withToolchains() it.withGlobalCacheDirectory(tempDir) @@ -512,7 +420,7 @@ class MultiProjectTests extends BuilderBasedTestSpecification { create(rootProject, "api", { it.build(""" - java.toolchain.languageVersion = JavaLanguageVersion.of(21) + java.toolchain.languageVersion = JavaLanguageVersion.of(${TestConstants.Latest.JavaVersion}) dependencies { } @@ -533,7 +441,7 @@ class MultiProjectTests extends BuilderBasedTestSpecification { create(rootProject,"main", { it.build(""" - java.toolchain.languageVersion = JavaLanguageVersion.of(21) + java.toolchain.languageVersion = JavaLanguageVersion.of(${TestConstants.Latest.JavaVersion}) dependencies { implementation 'net.neoforged:neoforge:20.6.104-beta' @@ -598,7 +506,7 @@ class MultiProjectTests extends BuilderBasedTestSpecification { given: def rootProject = create("multi_neoforge_root_none_ng", { it.build(""" - java.toolchain.languageVersion = JavaLanguageVersion.of(21) + java.toolchain.languageVersion = JavaLanguageVersion.of(${TestConstants.Latest.JavaVersion}) """) it.withToolchains() it.withGlobalCacheDirectory(tempDir) @@ -607,7 +515,7 @@ class MultiProjectTests extends BuilderBasedTestSpecification { create(rootProject, "api", { it.build(""" - java.toolchain.languageVersion = JavaLanguageVersion.of(21) + java.toolchain.languageVersion = JavaLanguageVersion.of(${TestConstants.Latest.JavaVersion}) dependencies { } @@ -628,7 +536,7 @@ class MultiProjectTests extends BuilderBasedTestSpecification { create(rootProject,"main", { it.build(""" - java.toolchain.languageVersion = JavaLanguageVersion.of(21) + java.toolchain.languageVersion = JavaLanguageVersion.of(${TestConstants.Latest.JavaVersion}) dependencies { implementation 'net.neoforged:neoforge:20.6.104-beta' @@ -694,7 +602,7 @@ class MultiProjectTests extends BuilderBasedTestSpecification { given: def rootProject = create("multi_neoforge_root_none_ng", { it.build(""" - java.toolchain.languageVersion = JavaLanguageVersion.of(21) + java.toolchain.languageVersion = JavaLanguageVersion.of(${TestConstants.Latest.JavaVersion}) """) it.withToolchains() it.withGlobalCacheDirectory(tempDir) @@ -702,7 +610,7 @@ class MultiProjectTests extends BuilderBasedTestSpecification { create(rootProject, "api", { it.build(""" - java.toolchain.languageVersion = JavaLanguageVersion.of(21) + java.toolchain.languageVersion = JavaLanguageVersion.of(${TestConstants.Latest.JavaVersion}) dependencies { } @@ -723,7 +631,7 @@ class MultiProjectTests extends BuilderBasedTestSpecification { create(rootProject,"main", { it.build(""" - java.toolchain.languageVersion = JavaLanguageVersion.of(21) + java.toolchain.languageVersion = JavaLanguageVersion.of(${TestConstants.Latest.JavaVersion}) dependencies { implementation 'net.neoforged:neoforge:20.6.104-beta' @@ -791,7 +699,7 @@ class MultiProjectTests extends BuilderBasedTestSpecification { given: def rootProject = create("multi_neoforge_root_cached", { it.build(""" - java.toolchain.languageVersion = JavaLanguageVersion.of(21) + java.toolchain.languageVersion = JavaLanguageVersion.of(${TestConstants.Latest.JavaVersion}) """) it.withGlobalCacheDirectory(tempDir) it.withToolchains() @@ -800,7 +708,7 @@ class MultiProjectTests extends BuilderBasedTestSpecification { def apiProject = create(rootProject, "api", { it.build(""" - java.toolchain.languageVersion = JavaLanguageVersion.of(21) + java.toolchain.languageVersion = JavaLanguageVersion.of(${TestConstants.Latest.JavaVersion}) dependencies { implementation 'net.neoforged:neoforge:+' @@ -824,7 +732,7 @@ class MultiProjectTests extends BuilderBasedTestSpecification { def mainProject = create(rootProject,"main", { it.build(""" - java.toolchain.languageVersion = JavaLanguageVersion.of(21) + java.toolchain.languageVersion = JavaLanguageVersion.of(${TestConstants.Latest.JavaVersion}) dependencies { implementation 'net.neoforged:neoforge:+' @@ -876,14 +784,14 @@ class MultiProjectTests extends BuilderBasedTestSpecification { given: def rootProject = create("multi_neoforge_root_sourceset_inheritance", { it.build(""" - java.toolchain.languageVersion = JavaLanguageVersion.of(21) + java.toolchain.languageVersion = JavaLanguageVersion.of(${TestConstants.Latest.JavaVersion}) """) it.withToolchains() }) def apiProject = create(rootProject, "api", { it.build(""" - java.toolchain.languageVersion = JavaLanguageVersion.of(21) + java.toolchain.languageVersion = JavaLanguageVersion.of(${TestConstants.Latest.JavaVersion}) """) it.withToolchains() it.plugin(this.pluginUnderTest) @@ -891,7 +799,7 @@ class MultiProjectTests extends BuilderBasedTestSpecification { def mainProject = create(rootProject,"main", { it.build(""" - java.toolchain.languageVersion = JavaLanguageVersion.of(21) + java.toolchain.languageVersion = JavaLanguageVersion.of(${TestConstants.Latest.JavaVersion}) sourceSets.main.inherits.from(project(':api').sourceSets.main) @@ -914,14 +822,14 @@ class MultiProjectTests extends BuilderBasedTestSpecification { given: def rootProject = create("multi_neoforge_root_sourceset_dependency", { it.build(""" - java.toolchain.languageVersion = JavaLanguageVersion.of(21) + java.toolchain.languageVersion = JavaLanguageVersion.of(${TestConstants.Latest.JavaVersion}) """) it.withToolchains() }) def apiProject = create(rootProject, "api", { it.build(""" - java.toolchain.languageVersion = JavaLanguageVersion.of(21) + java.toolchain.languageVersion = JavaLanguageVersion.of(${TestConstants.Latest.JavaVersion}) """) it.withToolchains() it.plugin(this.pluginUnderTest) @@ -929,7 +837,7 @@ class MultiProjectTests extends BuilderBasedTestSpecification { def mainProject = create(rootProject,"main", { it.build(""" - java.toolchain.languageVersion = JavaLanguageVersion.of(21) + java.toolchain.languageVersion = JavaLanguageVersion.of(${TestConstants.Latest.JavaVersion}) sourceSets.main.depends.on(project(':api').sourceSets.main) diff --git a/userdev/src/functionalTest/groovy/net/neoforged/gradle/userdev/ParchmentTests.groovy b/userdev/src/functionalTest/groovy/net/neoforged/gradle/userdev/ParchmentTests.groovy index 6fd4b534e..2cb5e3d44 100644 --- a/userdev/src/functionalTest/groovy/net/neoforged/gradle/userdev/ParchmentTests.groovy +++ b/userdev/src/functionalTest/groovy/net/neoforged/gradle/userdev/ParchmentTests.groovy @@ -2,6 +2,7 @@ package net.neoforged.gradle.userdev import net.neoforged.trainingwheels.gradle.functional.BuilderBasedTestSpecification import org.gradle.testkit.runner.TaskOutcome +import net.neoforged.gradle.userdev.constants.TestConstants class ParchmentTests extends BuilderBasedTestSpecification { @@ -17,7 +18,7 @@ class ParchmentTests extends BuilderBasedTestSpecification { it.property("neogradle.subsystems.parchment.minecraftVersion", "1.21") it.property("neogradle.subsystems.parchment.mappingsVersion", "2024.07.28") it.build(""" - java.toolchain.languageVersion = JavaLanguageVersion.of(21) + java.toolchain.languageVersion = JavaLanguageVersion.of(${TestConstants.Latest.JavaVersion}) dependencies { implementation 'net.neoforged:neoforge:+' diff --git a/userdev/src/functionalTest/groovy/net/neoforged/gradle/userdev/RunTests.groovy b/userdev/src/functionalTest/groovy/net/neoforged/gradle/userdev/RunTests.groovy index 685292d99..a3ee3f1e5 100644 --- a/userdev/src/functionalTest/groovy/net/neoforged/gradle/userdev/RunTests.groovy +++ b/userdev/src/functionalTest/groovy/net/neoforged/gradle/userdev/RunTests.groovy @@ -3,6 +3,7 @@ package net.neoforged.gradle.userdev import net.neoforged.trainingwheels.gradle.functional.BuilderBasedTestSpecification import org.gradle.testkit.runner.TaskOutcome +import net.neoforged.gradle.userdev.constants.TestConstants class RunTests extends BuilderBasedTestSpecification { @@ -26,7 +27,7 @@ class RunTests extends BuilderBasedTestSpecification { """.trim()) it.build(""" - java.toolchain.languageVersion = JavaLanguageVersion.of(21) + java.toolchain.languageVersion = JavaLanguageVersion.of(${TestConstants.Latest.JavaVersion}) repositories { mavenCentral() @@ -35,16 +36,24 @@ class RunTests extends BuilderBasedTestSpecification { dependencies { implementation(libs.neoforge) } + + runs { + server { + environmentVariables.put('NEOFORGE_DEDICATED_SERVER_SELFTEST', "${(new Date()).format('ddMMyy_HHmm')}.json") + arguments.add('--nogui') + } + } """) - it.withMod() + it.file("runs/server/eula.txt", """eula=true""") it.withToolchains() - it.withGlobalCacheDirectory(tempDir) + it.enableLocalBuildCache() + it.withTemporaryGlobalCacheDirectory() + it.withMod() }) when: def run = project.run { - it.tasks(':runClientData') - it.stacktrace() + it.run() } then: @@ -55,7 +64,7 @@ class RunTests extends BuilderBasedTestSpecification { given: def project = create("runs_configuration_after_dependencies", { it.build(""" - java.toolchain.languageVersion = JavaLanguageVersion.of(21) + java.toolchain.languageVersion = JavaLanguageVersion.of(${TestConstants.Latest.JavaVersion}) repositories { mavenCentral() @@ -100,7 +109,7 @@ class RunTests extends BuilderBasedTestSpecification { given: def project = create("runs_before_dependencies", { it.build(""" - java.toolchain.languageVersion = JavaLanguageVersion.of(21) + java.toolchain.languageVersion = JavaLanguageVersion.of(${TestConstants.Latest.JavaVersion}) repositories { mavenCentral() @@ -135,7 +144,7 @@ class RunTests extends BuilderBasedTestSpecification { given: def project = create("runs_support_poms", { it.build(""" - java.toolchain.languageVersion = JavaLanguageVersion.of(21) + java.toolchain.languageVersion = JavaLanguageVersion.of(${TestConstants.Latest.JavaVersion}) repositories { mavenCentral() @@ -184,7 +193,7 @@ class RunTests extends BuilderBasedTestSpecification { given: def project = create("run_with_custom_dependencies", { it.build(""" - java.toolchain.languageVersion = JavaLanguageVersion.of(21) + java.toolchain.languageVersion = JavaLanguageVersion.of(${TestConstants.Latest.JavaVersion}) repositories { mavenCentral() @@ -233,7 +242,7 @@ class RunTests extends BuilderBasedTestSpecification { given: def project = create("run_with_custom_dependencies_warn_on_latest", { it.build(""" - java.toolchain.languageVersion = JavaLanguageVersion.of(21) + java.toolchain.languageVersion = JavaLanguageVersion.of(${TestConstants.Latest.JavaVersion}) repositories { mavenCentral() @@ -276,7 +285,7 @@ class RunTests extends BuilderBasedTestSpecification { given: def project = create("run_with_custom_dependencies_from_configuration", { it.build(""" - java.toolchain.languageVersion = JavaLanguageVersion.of(21) + java.toolchain.languageVersion = JavaLanguageVersion.of(${TestConstants.Latest.JavaVersion}) repositories { mavenCentral() @@ -335,7 +344,7 @@ class RunTests extends BuilderBasedTestSpecification { """.trim()) it.build(""" - java.toolchain.languageVersion = JavaLanguageVersion.of(21) + java.toolchain.languageVersion = JavaLanguageVersion.of(${TestConstants.Latest.JavaVersion}) repositories { mavenCentral() @@ -387,7 +396,7 @@ class RunTests extends BuilderBasedTestSpecification { given: def project = create("userdev_supports_unit_tests", { it.build(""" - java.toolchain.languageVersion = JavaLanguageVersion.of(21) + java.toolchain.languageVersion = JavaLanguageVersion.of(${TestConstants.Latest.JavaVersion}) repositories { mavenCentral() @@ -460,7 +469,7 @@ class RunTests extends BuilderBasedTestSpecification { it.property('neogradle.subsystems.conventions.runs.enabled', 'false') it.property('neogradle.subsystems.conventions.sourcesets.enabled', 'false') it.build(""" - java.toolchain.languageVersion = JavaLanguageVersion.of(21) + java.toolchain.languageVersion = JavaLanguageVersion.of(${TestConstants.Latest.JavaVersion}) repositories { mavenCentral() @@ -496,7 +505,7 @@ class RunTests extends BuilderBasedTestSpecification { def project = create("runs_can_inherit_from_each_other", { it.property('neogradle.subsystems.conventions.runs.enabled', 'false') it.build(""" - java.toolchain.languageVersion = JavaLanguageVersion.of(21) + java.toolchain.languageVersion = JavaLanguageVersion.of(${TestConstants.Latest.JavaVersion}) repositories { mavenCentral() @@ -555,7 +564,7 @@ class RunTests extends BuilderBasedTestSpecification { def project = create("runs_have_configurable_working_directories_with_default", { it.property('neogradle.subsystems.conventions.runs.enabled', 'false') it.build(""" - java.toolchain.languageVersion = JavaLanguageVersion.of(21) + java.toolchain.languageVersion = JavaLanguageVersion.of(${TestConstants.Latest.JavaVersion}) repositories { mavenCentral() diff --git a/userdev/src/functionalTest/groovy/net/neoforged/gradle/userdev/SourceSetTests.groovy b/userdev/src/functionalTest/groovy/net/neoforged/gradle/userdev/SourceSetTests.groovy index 73dffcc61..fbe4ccf55 100644 --- a/userdev/src/functionalTest/groovy/net/neoforged/gradle/userdev/SourceSetTests.groovy +++ b/userdev/src/functionalTest/groovy/net/neoforged/gradle/userdev/SourceSetTests.groovy @@ -1,6 +1,7 @@ package net.neoforged.gradle.userdev import net.neoforged.trainingwheels.gradle.functional.BuilderBasedTestSpecification +import net.neoforged.gradle.userdev.constants.TestConstants class SourceSetTests extends BuilderBasedTestSpecification { @@ -14,7 +15,7 @@ class SourceSetTests extends BuilderBasedTestSpecification { given: def project = create("inheriting_sourcesets_compile", { it.build(""" - java.toolchain.languageVersion = JavaLanguageVersion.of(21) + java.toolchain.languageVersion = JavaLanguageVersion.of(${TestConstants.Latest.JavaVersion}) sourceSets { target { @@ -57,7 +58,7 @@ class SourceSetTests extends BuilderBasedTestSpecification { given: def project = create("inheriting_sourcesets_runtime", { it.build(""" - java.toolchain.languageVersion = JavaLanguageVersion.of(21) + java.toolchain.languageVersion = JavaLanguageVersion.of(${TestConstants.Latest.JavaVersion}) sourceSets { target { @@ -100,7 +101,7 @@ class SourceSetTests extends BuilderBasedTestSpecification { given: def project = create("depending_sourcesets_compile", { it.build(""" - java.toolchain.languageVersion = JavaLanguageVersion.of(21) + java.toolchain.languageVersion = JavaLanguageVersion.of(${TestConstants.Latest.JavaVersion}) sourceSets { target { @@ -144,7 +145,7 @@ class SourceSetTests extends BuilderBasedTestSpecification { given: def project = create("depending_sourcesets_runtime", { it.build(""" - java.toolchain.languageVersion = JavaLanguageVersion.of(21) + java.toolchain.languageVersion = JavaLanguageVersion.of(${TestConstants.Latest.JavaVersion}) sourceSets { target { diff --git a/userdev/src/functionalTest/groovy/net/neoforged/gradle/userdev/UserDevPluginTests.groovy b/userdev/src/functionalTest/groovy/net/neoforged/gradle/userdev/UserDevPluginTests.groovy index 8a5519894..f5370a53b 100644 --- a/userdev/src/functionalTest/groovy/net/neoforged/gradle/userdev/UserDevPluginTests.groovy +++ b/userdev/src/functionalTest/groovy/net/neoforged/gradle/userdev/UserDevPluginTests.groovy @@ -1,6 +1,7 @@ package net.neoforged.gradle.userdev import net.neoforged.trainingwheels.gradle.functional.SimpleTestSpecification +import net.neoforged.gradle.userdev.constants.TestConstants class UserDevPluginTests extends SimpleTestSpecification { @@ -13,7 +14,7 @@ class UserDevPluginTests extends SimpleTestSpecification { id 'net.neoforged.gradle.userdev' } - java.toolchain.languageVersion = JavaLanguageVersion.of(21) + java.toolchain.languageVersion = JavaLanguageVersion.of(${TestConstants.Latest.JavaVersion}) """ when: @@ -31,7 +32,7 @@ class UserDevPluginTests extends SimpleTestSpecification { id 'net.neoforged.gradle.userdev' } - java.toolchain.languageVersion = JavaLanguageVersion.of(21) + java.toolchain.languageVersion = JavaLanguageVersion.of(${TestConstants.Latest.JavaVersion}) println "Loaded plugins:" project.plugins.each { plugin -> @@ -55,7 +56,7 @@ class UserDevPluginTests extends SimpleTestSpecification { id 'net.neoforged.gradle.userdev' } - java.toolchain.languageVersion = JavaLanguageVersion.of(21) + java.toolchain.languageVersion = JavaLanguageVersion.of(${TestConstants.Latest.JavaVersion}) println project.userDevRuntime.class.toString() """ diff --git a/userdev/src/functionalTest/groovy/net/neoforged/gradle/userdev/constants/TestConstants.groovy b/userdev/src/functionalTest/groovy/net/neoforged/gradle/userdev/constants/TestConstants.groovy new file mode 100644 index 000000000..0c889732f --- /dev/null +++ b/userdev/src/functionalTest/groovy/net/neoforged/gradle/userdev/constants/TestConstants.groovy @@ -0,0 +1,10 @@ +package net.neoforged.gradle.userdev.constants + +class TestConstants { + + static class Latest { + + public static int JavaVersion = 25 + public static String NeoForgeVersion = "+" + } +} diff --git a/userdev/src/functionalTest/groovy/net/neoforged/gradle/userdev/convention/IDEAIDEConventionTests.groovy b/userdev/src/functionalTest/groovy/net/neoforged/gradle/userdev/convention/IDEAIDEConventionTests.groovy index 6b46d6722..9e5d86203 100644 --- a/userdev/src/functionalTest/groovy/net/neoforged/gradle/userdev/convention/IDEAIDEConventionTests.groovy +++ b/userdev/src/functionalTest/groovy/net/neoforged/gradle/userdev/convention/IDEAIDEConventionTests.groovy @@ -2,6 +2,7 @@ package net.neoforged.gradle.userdev.convention import net.neoforged.trainingwheels.gradle.functional.BuilderBasedTestSpecification +import net.neoforged.gradle.userdev.constants.TestConstants class IDEAIDEConventionTests extends BuilderBasedTestSpecification { @@ -20,7 +21,7 @@ class IDEAIDEConventionTests extends BuilderBasedTestSpecification {