Yes, it does seem to be expected behavior. I just checked the output of my sample build for a CI/CD pipeline I’m actively working on, and inside the package’s ZIP file, there’s a manifest.rel file which contains that build element and whose value is a combination of the properties build.version and build.number.
When you say you want to stop this from happening, out of curiosity, why? And what would you like to happen instead? Would you like a different build number to be used? Or do you not want that build element updated at all?
In any case, here are a few options you can try, listed from easiest to hardest:
- Pass a different build.number in when executing the build
When calling the build.[sh|bat] script, you could set the build.number property to whatever you’d like ahead of time. Since the property is already set, the Ant target createBuildNumber (inside build-number.xml) won’t really do anything, e.g.:
build.sh -Dbuild.number=$CUSTOM_BUILD_NUMBER
I just played with passing in an empty string as the build.number and it actually resulted in the build element of the manifest.rel file being empty. This may have some problematic repercussions though. For example, if you set enable.archive to true, a blank build.number could cause issues given that it’s part of the archive directory path.
-
Overwrite the build.number properties file with a different file that sets build_number to an integer of your choice
-
Overwrite build-number.xml file with your own Ant script to generate the build number however you’d like. Per the documentation:
build-number.xml. The build script uses this file to automatically version the assets included in the build incrementally. You can customize the file to generate the build number as needed (example, to match the VCS revision number).
- Update the package ZIP file after the build
Let ABE complete the build, then unzip the resulting packages, edit manifest.rel to remove the build tag using sed or something similar, and then ZIP the packages back up.
Hope this helps,
Percio
#webMethods-cloud#webMethods#Integration-Server-and-ESB#webMethods-io-Integration#Service-Designer