1
0
mirror of https://github.com/GeyserMC/Floodgate.git synced 2025-12-19 23:09:27 +00:00

Added metrics and fixed relocations not applying for child projects

This commit is contained in:
Tim203
2022-03-21 14:41:53 +01:00
parent 440e20f5ea
commit 465e66df72
22 changed files with 406 additions and 48 deletions

View File

@@ -23,11 +23,9 @@
* @link https://github.com/GeyserMC/Floodgate
*/
import com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar
import net.kyori.indra.git.IndraGitExtension
import org.gradle.api.Project
import org.gradle.api.artifacts.ProjectDependency
import org.gradle.kotlin.dsl.named
import org.gradle.kotlin.dsl.the
fun Project.isSnapshot(): Boolean =
@@ -54,13 +52,8 @@ fun Project.buildNumber(): Int =
fun Project.buildNumberAsString(): String =
buildNumber().takeIf { it != -1 }?.toString() ?: "??"
fun Project.relocate(pattern: String) {
tasks.named<ShadowJar>("shadowJar") {
relocate(pattern, "org.geysermc.floodgate.shaded.$pattern")
}
}
val providedDependencies = mutableMapOf<String, MutableSet<String>>()
val relocatedPackages = mutableMapOf<String, MutableSet<String>>()
fun Project.provided(pattern: String, name: String, version: String, excludedOn: Int = 0b110) {
providedDependencies.getOrPut(project.name) { mutableSetOf() }
@@ -73,5 +66,10 @@ fun Project.provided(pattern: String, name: String, version: String, excludedOn:
fun Project.provided(dependency: ProjectDependency) =
provided(dependency.group!!, dependency.name, dependency.version!!)
fun Project.relocate(pattern: String) =
relocatedPackages.getOrPut(project.name) { mutableSetOf() }
.add(pattern)
private fun calcExclusion(section: String, bit: Int, excludedOn: Int): String =
if (excludedOn and bit > 0) section else ""