80 lines
2.2 KiB
Groovy
80 lines
2.2 KiB
Groovy
import com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar
|
|
import org.gradle.language.jvm.tasks.ProcessResources
|
|
|
|
plugins {
|
|
id 'java'
|
|
id 'io.papermc.paperweight.userdev' version '2.0.0-beta.21'
|
|
id 'com.gradleup.shadow' version '8.3.6'
|
|
}
|
|
|
|
group = 'cn.infstar'
|
|
version = '1.4.0'
|
|
|
|
repositories {
|
|
mavenCentral()
|
|
maven {
|
|
name = 'papermc'
|
|
url = uri('https://repo.papermc.io/repository/maven-public/')
|
|
}
|
|
}
|
|
|
|
dependencies {
|
|
paperweight.paperDevBundle('1.21.11-R0.1-SNAPSHOT')
|
|
}
|
|
|
|
java {
|
|
toolchain.languageVersion.set(JavaLanguageVersion.of(21))
|
|
}
|
|
|
|
tasks.withType(JavaCompile).configureEach {
|
|
options.encoding = 'UTF-8'
|
|
}
|
|
|
|
tasks.withType(ProcessResources).configureEach {
|
|
filteringCharset = 'UTF-8'
|
|
}
|
|
|
|
tasks.named('processResources', ProcessResources).configure {
|
|
inputs.property('version', project.version)
|
|
filesMatching('paper-plugin.yml') {
|
|
expand('version': project.version)
|
|
}
|
|
}
|
|
|
|
tasks.named('jar').configure {
|
|
enabled = false
|
|
}
|
|
|
|
tasks.named('shadowJar', ShadowJar).configure {
|
|
group = 'build'
|
|
description = '构建包含全部运行期可开关模块的 EssentialsC 插件。'
|
|
archiveFileName.set("EssentialsC-${project.version}.jar")
|
|
configurations = [project.configurations.runtimeClasspath]
|
|
}
|
|
|
|
tasks.named('assemble').configure {
|
|
dependsOn(tasks.named('shadowJar'))
|
|
}
|
|
|
|
def registerTestServerDeployTask = { String taskName, String serverPath, String serverName ->
|
|
tasks.register(taskName, Copy) {
|
|
group = 'deployment'
|
|
description = "构建并部署插件到本地 ${serverName} 测试服务器。"
|
|
def artifact = tasks.named('shadowJar').flatMap { it.archiveFile }
|
|
def pluginsDir = layout.projectDirectory.dir("${serverPath}/plugins")
|
|
dependsOn(tasks.named('shadowJar'))
|
|
from(artifact)
|
|
into(pluginsDir)
|
|
|
|
doFirst {
|
|
delete(fileTree(pluginsDir) {
|
|
include 'EssentialsC*.jar'
|
|
})
|
|
delete(pluginsDir.file('EssentialsC').asFile)
|
|
}
|
|
}
|
|
}
|
|
|
|
registerTestServerDeployTask('deployToPaper12111', 'test-server/paper-1.21.11', 'Paper 1.21.11')
|
|
registerTestServerDeployTask('deployToPaper2612', 'test-server/paper-26.1.2', 'Paper 26.1.2')
|