mirror of
https://github.com/plexusorg/Plex-FAWE.git
synced 2025-06-12 04:23:54 +00:00
Move shaded libraries to their own artifacts
This commit is contained in:
97
worldedit-libs/build.gradle
Normal file
97
worldedit-libs/build.gradle
Normal file
@ -0,0 +1,97 @@
|
||||
import com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar
|
||||
|
||||
subprojects {
|
||||
apply plugin: 'maven'
|
||||
apply plugin: 'com.github.johnrengelman.shadow'
|
||||
apply plugin: 'com.jfrog.artifactory'
|
||||
configurations {
|
||||
create("shade")
|
||||
}
|
||||
|
||||
group = rootProject.group + ".worldedit-libs"
|
||||
|
||||
tasks.register("jar", ShadowJar) {
|
||||
configurations = [project.configurations.shade]
|
||||
classifier = ""
|
||||
|
||||
relocate('net.kyori.text', 'com.sk89q.worldedit.util.formatting.text')
|
||||
}
|
||||
def altConfigFiles = { String artifactType ->
|
||||
def deps = configurations.shade.incoming.dependencies
|
||||
.collect { it.copy() }
|
||||
.collect { dependency ->
|
||||
dependency.artifact { artifact ->
|
||||
artifact.name = dependency.name
|
||||
artifact.type = artifactType
|
||||
artifact.extension = 'jar'
|
||||
artifact.classifier = artifactType
|
||||
}
|
||||
dependency
|
||||
}
|
||||
|
||||
return files(configurations.detachedConfiguration(deps as Dependency[])
|
||||
.resolvedConfiguration.lenientConfiguration.getArtifacts()
|
||||
.findAll { it.classifier == artifactType }
|
||||
.collect { zipTree(it.file) })
|
||||
}
|
||||
tasks.register("sourcesJar", Jar) {
|
||||
from {
|
||||
altConfigFiles('sources')
|
||||
}
|
||||
def filePattern = ~'(.*)net/kyori/text((?:/|$).*)'
|
||||
def textPattern = ~/net\.kyori\.text/
|
||||
eachFile {
|
||||
it.filter { String line ->
|
||||
line.replaceFirst(textPattern, 'com.sk89q.worldedit.util.formatting.text')
|
||||
}
|
||||
it.path = it.path.replaceFirst(filePattern, '$1com/sk89q/worldedit/util/formatting/text$2')
|
||||
}
|
||||
classifier = "sources"
|
||||
}
|
||||
|
||||
artifacts {
|
||||
add("default", jar)
|
||||
add("default", sourcesJar)
|
||||
}
|
||||
|
||||
tasks.register("install", Upload) {
|
||||
configuration = configurations.default
|
||||
repositories.mavenInstaller {
|
||||
pom.version = project.version
|
||||
pom.artifactId = project.name
|
||||
}
|
||||
}
|
||||
|
||||
artifactoryPublish {
|
||||
publishConfigs('default')
|
||||
}
|
||||
|
||||
build.dependsOn(jar, sourcesJar)
|
||||
}
|
||||
|
||||
project("core") {
|
||||
dependencies {
|
||||
shade 'net.kyori:text-api:2.0.0'
|
||||
shade 'net.kyori:text-serializer-gson:2.0.0'
|
||||
shade 'net.kyori:text-serializer-legacy:2.0.0'
|
||||
shade 'com.sk89q:jchronic:0.2.4a'
|
||||
shade 'com.thoughtworks.paranamer:paranamer:2.6'
|
||||
shade 'com.sk89q.lib:jlibnoise:1.0.0'
|
||||
}
|
||||
}
|
||||
project("bukkit") {
|
||||
dependencies {
|
||||
shade 'net.kyori:text-adapter-bukkit:1.0.3'
|
||||
shade 'org.bstats:bstats-bukkit:1.4'
|
||||
}
|
||||
}
|
||||
project("sponge") {
|
||||
dependencies {
|
||||
shade 'net.kyori:text-adapter-spongeapi:1.0.3'
|
||||
shade 'org.bstats:bstats-sponge:1.4'
|
||||
}
|
||||
}
|
||||
|
||||
tasks.register("build") {
|
||||
dependsOn(subprojects.collect { it.tasks.named("build") })
|
||||
}
|
Reference in New Issue
Block a user