2021-01-12 19:22:29 +01:00
|
|
|
plugins {
|
|
|
|
id 'java'
|
2024-04-29 18:50:42 +02:00
|
|
|
id 'io.github.goooler.shadow' version '8.1.7'
|
2021-01-12 19:22:29 +01:00
|
|
|
id 'maven-publish'
|
|
|
|
}
|
2021-01-01 18:40:42 +01:00
|
|
|
|
2021-01-12 19:22:29 +01:00
|
|
|
group 'WildLoaders'
|
2024-11-23 15:34:22 +01:00
|
|
|
version = "2024.4"
|
2021-01-01 18:40:42 +01:00
|
|
|
|
2023-03-25 10:53:58 +01:00
|
|
|
project.ext {
|
|
|
|
archiveFolder = file("archive/")
|
|
|
|
targetFolder = file("target/")
|
2024-01-19 17:37:59 +01:00
|
|
|
buildVersion = System.getenv("BUILD_NUMBER") == null || Boolean.parseBoolean(System.getenv("STABLE_BUILD")) ?
|
|
|
|
version : version + "-b" + System.getenv("BUILD_NUMBER")
|
2023-03-25 10:53:58 +01:00
|
|
|
}
|
|
|
|
|
2021-12-25 19:51:51 +01:00
|
|
|
allprojects {
|
2021-01-01 18:40:42 +01:00
|
|
|
apply plugin: 'java'
|
2024-04-29 18:50:42 +02:00
|
|
|
apply plugin: 'io.github.goooler.shadow'
|
|
|
|
|
|
|
|
java {
|
|
|
|
toolchain {
|
|
|
|
languageVersion.set(JavaLanguageVersion.of(8))
|
|
|
|
}
|
|
|
|
}
|
2021-01-01 18:40:42 +01:00
|
|
|
|
|
|
|
repositories {
|
|
|
|
maven { url 'https://repo.bg-software.com/repository/nms/' }
|
2021-12-25 19:51:51 +01:00
|
|
|
maven { url 'https://repo.bg-software.com/repository/api/' }
|
2021-06-11 21:16:18 +02:00
|
|
|
maven { url 'https://repo.bg-software.com/repository/common/' }
|
2022-12-10 15:31:43 +01:00
|
|
|
maven { url 'https://repo.bg-software.com/repository/dependencies/' }
|
2021-06-11 21:16:18 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
dependencies {
|
2024-05-11 18:54:42 +02:00
|
|
|
compileOnly "com.bgsoftware.common.reflection:ReflectionUtils:b5"
|
2021-01-01 18:40:42 +01:00
|
|
|
}
|
|
|
|
|
2022-08-12 13:16:39 +02:00
|
|
|
task checkDebug() {
|
|
|
|
Set<File> filesWithDebug = fileTree('src/main/java').filter { file ->
|
|
|
|
file.text.contains('Bukkit.broadcastMessage')
|
|
|
|
}.getFiles()
|
|
|
|
|
|
|
|
if(!filesWithDebug.isEmpty())
|
|
|
|
throw new GradleException("Found debug messages: " + filesWithDebug)
|
|
|
|
}
|
|
|
|
|
2021-01-01 18:40:42 +01:00
|
|
|
build {
|
2022-08-12 13:16:39 +02:00
|
|
|
dependsOn checkDebug
|
2021-01-01 18:40:42 +01:00
|
|
|
dependsOn shadowJar
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2021-12-25 19:51:51 +01:00
|
|
|
subprojects {
|
|
|
|
shadowJar {
|
|
|
|
archiveFileName = "${project.name}.jar"
|
2023-03-25 10:53:58 +01:00
|
|
|
destinationDirectory = rootProject.archiveFolder
|
2021-01-01 18:40:42 +01:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2024-04-29 18:50:42 +02:00
|
|
|
repositories {
|
|
|
|
mavenCentral()
|
|
|
|
}
|
|
|
|
|
2021-01-01 18:40:42 +01:00
|
|
|
dependencies {
|
2023-03-25 10:53:58 +01:00
|
|
|
implementation fileTree(rootProject.archiveFolder.getAbsolutePath())
|
2021-01-12 19:22:29 +01:00
|
|
|
implementation project(":API")
|
2021-01-01 18:40:42 +01:00
|
|
|
|
2024-05-11 18:54:42 +02:00
|
|
|
implementation 'com.bgsoftware.common.reflection:ReflectionUtils:b5'
|
2024-04-29 18:50:42 +02:00
|
|
|
implementation 'com.bgsoftware.common.updater:Updater:b1'
|
|
|
|
implementation 'com.bgsoftware.common.config:CommentedConfiguration:b1'
|
2023-11-24 19:58:39 +01:00
|
|
|
implementation 'com.bgsoftware.common.dependencies:DependenciesManager:b2'
|
2024-11-06 19:00:54 +01:00
|
|
|
implementation 'com.bgsoftware.common.nmsloader:NMSLoader:b8'
|
2024-04-29 18:50:42 +02:00
|
|
|
|
|
|
|
implementation 'org.bstats:bstats-bukkit:3.0.0'
|
2021-06-11 21:16:18 +02:00
|
|
|
|
2021-01-01 18:40:42 +01:00
|
|
|
// Spigot jars
|
2021-08-31 19:43:45 +02:00
|
|
|
compileOnly "org.spigotmc:v1_8_R3:latest"
|
2021-01-01 18:40:42 +01:00
|
|
|
compileOnly 'org.spigotmc:v1_16_R3-Tuinity:latest'
|
|
|
|
}
|
|
|
|
|
|
|
|
jar {
|
|
|
|
from {
|
2023-03-25 10:53:58 +01:00
|
|
|
for (File file : rootProject.archiveFolder.listFiles()) {
|
2021-01-01 18:40:42 +01:00
|
|
|
zipTree(file)
|
|
|
|
}
|
|
|
|
}
|
2021-01-12 19:22:29 +01:00
|
|
|
}
|
2021-01-01 18:40:42 +01:00
|
|
|
|
2021-01-12 19:22:29 +01:00
|
|
|
processResources {
|
2022-08-06 11:01:31 +02:00
|
|
|
outputs.upToDateWhen { false }
|
2021-01-12 19:22:29 +01:00
|
|
|
eachFile { details ->
|
|
|
|
if (details.name.contentEquals('plugin.yml')) {
|
|
|
|
filter { String line ->
|
2023-03-25 10:53:58 +01:00
|
|
|
line.replace('${project.version}', rootProject.buildVersion)
|
2021-01-01 18:40:42 +01:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
shadowJar {
|
|
|
|
dependsOn(jar)
|
2021-01-04 00:24:56 +01:00
|
|
|
|
2024-04-29 18:50:42 +02:00
|
|
|
relocate 'org.bstats', 'com.bgsoftware.wildloaders.libs.org.bstats'
|
|
|
|
relocate 'com.bgsoftware.common', 'com.bgsoftware.wildloaders.libs.com.bgsoftware.common'
|
|
|
|
|
2023-03-25 10:53:58 +01:00
|
|
|
archiveFileName = rootProject.name + "-" + rootProject.buildVersion + ".jar"
|
2021-01-04 00:24:56 +01:00
|
|
|
|
2023-03-25 10:53:58 +01:00
|
|
|
delete fileTree(rootProject.targetFolder.getAbsolutePath())
|
2021-01-04 00:24:56 +01:00
|
|
|
|
2022-09-10 20:32:48 +02:00
|
|
|
exclude '*exclude.jar'
|
|
|
|
|
2023-03-25 10:53:58 +01:00
|
|
|
destinationDirectory = rootProject.targetFolder
|
2021-01-01 18:40:42 +01:00
|
|
|
from sourceSets.getByName("main").output
|
|
|
|
configurations = [project.configurations.getByName("runtimeClasspath")]
|
|
|
|
}
|
|
|
|
|
2024-04-29 19:19:34 +02:00
|
|
|
task copyAPI(type: Copy, dependsOn: ':API:build') {
|
2023-03-25 10:53:58 +01:00
|
|
|
from rootProject.archiveFolder.getAbsolutePath() + '/API.jar'
|
|
|
|
into rootProject.targetFolder.getAbsolutePath()
|
2021-05-17 10:21:58 +02:00
|
|
|
rename('API.jar', rootProject.name + 'API.jar')
|
|
|
|
}
|
|
|
|
|
2021-03-19 20:23:07 +01:00
|
|
|
clean {
|
2023-03-25 10:53:58 +01:00
|
|
|
delete rootProject.archiveFolder
|
2021-03-19 20:23:07 +01:00
|
|
|
}
|
|
|
|
|
2021-01-01 18:40:42 +01:00
|
|
|
build {
|
|
|
|
dependsOn shadowJar
|
2021-05-17 10:21:58 +02:00
|
|
|
dependsOn copyAPI
|
2021-03-19 20:23:07 +01:00
|
|
|
dependsOn clean
|
2021-01-01 18:40:42 +01:00
|
|
|
}
|
2021-01-12 19:22:29 +01:00
|
|
|
|
2021-01-01 18:40:42 +01:00
|
|
|
publish.shouldRunAfter shadowJar
|
|
|
|
shadowJar.shouldRunAfter build
|
2024-04-29 18:50:42 +02:00
|
|
|
build.shouldRunAfter subprojects.build
|
2024-04-29 19:16:39 +02:00
|
|
|
clean.shouldRunAfter copyAPI
|
2024-04-29 18:50:42 +02:00
|
|
|
|
|
|
|
shadowJar.dependsOn subprojects.build
|
|
|
|
compileJava.dependsOn childProjects.values().shadowJar
|