mirror of
https://github.com/pgpainless/pgpainless.git
synced 2024-11-18 10:22:05 +01:00
59 lines
1.7 KiB
Groovy
59 lines
1.7 KiB
Groovy
plugins {
|
|
id 'application'
|
|
}
|
|
|
|
dependencies {
|
|
implementation(project(":pgpainless-core"))
|
|
|
|
implementation 'info.picocli:picocli:4.5.2'
|
|
|
|
testImplementation "org.junit.jupiter:junit-jupiter-api:$junitVersion"
|
|
testRuntimeOnly "org.junit.jupiter:junit-jupiter-engine:$junitVersion"
|
|
|
|
/*
|
|
implementation "org.bouncycastle:bcprov-debug-jdk15on:$bouncyCastleVersion"
|
|
/*/
|
|
implementation "org.bouncycastle:bcprov-jdk15on:$bouncyCastleVersion"
|
|
//*/
|
|
implementation "org.bouncycastle:bcpg-jdk15on:$bouncyCastleVersion"
|
|
|
|
// https://mvnrepository.com/artifact/com.google.code.findbugs/jsr305
|
|
implementation group: 'com.google.code.findbugs', name: 'jsr305', version: '3.0.2'
|
|
}
|
|
|
|
mainClassName = 'org.pgpainless.sop.PGPainlessCLI'
|
|
|
|
def generatedVersionDir = "${buildDir}/generated-version"
|
|
|
|
sourceSets {
|
|
main {
|
|
output.dir(generatedVersionDir, builtBy: 'generateVersionProperties')
|
|
}
|
|
}
|
|
|
|
task generateVersionProperties {
|
|
doLast {
|
|
def propertiesFile = file "$generatedVersionDir/version.properties"
|
|
propertiesFile.parentFile.mkdirs()
|
|
propertiesFile.createNewFile()
|
|
// Instead of using a Properties object here, we directly write to the file
|
|
// since Properties adds a timestamp, ruining reproducibility
|
|
propertiesFile.write("version="+rootProject.version.toString())
|
|
}
|
|
}
|
|
processResources.dependsOn generateVersionProperties
|
|
|
|
jar {
|
|
manifest {
|
|
attributes 'Main-Class': "$mainClassName"
|
|
}
|
|
|
|
from {
|
|
configurations.runtimeClasspath.collect { it.isDirectory() ? it : zipTree(it) }
|
|
} {
|
|
exclude "META-INF/*.SF"
|
|
exclude "META-INF/*.DSA"
|
|
exclude "META-INF/*.RSA"
|
|
}
|
|
}
|
|
|