devonfw / solicitor

Solicitor is a tool enabling management of licenses of software dependencies
Apache License 2.0
22 stars 18 forks source link

Introduce reporting groups #288

Closed ohecker closed 3 weeks ago

ohecker commented 1 month ago

As a user of Solicitor I want to be able to create reports (also) for subsets of applications. This is useful e.g. for attribution documents which should contain only the components of a single application (e.g. if this is the attribution document to be included within a web app.)

To enable this functionality "reporting groups" shall be introduced. By default (and for compatibility reasons) each Application data shall be assigned to the reporting group "default". Reporting for group "default" shall work exactly like today's reporting - there should be no difference in the reports - neither with respect to content nor with respect to the naming of the output file.

For reports (writers) which support reporting groups the underlying SQL statements need to be extended to support selecting only the data of Applications which belong to a given reporting group. Such writers will be marked as enabled for reporting groups. The Application entity will be extended to hold the list of reporting groups that the corresponding application belongs to ("default" if nothing is defined).

When generating reports with writers that support reporting groups a separate report will be written for each defined reporting group. The name of the current reporting group might be used when determining the report name and is available within the report templating (string "default" will be suppressed and not printed).

AC: