Files
SteamWar/VelocityCore/build.gradle.kts
T
YoyoNow 6efbda669e Optimize and improve VelocityCore size
Improve steamwar.devserver.gradle to not upload anything that is up to date!
2025-07-02 11:17:55 +02:00

68 lines
2.3 KiB
Kotlin

/*
* This file is a part of the SteamWar software.
*
* Copyright (C) 2024 SteamWar.de-Serverteam
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
plugins {
steamwar.java
alias(libs.plugins.shadow)
}
tasks.shadowJar {
exclude("META-INF/*")
exclude("org/sqlite/native/FreeBSD/**', 'org/sqlite/native/Mac/**', 'org/sqlite/native/Windows/**', 'org/sqlite/native/Linux-Android/**', 'org/sqlite/native/Linux-Musl/**")
exclude("org/sqlite/native/Linux/aarch64/**', 'org/sqlite/native/Linux/arm/**', 'org/sqlite/native/Linux/armv6/**', 'org/sqlite/native/Linux/armv7/**', 'org/sqlite/native/Linux/ppc64/**', 'org/sqlite/native/Linux/x86/**")
exclude("org/slf4j/**")
//https://imperceptiblethoughts.com/shadow/configuration/minimizing/
minimize {
exclude(project(":VelocityCore"))
exclude(dependency("mysql:mysql-connector-java:.*"))
}
duplicatesStrategy = DuplicatesStrategy.INCLUDE
}
tasks.build {
finalizedBy(tasks.shadowJar)
}
java {
sourceCompatibility = JavaVersion.VERSION_17
targetCompatibility = JavaVersion.VERSION_17
}
dependencies {
annotationProcessor(libs.velocityapi)
compileOnly(libs.velocity)
compileOnly(libs.viaapi)
compileOnly(libs.viavelocity)
compileOnly(project(":VelocityCore:Persistent", "default"))
compileOnly(project(":VelocityCore:Dependencies", "default"))
implementation(project(":CommonCore"))
implementation(project(":CommandFramework"))
}
tasks.register<DevServer>("DevVelocity") {
group = "run"
description = "Run a Dev Velocity"
dependsOn(":VelocityCore:shadowJar")
dependsOn(":VelocityCore:Persistent:jar")
dependsOn(":VelocityCore:Dependencies:shadowJar")
template = "DevVelocity"
}