Here is our global shared Lib configuration :
Here, code from our shared library, from different versions :
CppPipeline.groovy - trunk, HEAD revision (SVN)
CppPipeline.groovy - trunk, older revision (SVN)
From my branch's Jenkinsfile, if I swtich from recent Shared Lib to an older one, properties are not cleared properly.
Switch from recent Shared Lib
this revision contains 'pipelineTriggers' and 'buildDiscarder' properties
to older Shared Lib
this revision do not contains any properties
But job's branch config.xml still contains old properties and is not cleared, even after manual build and Pipeline Scan.
Job Properties should be cleared if not specified and not using cache from old builds.
To prevent this issue, a tag of Shared Lib have been created as a reference of the old version, with this following hotfix :
CppPipeline.groovy - old revision tag + hotfix (SVN)
this revision gratantee to not contains any properties with properties() set to empty array