diff options
author | shedaniel <daniel@shedaniel.me> | 2021-09-17 02:23:45 +0800 |
---|---|---|
committer | shedaniel <daniel@shedaniel.me> | 2021-09-17 02:23:45 +0800 |
commit | eff1f8ba523a777b4e0ad660458dd04abf363f36 (patch) | |
tree | ecaef55f557d9fba0941561fa50169c0a151314a /src/test/groovy | |
parent | 848a6a548f59161bbb7037965c366d167ce9be30 (diff) | |
parent | 2a040d03d7a8b7b67989a8ef986e374cffb72332 (diff) | |
download | architectury-loom-eff1f8ba523a777b4e0ad660458dd04abf363f36.tar.gz architectury-loom-eff1f8ba523a777b4e0ad660458dd04abf363f36.tar.bz2 architectury-loom-eff1f8ba523a777b4e0ad660458dd04abf363f36.zip |
Merge remote-tracking branch 'FabricMC/dev/0.10' into dev/0.10.0
# Conflicts:
# build.gradle
# src/main/java/net/fabricmc/loom/LoomGradleExtension.java
# src/main/java/net/fabricmc/loom/api/LoomGradleExtensionAPI.java
# src/main/java/net/fabricmc/loom/configuration/accesswidener/AccessWidenerJarProcessor.java
# src/main/java/net/fabricmc/loom/configuration/mods/ModProcessor.java
# src/main/java/net/fabricmc/loom/configuration/providers/mappings/LayeredMappingSpecBuilderImpl.java
# src/main/java/net/fabricmc/loom/configuration/providers/mappings/MappingsProviderImpl.java
# src/main/java/net/fabricmc/loom/configuration/providers/mappings/mojmap/MojangMappingLayer.java
# src/main/java/net/fabricmc/loom/configuration/providers/minecraft/MinecraftMappedProvider.java
# src/main/java/net/fabricmc/loom/extension/LoomGradleExtensionApiImpl.java
# src/main/java/net/fabricmc/loom/extension/LoomGradleExtensionImpl.java
# src/main/java/net/fabricmc/loom/extension/MinecraftGradleExtension.java
# src/main/java/net/fabricmc/loom/task/MigrateMappingsTask.java
# src/main/java/net/fabricmc/loom/task/RemapJarTask.java
# src/main/java/net/fabricmc/loom/task/RemapSourcesJarTask.java
# src/main/java/net/fabricmc/loom/util/SourceRemapper.java
# src/main/java/net/fabricmc/loom/util/TinyRemapperMappingsHelper.java
# src/test/groovy/net/fabricmc/loom/test/unit/layeredmappings/LayeredMappingSpecBuilderTest.groovy
Diffstat (limited to 'src/test/groovy')
4 files changed, 45 insertions, 19 deletions
diff --git a/src/test/groovy/net/fabricmc/loom/test/integration/AccessWidenerTest.groovy b/src/test/groovy/net/fabricmc/loom/test/integration/AccessWidenerTest.groovy index 8fed624d..43c793cb 100644 --- a/src/test/groovy/net/fabricmc/loom/test/integration/AccessWidenerTest.groovy +++ b/src/test/groovy/net/fabricmc/loom/test/integration/AccessWidenerTest.groovy @@ -25,6 +25,7 @@ package net.fabricmc.loom.test.integration import net.fabricmc.loom.test.util.GradleProjectTestTrait +import org.zeroturnaround.zip.ZipUtil import spock.lang.Specification import spock.lang.Unroll @@ -48,4 +49,20 @@ class AccessWidenerTest extends Specification implements GradleProjectTestTrait String expected() { new File("src/test/resources/accesswidener/expected.accesswidener").text } + + @Unroll + def "transitive accesswidener (gradle #version)"() { + setup: + def gradle = gradleProject(project: "transitiveAccesswidener", version: version) + ZipUtil.pack(new File(gradle.projectDir, "dummyDependency"), new File(gradle.projectDir, "dummy.jar")) + + 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 cfcb8a2e..0b583071 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 @@ -24,8 +24,9 @@ package net.fabricmc.loom.test.unit.layeredmappings +import net.fabricmc.loom.configuration.providers.mappings.utils.MavenFileSpec import net.fabricmc.loom.configuration.providers.mappings.LayeredMappingSpec -import net.fabricmc.loom.configuration.providers.mappings.LayeredMappingSpecBuilder +import net.fabricmc.loom.configuration.providers.mappings.LayeredMappingSpecBuilderImpl 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.parchment.ParchmentMappingsSpec @@ -60,7 +61,7 @@ class LayeredMappingSpecBuilderTest extends LayeredMappingsSpecification { layers[0].class == IntermediaryMappingsSpec layers[1].class == MojangMappingsSpec layers[2].class == ParchmentMappingsSpec - parchment.mavenNotation() == "I like cake" + (parchment.fileSpec() as MavenFileSpec).dependencyNotation() == "I like cake" parchment.removePrefix() == true } @@ -80,7 +81,7 @@ class LayeredMappingSpecBuilderTest extends LayeredMappingsSpecification { layers[0].class == IntermediaryMappingsSpec layers[1].class == MojangMappingsSpec layers[2].class == ParchmentMappingsSpec - parchment.mavenNotation() == "I like cake" + (parchment.fileSpec() as MavenFileSpec).dependencyNotation() == "I like cake" parchment.removePrefix() == false } @@ -100,17 +101,17 @@ class LayeredMappingSpecBuilderTest extends LayeredMappingsSpecification { layers[0].class == IntermediaryMappingsSpec layers[1].class == MojangMappingsSpec layers[2].class == ParchmentMappingsSpec - parchment.mavenNotation() == "I really like cake" + (parchment.fileSpec() as MavenFileSpec).dependencyNotation() == "I really like cake" parchment.removePrefix() == false } // Gradle does this big of magic behind the scenes - LayeredMappingSpec layered(@DelegatesTo(LayeredMappingSpecBuilder) Closure cl) { + LayeredMappingSpec layered(@DelegatesTo(LayeredMappingSpecBuilderImpl) Closure cl) { return layeredAction(ConfigureUtil.configureUsing(cl)) } - LayeredMappingSpec layeredAction(Action<LayeredMappingSpecBuilder> action) { - LayeredMappingSpecBuilder builder = new LayeredMappingSpecBuilder(null) + LayeredMappingSpec layeredAction(Action<LayeredMappingSpecBuilderImpl> action) { + LayeredMappingSpecBuilderImpl builder = new LayeredMappingSpecBuilderImpl(null) action.execute(builder) return builder.build() } diff --git a/src/test/groovy/net/fabricmc/loom/test/unit/layeredmappings/LayeredMappingsSpecification.groovy b/src/test/groovy/net/fabricmc/loom/test/unit/layeredmappings/LayeredMappingsSpecification.groovy index 10429120..1fba03dc 100644 --- a/src/test/groovy/net/fabricmc/loom/test/unit/layeredmappings/LayeredMappingsSpecification.groovy +++ b/src/test/groovy/net/fabricmc/loom/test/unit/layeredmappings/LayeredMappingsSpecification.groovy @@ -28,18 +28,20 @@ import groovy.transform.CompileStatic import net.fabricmc.loom.configuration.providers.MinecraftProvider import net.fabricmc.loom.configuration.providers.mappings.LayeredMappingSpec import net.fabricmc.loom.configuration.providers.mappings.LayeredMappingsProcessor -import net.fabricmc.loom.configuration.providers.mappings.MappingContext -import net.fabricmc.loom.configuration.providers.mappings.MappingLayer -import net.fabricmc.loom.configuration.providers.mappings.MappingNamespace +import net.fabricmc.loom.api.mappings.layered.MappingContext +import net.fabricmc.loom.api.mappings.layered.MappingLayer +import net.fabricmc.loom.api.mappings.layered.MappingsNamespace import net.fabricmc.loom.configuration.providers.mappings.MappingsProvider -import net.fabricmc.loom.configuration.providers.mappings.MappingsSpec +import net.fabricmc.loom.api.mappings.layered.spec.MappingsSpec import net.fabricmc.mappingio.adapter.MappingDstNsReorder import net.fabricmc.mappingio.adapter.MappingSourceNsSwitch import net.fabricmc.mappingio.format.Tiny2Writer import net.fabricmc.mappingio.tree.MemoryMappingTree +import org.gradle.api.artifacts.Dependency import org.gradle.api.logging.Logger import spock.lang.Specification +import java.nio.file.Path import java.util.zip.ZipFile abstract class LayeredMappingsSpecification extends Specification implements LayeredMappingsTestConstants { @@ -94,8 +96,8 @@ abstract class LayeredMappingsSpecification extends Specification implements Lay MemoryMappingTree reorder(MemoryMappingTree mappingTree) { def reorderedMappings = new MemoryMappingTree() - def nsReorder = new MappingDstNsReorder(reorderedMappings, Collections.singletonList(MappingNamespace.NAMED.stringValue())) - def nsSwitch = new MappingSourceNsSwitch(nsReorder, MappingNamespace.INTERMEDIARY.stringValue(), true) + def nsReorder = new MappingDstNsReorder(reorderedMappings, Collections.singletonList(MappingsNamespace.NAMED.toString())) + def nsSwitch = new MappingSourceNsSwitch(nsReorder, MappingsNamespace.INTERMEDIARY.toString(), true) mappingTree.accept(nsSwitch) return reorderedMappings } @@ -103,9 +105,14 @@ abstract class LayeredMappingsSpecification extends Specification implements Lay @CompileStatic class TestMappingContext implements MappingContext { @Override - File mavenFile(String mavenNotation) { + Path resolveDependency(Dependency dependency) { + throw new UnsupportedOperationException("TODO") + } + + @Override + Path resolveMavenDependency(String mavenNotation) { assert mavenFiles.containsKey(mavenNotation) - return mavenFiles.get(mavenNotation) + return mavenFiles.get(mavenNotation).toPath() } @Override @@ -119,8 +126,8 @@ abstract class LayeredMappingsSpecification extends Specification implements Lay } @Override - File workingDirectory(String name) { - return new File(tempDir, name) + Path workingDirectory(String name) { + return new File(tempDir, name).toPath() } @Override 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 ac9592cf..73e2a259 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 @@ -24,6 +24,7 @@ package net.fabricmc.loom.test.unit.layeredmappings +import net.fabricmc.loom.api.mappings.layered.spec.FileSpec 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.parchment.ParchmentMappingsSpec @@ -38,7 +39,7 @@ class ParchmentMappingLayerTest extends LayeredMappingsSpecification { def mappings = getLayeredMappings( new IntermediaryMappingsSpec(), new MojangMappingsSpec(), - new ParchmentMappingsSpec(PARCHMENT_NOTATION, false) + new ParchmentMappingsSpec(FileSpec.create(PARCHMENT_NOTATION), false) ) def tiny = getTiny(mappings) def reorderedMappings = reorder(mappings) @@ -61,7 +62,7 @@ class ParchmentMappingLayerTest extends LayeredMappingsSpecification { def mappings = getLayeredMappings( new IntermediaryMappingsSpec(), new MojangMappingsSpec(), - new ParchmentMappingsSpec(PARCHMENT_NOTATION, true) + new ParchmentMappingsSpec(FileSpec.create(PARCHMENT_NOTATION), true) ) def tiny = getTiny(mappings) def reorderedMappings = reorder(mappings) |