Skip to content

Commit

Permalink
move footgun check again
Browse files Browse the repository at this point in the history
  • Loading branch information
wagyourtail committed Jul 31, 2024
1 parent 21cde93 commit 2e0aec9
Show file tree
Hide file tree
Showing 2 changed files with 28 additions and 19 deletions.
28 changes: 28 additions & 0 deletions src/main/kotlin/xyz/wagyourtail/unimined/UniminedExtensionImpl.kt
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,13 @@ import org.gradle.configurationcache.extensions.capitalized
import xyz.wagyourtail.unimined.api.UniminedExtension
import xyz.wagyourtail.unimined.api.source.task.MigrateMappingsTask
import xyz.wagyourtail.unimined.api.minecraft.MinecraftConfig
import xyz.wagyourtail.unimined.api.unimined
import xyz.wagyourtail.unimined.api.uniminedMaybe
import xyz.wagyourtail.unimined.internal.mapping.task.MigrateMappingsTaskImpl
import xyz.wagyourtail.unimined.internal.minecraft.MinecraftProvider
import xyz.wagyourtail.unimined.internal.minecraft.patch.reindev.ReIndevProvider
import xyz.wagyourtail.unimined.util.defaultedMapOf
import xyz.wagyourtail.unimined.util.nonNullValues
import xyz.wagyourtail.unimined.util.withSourceSet
import java.net.URI
import java.nio.file.Path
Expand Down Expand Up @@ -450,5 +453,30 @@ open class UniminedExtensionImpl(project: Project) : UniminedExtension(project)
throw IllegalStateException("multiple minecraft jars in runtime classpath of $sourceSet, from $mcFiles")
}
}


for ((sourceSet, mc) in minecrafts) {
// ensure all combineWith's on same mappings/version
// get current mappings
if (project.unimined.footgunChecks) {
val minecraftConfigs = mutableMapOf<Pair<Project, SourceSet>, MinecraftConfig?>()
for ((project, sourceSet) in (mc as MinecraftProvider).detectCombineWithSourceSets()) {
if (project == this.project) {
minecraftConfigs[project to sourceSet] = minecrafts[sourceSet]
} else {
minecraftConfigs[project to sourceSet] = project.uniminedMaybe?.minecrafts?.get(sourceSet)
}
}

for ((sourceSet, minecraftConfig) in minecraftConfigs.nonNullValues()) {
if (mc.mappings.devNamespace != minecraftConfig.mappings.devNamespace || mc.mappings.devFallbackNamespace != minecraftConfig.mappings.devFallbackNamespace) {
throw IllegalArgumentException("All combined minecraft configs must be on the same mappings, found $sourceSet on ${mc.mappings.devNamespace}/${mc.mappings.devFallbackNamespace} and $sourceSet on ${minecraftConfig.mappings.devNamespace}/${minecraftConfig.mappings.devFallbackNamespace}")
}
if (mc.version != minecraftConfig.version) {
throw IllegalArgumentException("All combined minecraft configs must be on the same version, found $sourceSet on ${mc.version} and $sourceSet on ${minecraftConfig.version}")
}
}
}
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -637,25 +637,6 @@ open class MinecraftProvider(project: Project, sourceSet: SourceSet) : Minecraft
// run patcher after evaluate
(mcPatcher as AbstractMinecraftTransformer).afterEvaluate()


// ensure all combineWith's on same mappings/version
// get current mappings
if (project.unimined.footgunChecks) {
val minecraftConfigs = mutableMapOf<Pair<Project, SourceSet>, MinecraftConfig?>()
for ((project, sourceSet) in detectCombineWithSourceSets()) {
minecraftConfigs[project to sourceSet] = project.uniminedMaybe?.minecrafts?.get(sourceSet)
}

for ((sourceSet, minecraftConfig) in minecraftConfigs.nonNullValues()) {
if (mappings.devNamespace != minecraftConfig.mappings.devNamespace || mappings.devFallbackNamespace != minecraftConfig.mappings.devFallbackNamespace) {
throw IllegalArgumentException("All combined minecraft configs must be on the same mappings, found ${sourceSet} on ${mappings.devNamespace}/${mappings.devFallbackNamespace} and $sourceSet on ${minecraftConfig.mappings.devNamespace}/${minecraftConfig.mappings.devFallbackNamespace}")
}
if (version != minecraftConfig.version) {
throw IllegalArgumentException("All combined minecraft configs must be on the same version, found ${sourceSet} on ${version} and $sourceSet on ${minecraftConfig.version}")
}
}
}

}

fun getMcDevFile(): Path {
Expand Down

0 comments on commit 2e0aec9

Please sign in to comment.