上传文件至 /
This commit is contained in:
89
build.gradle
Normal file
89
build.gradle
Normal file
@ -0,0 +1,89 @@
|
||||
import org.apache.tools.ant.filters.ReplaceTokens
|
||||
|
||||
plugins {
|
||||
id 'java'
|
||||
id 'com.github.johnrengelman.shadow' version '8.1.1'
|
||||
id 'com.palantir.git-version' version '0.13.0'
|
||||
}
|
||||
|
||||
group = 'net.coreprotect'
|
||||
String projectVersion = '22.4'
|
||||
String projectBranch = ''
|
||||
version = projectVersion // `version` might be modified, we don't always want that (e.g. plugin.yml)
|
||||
description = 'Provides block protection for your server.'
|
||||
sourceCompatibility = '21'
|
||||
|
||||
if (System.getenv("BUILD_NUMBER") != null) {
|
||||
// Being built in Jenkins, append Build ID
|
||||
version += "-${System.getenv("BUILD_NUMBER")}"
|
||||
} else if (!(version ==~ '^[^.]*\\.[^.]*\\.[^.]*$')) { // Thanks https://stackoverflow.com/a/9949200/1709894
|
||||
// Append the Git hash if 'version' has less than two periods
|
||||
version += "-${gitVersion()}"
|
||||
}
|
||||
logger.info("Building version $version")
|
||||
|
||||
repositories {
|
||||
maven { url = 'https://hub.spigotmc.org/nexus/content/groups/public/' }
|
||||
maven { url = 'https://repo.papermc.io/repository/maven-public/' }
|
||||
maven { url = 'https://repo.codemc.org/repository/maven-public/' }
|
||||
}
|
||||
|
||||
dependencies {
|
||||
implementation(platform("com.intellectualsites.bom:bom-newest:1.44")) // Ref: https://github.com/IntellectualSites/bom
|
||||
compileOnly("com.fastasyncworldedit:FastAsyncWorldEdit-Core")
|
||||
compileOnly("com.fastasyncworldedit:FastAsyncWorldEdit-Bukkit")
|
||||
compileOnly 'io.papermc.paper:paper-api:1.20.4-R0.1-SNAPSHOT'
|
||||
implementation 'org.bstats:bstats-bukkit-lite:1.8'
|
||||
implementation 'com.zaxxer:HikariCP:5.0.1'
|
||||
}
|
||||
|
||||
jar {
|
||||
archiveClassifier.set("original")
|
||||
}
|
||||
|
||||
artifacts {
|
||||
archives shadowJar
|
||||
}
|
||||
|
||||
shadowJar {
|
||||
dependencies {
|
||||
// #toString because #getGroup technically returns an Object
|
||||
relocate('org.bstats', project.group.toString())
|
||||
relocate('com.zaxxer', project.group.toString())
|
||||
exclude(dependency('com.google.code.gson:.*'))
|
||||
exclude(dependency('org.intellij:.*'))
|
||||
exclude(dependency('org.jetbrains:.*'))
|
||||
exclude(dependency('org.slf4j:.*'))
|
||||
}
|
||||
archiveClassifier.set(null)
|
||||
}
|
||||
|
||||
ext {
|
||||
author = 'Intelli'
|
||||
|
||||
resourceTokens = [
|
||||
'project.version': projectVersion,
|
||||
'project.branch': projectBranch,
|
||||
]
|
||||
}
|
||||
|
||||
processResources {
|
||||
include 'plugin.yml'
|
||||
// Whole lotta boilerplate to get the same functionality as Maven here.
|
||||
// Replace this if Gradle ever lets us configure the filter before filtering.
|
||||
filter(new Transformer<String, String>() {
|
||||
@Override
|
||||
String transform(String s) {
|
||||
ReplaceTokens replaceTokens = new ReplaceTokens(new StringReader(s))
|
||||
replaceTokens.setBeginToken('${')
|
||||
replaceTokens.setEndToken('}')
|
||||
resourceTokens.forEach { key, val ->
|
||||
def token = new ReplaceTokens.Token()
|
||||
token.setKey(key.toString())
|
||||
token.setValue(val.toString())
|
||||
replaceTokens.addConfiguredToken(token)
|
||||
}
|
||||
return replaceTokens.readLines().join('\n')
|
||||
}
|
||||
})
|
||||
}
|
||||
Reference in New Issue
Block a user