Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

190
Vistas
How to extract only a certain text from a file

so I have a file called "versions.properties", which looks like this-

#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}

I am trying to read this file and then by using the values of version.major, version.minor, version.maintenance, version.build

I want to feed these values into following-

def SVN_TAG=ccsmp_v_${version.major}.${version.minor}.${version.maintenance}.${version.build}

So when I do println ${SVN_TAG}

It outputs -

SVN_TAG=ccsmp_v_1.37.0.846

Is there any way to do this? Any suggestions are highly appreciated

about 4 years ago · Santiago Gelvez
1 Respuestas
Responde la pregunta

0

def p = readProperties file: 'versions.properties'

def SVN_TAG="ccsmp_v_${p.version.major}.${p.version.minor}.${p.version.maintenance}.${p.version.build}"

https://www.jenkins.io/doc/pipeline/steps/pipeline-utility-steps/#readproperties-read-properties-from-files-in-the-workspace-or-text

If you don't have readProperties

//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'}..."

or another option with parsing each line

@NonCPS
def toProperties(String s){
  s.readLines().collect{it.split('=')}.findAll{it.size()==2}.collectEntries()
}

//the rest is the same as above
about 4 years ago · Santiago Gelvez Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda