diff --git a/Jenkinsfile b/Jenkinsfile index 668901b..6115c80 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -18,23 +18,20 @@ pipeline { stage('Extract VERSION') { steps { script { - def versionFile = "src/main/resources/META-INF/ncore-product/${env.PRODUCT_GROUP}/version.properties" - if (!fileExists(versionFile)) - error "Version file not found: ${versionFile}" - def versionText = "" - readFile(file: versionFile).readLines().each { - if (it.contains('version')) - versionText += it.trim(); - } - echo versionText - def m = (versionText =~ /^version=(((\d+\.)*\d+)(?:-[A-Za-z]+)?)$/) + env.VERSION = sh( + script: """ + set -e + VERSION=\$(sed -n 's/^version=//p' ${versionFile}) - if (!m.find()) { - error "Invalid version format: ${versionText}" - } + if [[ ! "\$VERSION" =~ ^[0-9]+(\\.[0-9]+)*(-[A-Za-z]+)?$ ]]; then + echo "Invalid version format: \$VERSION" >&2 + exit 1 + fi - env.VERSION = m.group(1) - echo "Extracted VERSION: ${env.VERSION}" + echo "\$VERSION" + """, + returnStdout: true + ).trim() } } }