There are a couple of weaknesses with this code in this area:
It is not checked if the property file exist; this can lead to unpleasant messages like a FileNotFoundException.
repository layouts have to follow a pretty strict format to provide the application-conf directory, requiring workspace/application/application-conf.
The applicationConfRootDir property is overwriting the root directory path to the application, allows users today to modify the root path to application-conf.
Proposal is to provide more flexibility and externalise how the location of the application-conf directory is specified and let the engineering team define how it should look like. Even a hidden .zAppBuild directory could be a valid path in the application repository.
zAppBuild is hard-coding how the application-conf directory is picked up:
https://github.com/IBM/dbb-zappbuild/blob/9beaa5847a20dae2a8a1cbffc44fe6652e081222/build.groovy#L363-L373
There are a couple of weaknesses with this code in this area:
workspace/application/application-conf
.The
applicationConfRootDir
property is overwriting the root directory path to the application, allows users today to modify the root path to application-conf.Proposal is to provide more flexibility and externalise how the location of the application-conf directory is specified and let the engineering team define how it should look like. Even a hidden
.zAppBuild
directory could be a valid path in the application repository.