diff --git a/network-management/build.gradle b/network-management/build.gradle index ff71d14203..45b6e74ece 100644 --- a/network-management/build.gradle +++ b/network-management/build.gradle @@ -79,6 +79,9 @@ dependencies { // Hibernate audit plugin compile "org.hibernate:hibernate-envers:5.2.11.Final" + // Manifests: for reading stuff from the manifest file + compile "com.jcabi:jcabi-manifests:1.1" + testCompile project(':test-utils') testCompile project(':node-driver') @@ -109,3 +112,10 @@ dependencies { compile "org.bouncycastle:bcprov-jdk15on:${bouncycastle_version}" compile "org.bouncycastle:bcpkix-jdk15on:${bouncycastle_version}" } + +jar { + classifier "ignore" + manifest { + attributes('Network-Management-Version': version) + } +} \ No newline at end of file diff --git a/network-management/src/main/kotlin/com/r3/corda/networkmanage/doorman/Main.kt b/network-management/src/main/kotlin/com/r3/corda/networkmanage/doorman/Main.kt index bb6941e30d..82decaf018 100644 --- a/network-management/src/main/kotlin/com/r3/corda/networkmanage/doorman/Main.kt +++ b/network-management/src/main/kotlin/com/r3/corda/networkmanage/doorman/Main.kt @@ -12,6 +12,7 @@ import net.corda.nodeapi.internal.crypto.X509Utilities import org.bouncycastle.pkcs.PKCS10CertificationRequest import java.time.Instant import kotlin.concurrent.thread +import com.jcabi.manifests.Manifests data class NetworkMapStartParams(val signer: LocalSigner?, val updateNetworkParameters: NetworkParameters?, val config: NetworkMapConfig) @@ -41,10 +42,17 @@ class ApproveAllCertificateRequestStorage(private val delegate: CertificationReq } } +private fun logNetworkManagementVersion() { + if (Manifests.exists("Network-Management-Version")) { + println("Network Management Version: ${Manifests.read("Network-Management-Version")}") + } +} + fun main(args: Array) { try { parseParameters(*args).run { println("Starting in $mode mode") + logNetworkManagementVersion() when (mode) { Mode.ROOT_KEYGEN -> generateRootKeyPair( rootStorePath ?: throw IllegalArgumentException("The 'rootStorePath' parameter must be specified when generating keys!"),