Closed JimSuplizio closed 1 year ago
Update: With recent updates for Batch release, the ci.yml files for client track libraries are now all homogenous, in terms of the Artifact and AdditionalModules lists. I've already got a tool written that, when given a library list, it'll pull the library metadata from the service directory yml files and use those entries to update a patch release yml file.
In order to be able to release a set of libraries belonging to multiple SDK/areas we need the ability to be able to generate a complete list of Artifacts, and potentially AdditionalModules, from the lists being used by the individual SDK/area CI.yml files. The reason we need to generate the uber list from the existing Artifacts entries to get the pieces of metadata associated with each library that may or may not be there for any given library but aren't required for every library.
For example, the only 3 pieces of required for each library are the name, groupId and safeName (which may go away). There are additional, optional, pieces of metadata which affect libraries during the verification and release processes:
For existing SDK/area pipelines, the CI.yml files contain the list of Artifacts that can be released from that pipeline. The problem is that these lists aren't defined in the same manner in each CI.yml. Core, for example, is pretty standard in the location of the definition of their artifacts but this differs from the location Spring has their list defined, which is due to their usages. We need to find a way to makes standard so we can dynamically grab the list of metadata and additional metadata for a pipeline that would be capable of releasing a set of libraries that spans multiple SDK/areas.