fix transitive-aw issues
All checks were successful
Publish to snapshot maven / build (push) Successful in 24s
All checks were successful
Publish to snapshot maven / build (push) Successful in 24s
This commit is contained in:
parent
c4c62632c2
commit
ad2e3798f3
|
@ -7,7 +7,7 @@ plugins {
|
|||
}
|
||||
|
||||
group = "dev.frogmc"
|
||||
version = "0.0.1-alpha.1"
|
||||
version = "0.0.1-alpha.2"
|
||||
|
||||
repositories {
|
||||
maven {
|
||||
|
|
|
@ -5,6 +5,7 @@ import com.electronwill.nightconfig.toml.TomlParser
|
|||
import com.google.common.hash.Hashing
|
||||
import dev.frogmc.phytotelma.Constants
|
||||
import org.gradle.api.Project
|
||||
import org.gradle.api.artifacts.ProjectDependency
|
||||
import org.gradle.api.plugins.JavaPlugin
|
||||
import org.gradle.api.plugins.JavaPluginExtension
|
||||
import org.objectweb.asm.*
|
||||
|
@ -14,10 +15,7 @@ import java.nio.file.Path
|
|||
import java.util.concurrent.ConcurrentHashMap
|
||||
import java.util.regex.Pattern
|
||||
import java.util.stream.Stream
|
||||
import kotlin.io.path.bufferedReader
|
||||
import kotlin.io.path.exists
|
||||
import kotlin.io.path.readBytes
|
||||
import kotlin.io.path.writeBytes
|
||||
import kotlin.io.path.*
|
||||
|
||||
object AccessWidener {
|
||||
|
||||
|
@ -28,7 +26,7 @@ object AccessWidener {
|
|||
private val SEPARATOR = "[\\t ]+".toRegex()
|
||||
|
||||
private fun getAWFile(project: Project): Path? {
|
||||
project.extensions.getByType(JavaPluginExtension::class.java).sourceSets.forEach { set ->
|
||||
project.extensions.findByType(JavaPluginExtension::class.java)?.sourceSets?.forEach { set ->
|
||||
set.resources.filter { it.name == Constants.MOD_METADATA_FILE }.firstOrNull {
|
||||
if (it == null) {
|
||||
println("Please make sure a 'frog.mod.toml' file is present in the mod's resources!")
|
||||
|
@ -45,10 +43,24 @@ object AccessWidener {
|
|||
}
|
||||
|
||||
private fun findDependencyAWs(project: Project): List<Path> {
|
||||
return project.configurations.getByName(JavaPlugin.RUNTIME_CLASSPATH_CONFIGURATION_NAME)
|
||||
.resolvedConfiguration.firstLevelModuleDependencies.flatMap { dep ->
|
||||
dep.moduleArtifacts
|
||||
}.map { it.file }.map { it.toPath() }.toList()
|
||||
val conf = project.configurations.getByName(JavaPlugin.RUNTIME_CLASSPATH_CONFIGURATION_NAME)
|
||||
return conf.dependencies.filterIsInstance<ProjectDependency>().map {
|
||||
getAWFile(it.dependencyProject)
|
||||
}.plus(conf.resolvedConfiguration.firstLevelModuleDependencies.flatMap {
|
||||
dep -> dep.moduleArtifacts
|
||||
}.map { it.file.toPath() }.filter { it.exists() && it.isRegularFile() }.map {
|
||||
FileSystems.newFileSystem(it).use {fs ->
|
||||
val metadata = fs.getPath(Constants.MOD_METADATA_FILE)
|
||||
if (metadata.exists()) {
|
||||
return@map null
|
||||
} else {
|
||||
PARSER.parse(it, FileNotFoundAction.READ_NOTHING)
|
||||
.get<String>("frog.extensions.accesswidener")?.let { name ->
|
||||
return@map it.resolveSibling(name)
|
||||
}
|
||||
}
|
||||
}
|
||||
}.toList()).filterNotNull().also { println(it) }
|
||||
}
|
||||
|
||||
fun needsUpdate(project: Project): Boolean {
|
||||
|
|
|
@ -45,7 +45,6 @@ object Nester {
|
|||
}
|
||||
}
|
||||
}
|
||||
//}
|
||||
configuration.resolvedConfiguration.firstLevelModuleDependencies.forEach { dep ->
|
||||
dep.moduleArtifacts.forEach { artifact ->
|
||||
val location = addMetadata(
|
||||
|
|
Loading…
Reference in a new issue