Mirror von
https://github.com/IntellectualSites/FastAsyncWorldEdit.git
synchronisiert 2024-11-12 22:20:08 +01:00
428f8e201d
* Perform part of the move of //fast to //perf (#1377)
This re-adds a deprecated `//fast` and moves the current logic to
`//perf`. Later `//perf` will have its syntax reworked, when Piston
finally supports sub-commands properly!
* Names via Translation (#1268)
* Deprecate BiomeRegistry, etc.
* Update some libraries, e.g. text
* Move to new translation renderer
* Revert "Deprecate BiomeRegistry, etc."
This reverts commit 59a5d6c92aec52739a8dc68ac3d23898af7593dd.
This was not a good idea for potential mod shenanigans.
* Move BiomeData#getName to BiomeRegistry, use i18n
* Use getRichName instead of getName
* Implement getRichName for NullBiomeRegistry
* Add getRichName for blocks
* Relocate net.kyori.minecraft
* Update adapters for getRichBlockName
* Add getRichName for items
* Update adapters for getRichItemName
* Update adapters JAR for merge
(cherry picked from commit cfd26253b6fb59ff6c65a0157a6780be7db4ea5a)
* Follow-up fixes for 92f8776796
* Don't send deprecation warning and improve info message
* Fix click command for perf box
(cherry picked from commit 7ee60060c31df2f8b41212b430a0875312189339)
* update R3 adapter§
Co-authored-by: Octavia Togami <octavia.togami@gmail.com>
Co-authored-by: NotMyFault <mc.cache@web.de>
Co-authored-by: Aurora <21148213+aurorasmiles@users.noreply.github.com>
Co-authored-by: Aurora <aurora@relanet.eu>
121 Zeilen
4.0 KiB
Kotlin
121 Zeilen
4.0 KiB
Kotlin
import com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar
|
|
import org.gradle.api.Project
|
|
import org.gradle.api.artifacts.ExternalModuleDependency
|
|
import org.gradle.api.artifacts.ModuleDependency
|
|
import org.gradle.api.internal.HasConvention
|
|
import org.gradle.api.plugins.MavenRepositoryHandlerConvention
|
|
import org.gradle.api.tasks.Upload
|
|
import org.gradle.api.tasks.bundling.Jar
|
|
import org.gradle.kotlin.dsl.apply
|
|
import org.gradle.kotlin.dsl.get
|
|
import org.gradle.kotlin.dsl.getPlugin
|
|
import org.gradle.kotlin.dsl.invoke
|
|
import org.gradle.kotlin.dsl.register
|
|
|
|
fun Project.applyLibrariesConfiguration() {
|
|
applyCommonConfiguration()
|
|
apply(plugin = "java-base")
|
|
apply(plugin = "maven")
|
|
apply(plugin = "com.github.johnrengelman.shadow")
|
|
|
|
configurations {
|
|
create("shade")
|
|
getByName("archives").extendsFrom(getByName("default"))
|
|
}
|
|
|
|
group = "${rootProject.group}.worldedit-libs"
|
|
|
|
val relocations = mapOf(
|
|
"net.kyori.text" to "com.sk89q.worldedit.util.formatting.text",
|
|
"net.kyori.minecraft" to "com.sk89q.worldedit.util.kyori"
|
|
)
|
|
|
|
tasks.register<ShadowJar>("jar") {
|
|
configurations = listOf(project.configurations["shade"])
|
|
archiveClassifier.set("")
|
|
|
|
dependencies {
|
|
exclude(dependency("com.google.guava:guava"))
|
|
exclude(dependency("com.google.code.gson:gson"))
|
|
exclude(dependency("org.checkerframework:checker-qual"))
|
|
exclude(dependency("org.slf4j:slf4j-api"))
|
|
}
|
|
|
|
relocations.forEach { (from, to) ->
|
|
relocate(from, to)
|
|
}
|
|
}
|
|
val altConfigFiles = { artifactType: String ->
|
|
val deps = configurations["shade"].incoming.dependencies
|
|
.filterIsInstance<ModuleDependency>()
|
|
.map { it.copy() }
|
|
.map { dependency ->
|
|
dependency.artifact {
|
|
name = dependency.name
|
|
type = artifactType
|
|
extension = "jar"
|
|
classifier = artifactType
|
|
}
|
|
dependency
|
|
}
|
|
|
|
files(configurations.detachedConfiguration(*deps.toTypedArray())
|
|
.resolvedConfiguration.lenientConfiguration.artifacts
|
|
.filter { it.classifier == artifactType }
|
|
.map { zipTree(it.file) })
|
|
}
|
|
tasks.register<Jar>("sourcesJar") {
|
|
from({
|
|
altConfigFiles("sources")
|
|
})
|
|
relocations.forEach { (from, to) ->
|
|
val filePattern = Regex("(.*)${from.replace('.', '/')}((?:/|$).*)")
|
|
val textPattern = Regex.fromLiteral(from)
|
|
eachFile {
|
|
filter {
|
|
it.replaceFirst(textPattern, to)
|
|
}
|
|
path = path.replaceFirst(filePattern, "$1${to.replace('.', '/')}$2")
|
|
}
|
|
}
|
|
archiveClassifier.set("sources")
|
|
}
|
|
|
|
tasks.named("assemble").configure {
|
|
dependsOn("jar", "sourcesJar")
|
|
}
|
|
|
|
artifacts {
|
|
val jar = tasks.named("jar")
|
|
add("default", jar) {
|
|
builtBy(jar)
|
|
}
|
|
val sourcesJar = tasks.named("sourcesJar")
|
|
add("archives", sourcesJar) {
|
|
builtBy(sourcesJar)
|
|
}
|
|
}
|
|
|
|
tasks.register<Upload>("install") {
|
|
configuration = configurations["archives"]
|
|
(repositories as HasConvention).convention.getPlugin<MavenRepositoryHandlerConvention>().mavenInstaller {
|
|
pom.version = project.version.toString()
|
|
pom.artifactId = project.name
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
fun Project.constrainDependenciesToLibsCore() {
|
|
evaluationDependsOn(":worldedit-libs:core")
|
|
val coreDeps = project(":worldedit-libs:core").configurations["shade"].dependencies
|
|
.filterIsInstance<ExternalModuleDependency>()
|
|
dependencies.constraints {
|
|
for (coreDep in coreDeps) {
|
|
add("shade", "${coreDep.group}:${coreDep.name}:${coreDep.version}") {
|
|
because("libs should align with libs:core")
|
|
}
|
|
}
|
|
}
|
|
}
|