mirror of
https://github.com/pgpainless/pgpainless.git
synced 2024-12-22 19:08:00 +01:00
parent
5018386318
commit
4dbc633d7d
1 changed files with 28 additions and 3 deletions
|
@ -8,6 +8,7 @@ import java.io.IOException
|
||||||
import java.io.InputStream
|
import java.io.InputStream
|
||||||
import java.util.*
|
import java.util.*
|
||||||
import org.bouncycastle.jce.provider.BouncyCastleProvider
|
import org.bouncycastle.jce.provider.BouncyCastleProvider
|
||||||
|
import sop.SOP
|
||||||
import sop.operation.Version
|
import sop.operation.Version
|
||||||
|
|
||||||
/** Implementation of the `version` operation using PGPainless. */
|
/** Implementation of the `version` operation using PGPainless. */
|
||||||
|
@ -32,7 +33,7 @@ https://datatracker.ietf.org/doc/html/draft-dkg-openpgp-stateless-cli-$specVersi
|
||||||
|
|
||||||
Based on pgpainless-core ${getVersion()}
|
Based on pgpainless-core ${getVersion()}
|
||||||
https://pgpainless.org
|
https://pgpainless.org
|
||||||
|
${formatSopJavaVersion()}
|
||||||
Using $bcVersion
|
Using $bcVersion
|
||||||
https://www.bouncycastle.org/java.html"""
|
https://www.bouncycastle.org/java.html"""
|
||||||
}
|
}
|
||||||
|
@ -49,8 +50,8 @@ https://www.bouncycastle.org/java.html"""
|
||||||
// See https://stackoverflow.com/a/50119235
|
// See https://stackoverflow.com/a/50119235
|
||||||
return try {
|
return try {
|
||||||
val resourceIn: InputStream =
|
val resourceIn: InputStream =
|
||||||
javaClass.getResourceAsStream("/pgpainless-sop.properties")
|
SOP::class.java.getResourceAsStream("/pgpainless-sop.properties")
|
||||||
?: throw IOException("File version.properties not found.")
|
?: throw IOException("File pgpainless-sop.properties not found.")
|
||||||
|
|
||||||
val properties = Properties().apply { load(resourceIn) }
|
val properties = Properties().apply { load(resourceIn) }
|
||||||
properties.getProperty("pgpainless-sop-version")
|
properties.getProperty("pgpainless-sop-version")
|
||||||
|
@ -59,5 +60,29 @@ https://www.bouncycastle.org/java.html"""
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private fun formatSopJavaVersion(): String {
|
||||||
|
return getSopJavaVersion()?.let {
|
||||||
|
"""
|
||||||
|
|
||||||
|
sop-java $it
|
||||||
|
|
||||||
|
"""
|
||||||
|
.trimIndent()
|
||||||
|
}
|
||||||
|
?: ""
|
||||||
|
}
|
||||||
|
|
||||||
|
private fun getSopJavaVersion(): String? {
|
||||||
|
return try {
|
||||||
|
val resourceIn: InputStream =
|
||||||
|
javaClass.getResourceAsStream("/sop-java-version.properties")
|
||||||
|
?: throw IOException("File sop-java-version.properties not found.")
|
||||||
|
val properties = Properties().apply { load(resourceIn) }
|
||||||
|
properties.getProperty("sop-java-version")
|
||||||
|
} catch (e: IOException) {
|
||||||
|
null
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
override fun isSopSpecImplementationIncomplete(): Boolean = false
|
override fun isSopSpecImplementationIncomplete(): Boolean = false
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue