Claude Warren created RAT-378:
---------------------------------

             Summary: Refactor/standardize Client arguments
                 Key: RAT-378
                 URL: https://issues.apache.org/jira/browse/RAT-378
             Project: Apache Rat
          Issue Type: Improvement
          Components: Client - cli, configuration
    Affects Versions: 0.16.1
            Reporter: Claude Warren


create a licenses section in the configuration.
 
--licenses : a list of files to be read as license files.
--licenses-approved : a list of license IDs to approve.
--licenses-approved-file : A file containing license IDs to approve.
--licenses-no-default : An enumeration of DEF (do not load license 
definitions), APPROVAL (do not load default license approvals)
 
We should also change
 * --list-families to --licenses-list-families
 * --list-licenses to --licenses-list
The above will group all the license commands into one section of the help 
output.
 
 
The Default will be the list of ASF approved licenses.
 
Other CLI changes
 
create an "input" section that defines what files will be processed
 * change --exclude to --input-exclude (exclusion to be defined by .github 
exclude pattern)
 * change --exclude-file to --input-exclude-file 
 * add --input-exclude-no-default :  to disable default exclusion.
 * add --input-exclude-scm : an enumeration of known SCM exclusion files 
formats based on the SCM (e.g. github, svn) that would apply exclusions found 
by those files in the input.
 * add --input-file : specify a file to read rather than the input file.
 * remove --scan-hidden-directories as that would be the default if 
--input-exclude-no-default were specified and no other filters were added.

Add exclusion files to the same repository that has the license definitions and 
enable community support
 
create an "edit" section to describe how any edits on the files will take place
 * change --copyright to --edit-copyright to add a copyright message
 * change --addLicense to --edit-license <file> : the optional <file> specifies 
the text to insert with ${copyright} in the text replaced with the 
--edit-copyright value or empty if --edit-copyright is not specified.
 * change --force to --edit-overwrite : to better describe what it does.

create an "output" section to describe how the output will be handled.
 * change --out to --output-file
 * change --xml to --output-xml
 * change --stylesheet to --output-stylesheet 
 * change --standard to --output-standard
 * change --archive to --output-archive
 
expand the help section to provide more detailed help and to provide links to 
specific documentation.
 * add --help-input 
 * add --help-licenses 
 * add --help-output 
 * add --help-edit
 * add -? for help
Deprecate ALL single letter options. Deprecate all other long options.
Add a warning that a deprecated command is being used.
 
Add the ability to use the minimum characters necessary to differentiate the 
commands (e.g. --help-i for --help-input, or --input-f for --input-file).  This 
is/was supported by the commons-cli library and should be a simple switch to 
activate.{color:#888888}
{color}



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

Reply via email to