diff --git a/Jenkinsfile b/Jenkinsfile index 3d370044..38caadda 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -11,17 +11,24 @@ pipeline { ANDROID_SDK = '/opt/android-sdk' // 安卓 SDK 路径 } stages { - stage('读取 manifest 版本号 (Node原生解析·零依赖)') { + stage('读取 manifest 版本号(支持注释·稳定版)') { steps { script { - // ✅ 用 Node 读取,100% 稳定,不用装任何工具! + // 路径是 ./src/manifest.json !!!你之前路径错了 + def manifestPath = './src/manifest.json' + + // 读取并去掉注释,再解析(完美支持你的文件) VERSION_NAME = sh( - script: "node -p \"require('./src/manifest.json').versionName\"", + script: """ + node -p "const fs=require('fs');JSON.parse(fs.readFileSync('${manifestPath}','utf8').replace(/\\/\\/.*/g,'')).versionName" + """, returnStdout: true ).trim() VERSION_CODE = sh( - script: "node -p \"require('./src/manifest.json').versionCode\"", + script: """ + node -p "const fs=require('fs');JSON.parse(fs.readFileSync('${manifestPath}','utf8').replace(/\\/\\/.*/g,'')).versionCode" + """, returnStdout: true ).trim() @@ -30,10 +37,9 @@ pipeline { echo " 版本号:${VERSION_CODE}" echo "=====================================" -// // 自动替换到 Android build.gradle -// def buildFile = "Android/simpleDemo/build.gradle" -// sh "sed -i \"s/versionName \\".*\\"/versionName \\"${VERSION_NAME}\\"/\" ${buildFile}" -// sh "sed -i \"s/versionCode [0-9]*/versionCode ${VERSION_CODE}/\" ${buildFile}" +// // 替换到安卓 build.gradle +// sh "sed -i \"s/versionName \\\".*\\\"/versionName \\\"${VERSION_NAME}\\\"/\" Android/simpleDemo/build.gradle" +// sh "sed -i \"s/versionCode [0-9]*/versionCode ${VERSION_CODE}/\" Android/simpleDemo/build.gradle" } } }