xpipe/gradle/gradle_scripts/extension.gradle

66 lines
2.2 KiB
Groovy
Raw Normal View History

2023-01-27 15:34:46 +13:00
task copyRuntimeLibs(type: Copy) {
into project.jar.destinationDirectory
from configurations.runtimeClasspath
2023-02-11 02:46:54 +13:00
exclude "${project.name}.jar"
2023-01-27 15:34:46 +13:00
duplicatesStrategy(DuplicatesStrategy.EXCLUDE)
}
copyRuntimeLibs.dependsOn(addDependenciesModuleInfo)
jar.dependsOn(copyRuntimeLibs)
2023-02-11 10:52:20 +13:00
def dev = tasks.register('createDevOutput', Copy) {
def base = project.name.substring(0, project.name.length() - 1)
def isX = project.name.endsWith("x") && findProject(":$base") != null
var source = "${project.jar.destinationDirectory.get()}"
if (isX) {
from source
into "${project(':' + base).jar.destinationDirectory.get()}_dev"
} else {
from source
into "${project.jar.destinationDirectory.get()}_dev"
}
}
jar.finalizedBy(dev)
2023-02-11 04:09:48 +13:00
tasks.register('createExtOutput', Copy) {
2023-02-11 02:46:54 +13:00
def base = project.name.substring(0, project.name.length() - 1)
def isX = project.name.endsWith("x") && findProject(":$base") != null
doFirst {
if (!file("${project.jar.destinationDirectory.get()}_prod").exists()) {
copy {
from "${project.jar.destinationDirectory.get()}"
into "${project.jar.destinationDirectory.get()}_prod"
}
}
}
def shouldObfuscate = rootProject.obfuscate && rootProject.privateExtensions.contains(project.name)
var source = shouldObfuscate ? "${project.jar.destinationDirectory.get()}_prod" : "${project.jar.destinationDirectory.get()}"
if (isX) {
from source
into "${project(':' + base).jar.destinationDirectory.get()}_ext"
} else {
from source
into "${project.jar.destinationDirectory.get()}_ext"
}
}
2023-01-27 15:34:46 +13:00
apply from: "$rootDir/gradle/gradle_scripts/java.gradle"
apply from: "$rootDir/gradle/gradle_scripts/javafx.gradle"
apply from: "$rootDir/gradle/gradle_scripts/lombok.gradle"
apply from: "$rootDir/gradle/gradle_scripts/extension_test.gradle"
dependencies {
compileOnly group: 'com.fasterxml.jackson.core', name: 'jackson-databind', version: "2.13.0"
compileOnly project(':extension')
compileOnly 'net.synedra:validatorfx:0.3.1'
if (project != project(':base')) {
compileOnly project(':base')
}
testImplementation project(':extension')
}