User: rednesto Date: 09 Jul 23 17:18 Revision: 9537e32bc0a1df07fd13e1685c567e5b7dbbf7ef Summary: Detect Architectury patched Mixin dependency Fixes #1895 TeamCity URL: https://ci.mcdev.io/viewModification.html?tab=vcsModificationFiles&modId=8624&personal=false Index: src/main/kotlin/platform/mixin/framework/MixinPresentationProvider.kt =================================================================== --- src/main/kotlin/platform/mixin/framework/MixinPresentationProvider.kt (revision f2f3b1c9dace3985c194b061b2e9761c6ca875d9) +++ src/main/kotlin/platform/mixin/framework/MixinPresentationProvider.kt (revision 9537e32bc0a1df07fd13e1685c567e5b7dbbf7ef) @@ -31,17 +31,20 @@ class MixinPresentationProvider : LibraryPresentationProvider(MIXIN_LIBRARY_KIND) { + private val hintFilePath = "META-INF/services/org.spongepowered.asm.service.IMixinService" + override fun getIcon(properties: LibraryVersionProperties?) = PlatformAssets.MIXIN_ICON override fun detect(classesRoots: List): LibraryVersionProperties? { for (classesRoot in classesRoots) { - val manifest = classesRoot.manifest ?: continue - if (manifest["Agent-Class"] != MixinConstants.Classes.MIXIN_AGENT) { + val manifest = classesRoot.manifest + if (manifest?.get("Agent-Class") != MixinConstants.Classes.MIXIN_AGENT && + classesRoot.findFileByRelativePath(hintFilePath) == null + ) { continue } - val version = manifest[IMPLEMENTATION_VERSION] ?: continue - return LibraryVersionProperties(version) + return LibraryVersionProperties(manifest?.get(IMPLEMENTATION_VERSION)) } return null }