aboutsummaryrefslogtreecommitdiff
path: root/src/test/groovy
diff options
context:
space:
mode:
authorshedaniel <daniel@shedaniel.me>2021-09-17 02:23:45 +0800
committershedaniel <daniel@shedaniel.me>2021-09-17 02:23:45 +0800
commiteff1f8ba523a777b4e0ad660458dd04abf363f36 (patch)
treeecaef55f557d9fba0941561fa50169c0a151314a /src/test/groovy
parent848a6a548f59161bbb7037965c366d167ce9be30 (diff)
parent2a040d03d7a8b7b67989a8ef986e374cffb72332 (diff)
downloadarchitectury-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')
-rw-r--r--src/test/groovy/net/fabricmc/loom/test/integration/AccessWidenerTest.groovy17
-rw-r--r--src/test/groovy/net/fabricmc/loom/test/unit/layeredmappings/LayeredMappingSpecBuilderTest.groovy15
-rw-r--r--src/test/groovy/net/fabricmc/loom/test/unit/layeredmappings/LayeredMappingsSpecification.groovy27
-rw-r--r--src/test/groovy/net/fabricmc/loom/test/unit/layeredmappings/ParchmentMappingLayerTest.groovy5
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)