aboutsummaryrefslogtreecommitdiff
path: root/src/test/groovy
diff options
context:
space:
mode:
authorshedaniel <daniel@shedaniel.me>2021-11-29 01:49:31 +0800
committershedaniel <daniel@shedaniel.me>2021-11-29 01:49:31 +0800
commitd51b44cdaa130389fb2054f43ed20a33a5ef8389 (patch)
treee312adfb52fe3f5341544b5ee93becd496174489 /src/test/groovy
parent4765504fc1785b3e3adad452b59db61a3d69c50a (diff)
parent4b45783a5460c6cbd63cdc89b32fcaeb584a95e3 (diff)
downloadarchitectury-loom-d51b44cdaa130389fb2054f43ed20a33a5ef8389.tar.gz
architectury-loom-d51b44cdaa130389fb2054f43ed20a33a5ef8389.tar.bz2
architectury-loom-d51b44cdaa130389fb2054f43ed20a33a5ef8389.zip
Merge remote-tracking branch 'FabricMC/dev/0.10' into dev/0.10.0
# Conflicts: # src/main/java/net/fabricmc/loom/configuration/providers/mappings/LayeredMappingSpecBuilderImpl.java # src/main/java/net/fabricmc/loom/configuration/providers/mappings/mojmap/MojangMappingLayer.java # src/main/java/net/fabricmc/loom/configuration/providers/mappings/mojmap/MojangMappingsSpec.java # src/test/groovy/net/fabricmc/loom/test/unit/layeredmappings/LayeredMappingSpecBuilderTest.groovy
Diffstat (limited to 'src/test/groovy')
-rw-r--r--src/test/groovy/net/fabricmc/loom/test/LoomTestConstants.groovy2
-rw-r--r--src/test/groovy/net/fabricmc/loom/test/integration/FabricAPITest.groovy11
-rw-r--r--src/test/groovy/net/fabricmc/loom/test/integration/MavenProjectTest.groovy1
-rw-r--r--src/test/groovy/net/fabricmc/loom/test/integration/MojangMappingsProjectTest.groovy26
-rw-r--r--src/test/groovy/net/fabricmc/loom/test/unit/layeredmappings/LayeredMappingSpecBuilderTest.groovy8
-rw-r--r--src/test/groovy/net/fabricmc/loom/test/unit/layeredmappings/MojangMappingLayerTest.groovy33
-rw-r--r--src/test/groovy/net/fabricmc/loom/test/unit/layeredmappings/ParchmentMappingLayerTest.groovy4
-rw-r--r--src/test/groovy/net/fabricmc/loom/test/util/GradleProjectTestTrait.groovy6
-rw-r--r--src/test/groovy/net/fabricmc/loom/test/util/ServerRunner.groovy2
9 files changed, 77 insertions, 16 deletions
diff --git a/src/test/groovy/net/fabricmc/loom/test/LoomTestConstants.groovy b/src/test/groovy/net/fabricmc/loom/test/LoomTestConstants.groovy
index 8156fce6..0c4fc294 100644
--- a/src/test/groovy/net/fabricmc/loom/test/LoomTestConstants.groovy
+++ b/src/test/groovy/net/fabricmc/loom/test/LoomTestConstants.groovy
@@ -28,7 +28,7 @@ import org.gradle.util.GradleVersion
class LoomTestConstants {
public final static String DEFAULT_GRADLE = GradleVersion.current().getVersion()
- public final static String PRE_RELEASE_GRADLE = "7.4-20211110232442+0000"
+ public final static String PRE_RELEASE_GRADLE = "7.4-20211124232407+0000"
public final static String[] STANDARD_TEST_VERSIONS = [DEFAULT_GRADLE, PRE_RELEASE_GRADLE]
}
diff --git a/src/test/groovy/net/fabricmc/loom/test/integration/FabricAPITest.groovy b/src/test/groovy/net/fabricmc/loom/test/integration/FabricAPITest.groovy
index 40ca45f0..3ce59710 100644
--- a/src/test/groovy/net/fabricmc/loom/test/integration/FabricAPITest.groovy
+++ b/src/test/groovy/net/fabricmc/loom/test/integration/FabricAPITest.groovy
@@ -43,10 +43,10 @@ class FabricAPITest extends Specification implements GradleProjectTestTrait {
def "build and run (gradle #version)"() {
setup:
def gradle = gradleProject(
- repo: "https://github.com/modmuss50/fabric.git",
- commit: "e954edb6069e36139fd70428cfe4cddb5826c498",
+ repo: "https://github.com/FabricMC/fabric.git",
+ commit: "ce6198f63bbe0e17ba631420e9186fb72cc8b2af",
version: version,
-// patch: "fabric_api"
+ patch: "fabric_api"
)
// Set the version to something constant
@@ -64,8 +64,11 @@ class FabricAPITest extends Specification implements GradleProjectTestTrait {
then:
result.task(":build").outcome == SUCCESS
+ new File(gradle.mavenLocalDir, "net/fabricmc/fabric-api/fabric-biome-api-v1/3.2.2/fabric-biome-api-v1-3.2.2.jar").exists()
+ new File(gradle.mavenLocalDir, "net/fabricmc/fabric-api/fabric-biome-api-v1/3.2.2/fabric-biome-api-v1-3.2.2-sources.jar").exists()
+
serverResult.successful()
- serverResult.output.contains("fabric@$API_VERSION")
+ serverResult.output.contains("- fabric $API_VERSION")
where:
version << STANDARD_TEST_VERSIONS
}
diff --git a/src/test/groovy/net/fabricmc/loom/test/integration/MavenProjectTest.groovy b/src/test/groovy/net/fabricmc/loom/test/integration/MavenProjectTest.groovy
index f7aba96f..cda61b1b 100644
--- a/src/test/groovy/net/fabricmc/loom/test/integration/MavenProjectTest.groovy
+++ b/src/test/groovy/net/fabricmc/loom/test/integration/MavenProjectTest.groovy
@@ -53,6 +53,7 @@ class MavenProjectTest extends Specification implements MockMavenServerTrait, Gr
then:
result.task(":publish").outcome == SUCCESS
gradle.hasOutputZipEntry("fabric-example-lib-${version}.jar", "net/fabricmc/example/ExampleLib.class")
+ gradle.hasOutputZipEntry("fabric-example-lib-${version}-sources.jar", "net/fabricmc/example/ExampleLib.java")
where:
version | gradleVersion
diff --git a/src/test/groovy/net/fabricmc/loom/test/integration/MojangMappingsProjectTest.groovy b/src/test/groovy/net/fabricmc/loom/test/integration/MojangMappingsProjectTest.groovy
index f1a46a82..6afba527 100644
--- a/src/test/groovy/net/fabricmc/loom/test/integration/MojangMappingsProjectTest.groovy
+++ b/src/test/groovy/net/fabricmc/loom/test/integration/MojangMappingsProjectTest.groovy
@@ -48,4 +48,30 @@ class MojangMappingsProjectTest extends Specification implements GradleProjectTe
where:
version << STANDARD_TEST_VERSIONS
}
+
+ @Unroll
+ def "mojang mappings without synthetic field names (gradle #version)"() {
+ setup:
+ def gradle = gradleProject(project: "minimalBase", version: version)
+
+ gradle.buildGradle << '''
+ dependencies {
+ minecraft "com.mojang:minecraft:1.18-pre5"
+ mappings loom.layered {
+ officialMojangMappings {
+ nameSyntheticMembers = false
+ }
+ }
+ }
+ '''
+
+ when:
+ def result = gradle.run(task: "build")
+
+ then:
+ result.task(":build").outcome == SUCCESS
+
+ where:
+ version << STANDARD_TEST_VERSIONS
+ }
}
diff --git a/src/test/groovy/net/fabricmc/loom/test/unit/layeredmappings/LayeredMappingSpecBuilderTest.groovy b/src/test/groovy/net/fabricmc/loom/test/unit/layeredmappings/LayeredMappingSpecBuilderTest.groovy
index 0b583071..9ed383c5 100644
--- a/src/test/groovy/net/fabricmc/loom/test/unit/layeredmappings/LayeredMappingSpecBuilderTest.groovy
+++ b/src/test/groovy/net/fabricmc/loom/test/unit/layeredmappings/LayeredMappingSpecBuilderTest.groovy
@@ -41,7 +41,7 @@ class LayeredMappingSpecBuilderTest extends LayeredMappingsSpecification {
}
def layers = spec.layers()
then:
- spec.getVersion() == "layered+hash.2198"
+ spec.version == "layered+hash.2192"
layers.size() == 2
layers[0].class == IntermediaryMappingsSpec
layers[1].class == MojangMappingsSpec
@@ -56,7 +56,7 @@ class LayeredMappingSpecBuilderTest extends LayeredMappingsSpecification {
def layers = spec.layers()
def parchment = layers[2] as ParchmentMappingsSpec
then:
- spec.getVersion() == "layered+hash.863752751"
+ spec.version == "layered+hash.863752565"
layers.size() == 3
layers[0].class == IntermediaryMappingsSpec
layers[1].class == MojangMappingsSpec
@@ -76,7 +76,7 @@ class LayeredMappingSpecBuilderTest extends LayeredMappingsSpecification {
def layers = spec.layers()
def parchment = layers[2] as ParchmentMappingsSpec
then:
- spec.getVersion() == "layered+hash.863752757"
+ spec.version == "layered+hash.863752571"
layers.size() == 3
layers[0].class == IntermediaryMappingsSpec
layers[1].class == MojangMappingsSpec
@@ -96,7 +96,7 @@ class LayeredMappingSpecBuilderTest extends LayeredMappingsSpecification {
def layers = spec.layers()
def parchment = layers[2] as ParchmentMappingsSpec
then:
- spec.getVersion() == "layered+hash.1144427140"
+ spec.version == "layered+hash.1144427326"
layers.size() == 3
layers[0].class == IntermediaryMappingsSpec
layers[1].class == MojangMappingsSpec
diff --git a/src/test/groovy/net/fabricmc/loom/test/unit/layeredmappings/MojangMappingLayerTest.groovy b/src/test/groovy/net/fabricmc/loom/test/unit/layeredmappings/MojangMappingLayerTest.groovy
index 87eca55c..aad3661a 100644
--- a/src/test/groovy/net/fabricmc/loom/test/unit/layeredmappings/MojangMappingLayerTest.groovy
+++ b/src/test/groovy/net/fabricmc/loom/test/unit/layeredmappings/MojangMappingLayerTest.groovy
@@ -25,17 +25,17 @@
package net.fabricmc.loom.test.unit.layeredmappings
import net.fabricmc.loom.configuration.providers.mappings.intermediary.IntermediaryMappingsSpec
-import net.fabricmc.loom.configuration.providers.mappings.mojmap.MojangMappingsSpec
+import net.fabricmc.loom.configuration.providers.mappings.mojmap.MojangMappingsSpecBuilderImpl
class MojangMappingLayerTest extends LayeredMappingsSpecification {
- def "Read mojang mappings" () {
+ def "Read mojang mappings with synthetic field names" () {
setup:
mockMappingsProvider.intermediaryTinyFile() >> extractFileFromZip(downloadFile(INTERMEDIARY_1_17_URL, "intermediary.jar"), "mappings/mappings.tiny")
mockMinecraftProvider.getVersionInfo() >> VERSION_META_1_17
when:
def mappings = getLayeredMappings(
new IntermediaryMappingsSpec(),
- new MojangMappingsSpec()
+ buildMojangMappingsSpec(true)
)
def tiny = getTiny(mappings)
then:
@@ -45,5 +45,32 @@ class MojangMappingLayerTest extends LayeredMappingsSpecification {
mappings.classes[0].srcName.hashCode() == 1869546970 // MojMap name, just check the hash
mappings.classes[0].getDstName(0) == "net/minecraft/class_2354"
mappings.classes[0].methods[0].args.size() == 0 // No Args
+ tiny.contains('this$0')
+ }
+
+ def "Read mojang mappings without synthetic field names" () {
+ setup:
+ mockMappingsProvider.intermediaryTinyFile() >> extractFileFromZip(downloadFile(INTERMEDIARY_1_17_URL, "intermediary.jar"), "mappings/mappings.tiny")
+ mockMinecraftProvider.getVersionInfo() >> VERSION_META_1_17
+ when:
+ def mappings = getLayeredMappings(
+ new IntermediaryMappingsSpec(),
+ buildMojangMappingsSpec(false)
+ )
+ def tiny = getTiny(mappings)
+ then:
+ mappings.srcNamespace == "named"
+ mappings.dstNamespaces == ["intermediary", "official"]
+ mappings.classes.size() == 6113
+ mappings.classes[0].srcName.hashCode() == 1869546970 // MojMap name, just check the hash
+ mappings.classes[0].getDstName(0) == "net/minecraft/class_2354"
+ mappings.classes[0].methods[0].args.size() == 0 // No Args
+ !tiny.contains('this$0')
+ }
+
+ static def buildMojangMappingsSpec(boolean nameSyntheticFields) {
+ def builder = MojangMappingsSpecBuilderImpl.builder()
+ builder.setNameSyntheticMembers(nameSyntheticFields)
+ return builder.build()
}
}
diff --git a/src/test/groovy/net/fabricmc/loom/test/unit/layeredmappings/ParchmentMappingLayerTest.groovy b/src/test/groovy/net/fabricmc/loom/test/unit/layeredmappings/ParchmentMappingLayerTest.groovy
index 73e2a259..2c3dc3dc 100644
--- a/src/test/groovy/net/fabricmc/loom/test/unit/layeredmappings/ParchmentMappingLayerTest.groovy
+++ b/src/test/groovy/net/fabricmc/loom/test/unit/layeredmappings/ParchmentMappingLayerTest.groovy
@@ -38,7 +38,7 @@ class ParchmentMappingLayerTest extends LayeredMappingsSpecification {
withMavenFile(PARCHMENT_NOTATION, downloadFile(PARCHMENT_URL, "parchment.zip"))
def mappings = getLayeredMappings(
new IntermediaryMappingsSpec(),
- new MojangMappingsSpec(),
+ new MojangMappingsSpec(true),
new ParchmentMappingsSpec(FileSpec.create(PARCHMENT_NOTATION), false)
)
def tiny = getTiny(mappings)
@@ -61,7 +61,7 @@ class ParchmentMappingLayerTest extends LayeredMappingsSpecification {
withMavenFile(PARCHMENT_NOTATION, downloadFile(PARCHMENT_URL, "parchment.zip"))
def mappings = getLayeredMappings(
new IntermediaryMappingsSpec(),
- new MojangMappingsSpec(),
+ new MojangMappingsSpec(true),
new ParchmentMappingsSpec(FileSpec.create(PARCHMENT_NOTATION), true)
)
def tiny = getTiny(mappings)
diff --git a/src/test/groovy/net/fabricmc/loom/test/util/GradleProjectTestTrait.groovy b/src/test/groovy/net/fabricmc/loom/test/util/GradleProjectTestTrait.groovy
index 6380992e..fa08793d 100644
--- a/src/test/groovy/net/fabricmc/loom/test/util/GradleProjectTestTrait.groovy
+++ b/src/test/groovy/net/fabricmc/loom/test/util/GradleProjectTestTrait.groovy
@@ -138,7 +138,7 @@ trait GradleProjectTestTrait {
// And override the CI check to ensure that everything is ran
System.setProperty("fabric.loom.test", "true")
System.setProperty("fabric.loom.ci", "false")
- System.setProperty("maven.repo.local", new File(getGradleHomeDir(), "m2").absolutePath)
+ System.setProperty("maven.repo.local", mavenLocalDir.absolutePath)
def runner = this.runner
def args = []
@@ -180,6 +180,10 @@ trait GradleProjectTestTrait {
return new File(getProjectDir(), "build/libs/$filename")
}
+ File getMavenLocalDir() {
+ return new File(gradleHomeDir, "m2")
+ }
+
void printOutputFiles() {
new File(getProjectDir(), "build/libs/").listFiles().each {
println(it.name)
diff --git a/src/test/groovy/net/fabricmc/loom/test/util/ServerRunner.groovy b/src/test/groovy/net/fabricmc/loom/test/util/ServerRunner.groovy
index d3a68768..82b519d9 100644
--- a/src/test/groovy/net/fabricmc/loom/test/util/ServerRunner.groovy
+++ b/src/test/groovy/net/fabricmc/loom/test/util/ServerRunner.groovy
@@ -29,7 +29,7 @@ import groovy.transform.Immutable
import java.util.concurrent.TimeUnit
class ServerRunner {
- static final String LOADER_VERSION = "0.11.6"
+ static final String LOADER_VERSION = "0.12.5"
static final Map<String, String> FABRIC_API_URLS = [
"1.16.5": "https://github.com/FabricMC/fabric/releases/download/0.37.1%2B1.16/fabric-api-0.37.1+1.16.jar",
"1.17.1": "https://github.com/FabricMC/fabric/releases/download/0.37.1%2B1.17/fabric-api-0.37.1+1.17.jar"