así que tengo un archivo llamado "versions.properties", que se parece a esto:
#ccsmp build version information #Tue, 12 Apr 2022 15:32:37 -0400 branch.type=feature cscsmp.svn.branch=branches/features/javarto_maven ivy.cache.dir.name=${svn.branch} jrto.version=${jrto.version.major}.${jrto.version.minor}.${jrto.version.maintenance} jrto.version.build=26856 jrto.version.maintenance=0 jrto.version.major=0 jrto.version.minor=0 lib.version=1.5 openvms_pass=xyz openvms_server=xyz openvms_user=loadxyz svn.branch=branches/features/CRE-442 svn.branchurl=${svn.rooturl}/${svn.branch} svn.password=xyz svn.rooturl=svn\://xyz-repo/svn/ccsmp svn.tagurl=${svn.rooturl}/tags svn.username=xyz version.build=846 version.date=2022/04/12 15\:32 version.maintenance=0 version.major=1 version.minor=37 version.release=${version.major}.${version.minor}.${version.maintenance}.${version.build}Estoy tratando de leer este archivo y luego usando los valores de version.major, version.minor, version.maintenance, version.build
Quiero alimentar estos valores para seguir-
def SVN_TAG=ccsmp_v_${versión.principal}.${versión.menor}.${versión.mantenimiento}.${versión.compilación}
Así que cuando hago println ${SVN_TAG}
Sale -
SVN_TAG=ccsmp_v_1.37.0.846¿Hay alguna manera de hacer esto? Cualquier sugerencia es altamente apreciada
def p = readProperties file: 'versions.properties' def SVN_TAG="ccsmp_v_${p.version.major}.${p.version.minor}.${p.version.maintenance}.${p.version.build}"Si no tiene propiedades de lectura
//declare function with non cps @NonCPS def toProperties(String s){ p = new Properties() p.load( new StringReader(s) ) return p } def p = readFile 'versions.properties' p = toProperties(p) def SVN_TAG="ccsmp_v_${p.'version.major'}.${p.'version.minor'}..."u otra opción con el análisis de cada línea
@NonCPS def toProperties(String s){ s.readLines().collect{it.split('=')}.findAll{it.size()==2}.collectEntries() } //the rest is the same as above