Skip to content

Commit f8b2054

Browse files
committed
Support for loom 0.2.6
1 parent f01c829 commit f8b2054

File tree

1 file changed

+7
-1
lines changed

1 file changed

+7
-1
lines changed

src/main/kotlin/com/replaymod/gradle/preprocess/PreprocessPlugin.kt

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ package com.replaymod.gradle.preprocess
22

33
import net.fabricmc.mappings.MappingsProvider
44
import org.cadixdev.lorenz.io.MappingFormats
5+
import org.gradle.api.GradleException
56
import org.gradle.api.Plugin
67
import org.gradle.api.Project
78
import org.gradle.api.Task
@@ -217,5 +218,10 @@ private val Project.tinyMappings: File?
217218
get() {
218219
val extension = extensions.findByName("minecraft") ?: return null
219220
if (!extension.javaClass.name.contains("LoomGradleExtension")) return null
220-
return extension.withGroovyBuilder { getProperty("mappingsProvider") }.withGroovyBuilder { getProperty("MAPPINGS_TINY") } as File
221+
val mappingsProvider = extension.withGroovyBuilder { getProperty("mappingsProvider") }
222+
mappingsProvider.maybeGetGroovyProperty("MAPPINGS_TINY")?.let { return it as File } // loom 0.2.5
223+
mappingsProvider.maybeGetGroovyProperty("tinyMappings")?.let { return it as File } // loom 0.2.6
224+
throw GradleException("loom version not supported by preprocess plugin")
221225
}
226+
227+
private fun Any.maybeGetGroovyProperty(name: String) = withGroovyBuilder { metaClass }.hasProperty(this, name)?.getProperty(this)

0 commit comments

Comments
 (0)