Add a reusable PKI session and typed synchronous operation executor shared by direct CLI commands and versioned sequential batch plans. Provide deterministic references, structured output, failure policies and safe lifecycle handling without introducing a scripting language or runtime.
63 lines
1.7 KiB
Groovy
63 lines
1.7 KiB
Groovy
plugins {
|
|
id 'buildlogic.java-application-conventions'
|
|
id 'com.palantir.git-version'
|
|
}
|
|
|
|
group='org.egothor'
|
|
|
|
dependencies {
|
|
implementation 'org.apache.commons:commons-text'
|
|
implementation 'commons-cli:commons-cli'
|
|
implementation platform('tools.jackson:jackson-bom:3.1.5')
|
|
implementation 'tools.jackson.core:jackson-core'
|
|
implementation project(':lib')
|
|
implementation project(':ext')
|
|
implementation project(':pki')
|
|
// might be removed if I move BC ops to the lib
|
|
testImplementation 'org.bouncycastle:bcpkix-jdk18on'
|
|
}
|
|
|
|
application {
|
|
// Define the main class for the application.
|
|
mainClass = 'zeroecho.ZeroEcho'
|
|
}
|
|
|
|
jar {
|
|
manifest {
|
|
attributes(
|
|
'Main-Class': application.mainClass,
|
|
'Implementation-Title': rootProject.name,
|
|
'Implementation-Version': "${version}"
|
|
)
|
|
}
|
|
|
|
from sourceSets.main.output
|
|
|
|
dependsOn configurations.runtimeClasspath
|
|
|
|
// Include each JAR dependency
|
|
configurations.runtimeClasspath.findAll { it.exists() && it.name.endsWith('.jar') }.each { jarFile ->
|
|
def jarName = jarFile.name.replaceAll(/\.jar$/, '')
|
|
|
|
from(zipTree(jarFile)) {
|
|
// Exclude signature-related files
|
|
exclude 'META-INF/*.SF', 'META-INF/*.DSA', 'META-INF/*.RSA'
|
|
|
|
// Rename license/notice files to avoid conflicts
|
|
eachFile { file ->
|
|
if (file.path ==~ /META-INF\/(LICENSE|NOTICE)(\..*)?/) {
|
|
file.path = "META-INF/licenses-from-${jarName}/${file.name}"
|
|
}
|
|
}
|
|
|
|
includeEmptyDirs = false
|
|
}
|
|
}
|
|
|
|
duplicatesStrategy = DuplicatesStrategy.EXCLUDE
|
|
}
|
|
|
|
javadoc {
|
|
options.links("https://www.egothor.org/javadoc/zeroecho/lib")
|
|
}
|