Private-mode libraries and Jenkins Continuous Integration

If I use a private-mode library (say USERA01) for a target library (say NAT1LIB) in the development environment then when I Upload my source/object goes to USERA01.MYPGM1 and I can test in ONE and only I see my changes. Everyone else using NAT1LIB continues to see the previous version. Now I commit to my local git and push to the remote git. The remote git push triggers a Jenkins CI to run the Natural any deployment script and my changes end-up on NAT1LIB (copied from the remote repo and STOW’d). If I’ve understood the process correctly.

My questions are:

  1. will the ant deployment script remove the source/object from USERA01 private-mode library? Or is the code to be left there forever? How does the Jenkins CI know to remove it from my private-library?

  2. I think I want to use scope=1 for changes only, in a first-time use of the ant deployment/repo is everything considered changed? Define changed? Is it a remote git repo comparison for the NAT1LIB against itself or does it compare against the target FUSER to decide what has changed?

Thank you!

@1: The private libraries are not cleaned up automatically. You can use the “Consolidate” function to clean the private libraries after an integration build.
@2: With the first build, all files are built. With subsequent builds only the files that changed after the previous build are built. A change ist detected by comparing the source code hash against the source code hash at the time of the previous build. The hashes of the previous build are kept in the cache_properties file in the build directory.

1 Like