Greetings,

I have been working on moving the license definitions into a configuration
file.  The current working code is at [1].  It passes the core tests.

I have not removed any of the redundant code yet, and some of the
extensions (ant and maven) are not working yet.  However, I wanted to see
if this was of interest to the community before I continue with it.

The current implementation uses a commons-configurations file found in
src/main/resources/org/apache/rat/default.config.  It has some
documentation on the structure of the config file and implements most of
the current default configuration.

The format of the configuration file is open for discussion.  This code is
configured to allow multiple formats to be used simultaneously but only the
config file reader is implemented.

The one bit this implementation does not do is it does not have the concept
of two (or more) tests being required (ANDed) to trigger a match.  the
OASIS test requires this so the OASIS test yields false positives
currently.  I plan to tackle this next.

There are several places in the code where there are notes that 2 license
families should be applicable, but that is not supported  in this code base
nor in the original.

I added a couple of command line options:

--list-license-families : lists all the defined families
--list-licenses : lists all the defined licenses
--no-defaults : does not read the default.config file
--licenses : adds new license definition file(s) to the run.

So, please take a look and let me know if you think this is a reasonable
idea and/or if you think a different tack may be needed to support some
usage that you have in mind.

I am hoping to get to the point where we can determine if the associated
licenses meet Apache requirements or not as part of the run.

Claude

[1]
https://github.com/Claudenw/creadur-rat/tree/RAT-321_text_based_configuration
-- 
LinkedIn: http://www.linkedin.com/in/claudewarren

Reply via email to