IBM / dbb-zappbuild

zAppBuild is a generic build solution for building z/OS applications using Apache Groovy build scripts and IBM Dependency Based Build (DBB) APIs.
Apache License 2.0
40 stars 140 forks source link

Add zAppbuild versioning API #302

Closed FALLAI-Denis closed 8 months ago

FALLAI-Denis commented 1 year ago

Hi,

Even though zAppbuild is a template application for managing builds that requires customization to address the specifics of each site, the core of zAppbuild remains widely used.

zAppbuild would need to expose an API for:

This would allow the development of complementary scripts capable of adapting at runtime to the current version of zAppbuild.

For information, we manage several instances of IBM DBB, (production instance and test instance), and for each we can manage several instances of zAppbuild, (each zAppbuild instance corresponds to a branch in a Git Repository, each branch is instantiated in a dedicated path on USS).

dennis-behm commented 1 year ago

@FALLAI-Denis , today, we don't ship a zAppBuild package which includes a concrete versioning of the build framework. This can be derived from the git history / git tag which was created on main. You might need to establish your own tagging strategy for the framework.

The framework it carrying a property to determine the required DBB toolkit level. There is even an assertion that the current toolkit version meets this criteria. See: https://github.com/IBM/dbb-zappbuild/blob/83fbf1989b10f52319c1fb13757a06664209b13b/build-conf/build.properties#L45-L48

Obviously, there are some limitations to that - for instance, when build.groovy already imports packages, which don't exist in the current version, you will see an exception before the assertion of the toolkit is performed.

dennis-behm commented 10 months ago

Finally got a version.properties file in: zAppBuild Release 3.5.0

dennis-behm commented 8 months ago

And has been further improved with zAppBuild Release 3.6.0 to allow customers to provide a custom version string