1
0
Fork 0
mirror of https://github.com/pgpainless/pgpainless.git synced 2024-12-23 03:17:58 +01:00

Extract pgpainless-sop-version property via resource filtering

This commit is contained in:
Paul Schaub 2024-12-21 13:24:05 +01:00
parent a43ae43722
commit 5018386318
Signed by: vanitasvitae
GPG key ID: 62BEE9264BF17311
4 changed files with 10 additions and 22 deletions

View file

@ -6,25 +6,6 @@ plugins {
id 'application'
id "com.github.johnrengelman.shadow" version "6.1.0"
}
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
dependencies {

View file

@ -1,7 +1,7 @@
// SPDX-FileCopyrightText: 2021 Paul Schaub <vanitasvitae@fsfe.org>
//
// SPDX-License-Identifier: Apache-2.0
import org.apache.tools.ant.filters.*
plugins {
id 'java-library'
}
@ -30,6 +30,12 @@ dependencies {
implementation "com.google.code.findbugs:jsr305:3.0.2"
}
processResources {
filter ReplaceTokens, tokens: [
"project.version": project.version.toString()
]
}
test {
useJUnitPlatform()
environment("test.implementation", "sop.testsuite.pgpainless.PGPainlessSopInstanceFactory")

View file

@ -49,11 +49,11 @@ https://www.bouncycastle.org/java.html"""
// See https://stackoverflow.com/a/50119235
return try {
val resourceIn: InputStream =
javaClass.getResourceAsStream("/version.properties")
javaClass.getResourceAsStream("/pgpainless-sop.properties")
?: throw IOException("File version.properties not found.")
val properties = Properties().apply { load(resourceIn) }
properties.getProperty("version")
properties.getProperty("pgpainless-sop-version")
} catch (e: IOException) {
"DEVELOPMENT"
}

View file

@ -0,0 +1 @@
pgpainless-sop-version=@project.version@