Introduction
The document describes the overall architecture for the soup report automation solution. The solution is intended to save the effort used in generating the soup reports by automating some parts of the process. Some of the reports developed using the data stored by the utilities can also be leveraged by developers/architects to better analyze the dependencies being used and thus improve the product quality.
Components
There are mainly three components to the solution
- Product-Repo mapping
- SoupInformation
- Releasedependency data analyzer
The high view architecture diagram is as follows
Product- Repo mapping
This component identifies the product to repo mappings. In-order to identify the dependencies used in a product, the dependencies used by the individual repo has to be identified. So there is a need to store the product - repo relationships. The details of this solution and how to add a product - repo mapping can be found here and how to update an existing mapping can be found here
SoupInformation
To generate the report on soup dependencies the information about the soup items needs to be found and stored into database. This information should also be updatable to suit the needs of the organization. The details on how to add soup information can be found here and how to update the existing soup information can be found here
Releasedependency data analyzer
The most important aspect of the solution is to identify and store the soup items being used in repo. This will help in generating reports on soup items being used by a repo and thereby soup items used by a product. The details on how to enable the utility in you repo so that the dependencies used by the repo is captured and stored in databases can be found here
How to guides
How to add new product to repo mapping
How to edit existing product to repo mapping
How to add new soup item to soup inventory
How to edit information of existing soup item in soup inventory
How to pull soup item from artifact feed rather than public source
How to enable soup dependency reporting capability in your repo