Skip to content

Commit

Permalink
fix fg1 library filter
Browse files Browse the repository at this point in the history
  • Loading branch information
wagyourtail committed Jul 30, 2024
1 parent 1e689df commit e9cbd01
Show file tree
Hide file tree
Showing 2 changed files with 24 additions and 6 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ import xyz.wagyourtail.unimined.api.minecraft.MinecraftJar
import xyz.wagyourtail.unimined.internal.minecraft.patch.access.transformer.AccessTransformerMinecraftTransformer
import xyz.wagyourtail.unimined.internal.minecraft.patch.jarmod.JarModAgentMinecraftTransformer
import xyz.wagyourtail.unimined.internal.minecraft.patch.jarmod.JarModMinecraftTransformer
import xyz.wagyourtail.unimined.internal.minecraft.resolver.Library
import xyz.wagyourtail.unimined.internal.minecraft.transform.merge.ClassMerger
import xyz.wagyourtail.unimined.util.*
import java.io.File
Expand Down Expand Up @@ -291,6 +292,10 @@ abstract class ForgeLikeMinecraftTransformer(
}
}

override fun libraryFilter(library: Library): Library? {
return forgeTransformer.libraryFilter(library)
}

enum class ForgeVersion(
val accept: Set<ForgeFiles> = setOf(),
val deny: Set<ForgeFiles> = setOf(),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ import xyz.wagyourtail.unimined.internal.mapping.at.AccessTransformerApplier
import xyz.wagyourtail.unimined.api.minecraft.MinecraftJar
import xyz.wagyourtail.unimined.internal.minecraft.patch.forge.ForgeLikeMinecraftTransformer
import xyz.wagyourtail.unimined.internal.minecraft.patch.jarmod.JarModAgentMinecraftTransformer
import xyz.wagyourtail.unimined.internal.minecraft.resolver.Library
import xyz.wagyourtail.unimined.internal.minecraft.transform.merge.ClassMerger
import xyz.wagyourtail.unimined.util.deleteRecursively
import xyz.wagyourtail.unimined.util.openZipFileSystem
Expand Down Expand Up @@ -53,15 +54,22 @@ open class FG1MinecraftTransformer(project: Project, val parent: ForgeLikeMinecr
}
}

val dynLibs: Set<String>? by lazy {
val forge = parent.forge.resolve().first().toPath()

// resolve dyn libs
forge.readZipInputStreamFor("cpw/mods/fml/relauncher/CoreFMLLibraries.class", false) {
getDynLibs(it)
}
}

override fun apply() {
// get and add forge-src to mappings
parent.forge.dependencies.forEach(jarModConfiguration.dependencies::add)

val forge = parent.forge.resolve().first().toPath()

// resolve dyn libs
forge.readZipInputStreamFor("cpw/mods/fml/relauncher/CoreFMLLibraries.class", false) {
resolveDynLibs(provider.localCache.resolve("fmllibs").toFile(), getDynLibs(it))
if (dynLibs != null) {
resolveDynLibs(provider.localCache.resolve("fmllibs").toFile(), dynLibs!!)
}

super.apply()
Expand All @@ -71,12 +79,17 @@ open class FG1MinecraftTransformer(project: Project, val parent: ForgeLikeMinecr
provider.minecraftLibraries.extendsFrom(it)
}

lateinit var deps: List<Pair<Pair<String, String>, Dependency>>
override fun libraryFilter(library: Library): Library? {
if (library.name.startsWith("org.ow2.asm") && dynLibs?.contains("asm-all-4.0.jar") == true) {
return null
}
return super.libraryFilter(library)
}

fun resolveDynLibs(workingDirectory: File, wanted: Set<String>) {
val path = workingDirectory.toPath().createDirectories()

deps = listOf(
val deps = listOf(
Pair(
Pair("guava-12.0.1.jar", "guava-12.0.1.jar"), project.dependencies.create(
"com.google.guava:guava:12.0.1"
Expand Down

0 comments on commit e9cbd01

Please sign in to comment.