[ 
https://issues.apache.org/jira/browse/RAT-401?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Claude Warren updated RAT-401:
------------------------------
    Fix Version/s: 0.18
           Labels:   (was: V0.18)

> Rework the IDocumentAnalyzer and RatReport into a single component
> ------------------------------------------------------------------
>
>                 Key: RAT-401
>                 URL: https://issues.apache.org/jira/browse/RAT-401
>             Project: Apache Rat
>          Issue Type: New Feature
>          Components: core engine, reports
>    Affects Versions: 0.17, 0.16.1
>            Reporter: Claude Warren
>            Priority: Major
>             Fix For: 0.18
>
>
> h1. What
> The idea here is to make a component framework for reporting on Document 
> instances.
> h2. What do  we have
> The current system has several components
>  * IDocumentAnalyser which has the analyze(Document) method and update 
> metadata in the Document.
>  ** DefaultPolicyAnalyser:  sets the list of approved licenses in the 
> document.  There is probably another way to do this.
>  **  
> DocumentAnalyserMultiplexer: simply runs multiple IDocumentAnalysers.
>  **  
> DocumentHeaderAnalyser: processes documents looking for licenses.
>  * RatReport which reports the document after the analysis.
>  ** ConfigurationReport: Dumps some configuration info into the XML report
>  ** ClaimAggregator: collects statistical information from the document 
> across the reports.
>  ** SimpleXmlClaimReporter: Writes the XML info for a single document based 
> on the metadata.
>  ** ClaimReporterMultiplexer: Runs an analyser and then a reporter on a 
> Document.
>  ** LicenseAddingReport: edits the documents (Not sure this should be a 
> report).
> h2. What is the change
> What I propose to do is to group the components together into 
> ReportingModules.  Currently we have what could be considered 3 
> ReportingModules.
> Module 1 – License reporting comprises:
>  * DefaultPolicyAnalyser
>  * DocumentHeaderAnalyser:
>  * SimpleXmlClaimReporter
>  * ClaimAggregator
>  
> Module 2 – Configuration reporting comprises:
>  * ConfigurationReport
> Module 3-- License adding report comprises:
>  * LicenseAddingReport
>  
> The modules would be a pluggable component that:
>  * Processes a document
>  * potentially, writes some data to the XML output
>  * After all documents have been processed potentially writes statistical 
> data to the output.
>  * provides an XSD fragment to describe the data it writes.
> h2. Why
> So that we can get to the point where it is easy to write modules that do 
> things like:
>  * Check for the existence of specific files (either as required and not 
> allowed).
>  * Check for the contents of specific files (e.g. check the contents of the 
> LICENSE file and report on it).
>  * Check file names against a webservice that tells us if there are issues 
> with the package. (e.g. the mavenrepository provides CVE issues lists for 
> jars)
>  
>  
> We have a system that walks the build system and understands the various 
> exclusion files and rules.  Let's use it to really do a release audit.
>  
>  
>  
>  



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to