Claude Warren created RAT-540:
---------------------------------
Summary: Create UI package in Core and support additional options.
Key: RAT-540
URL: https://issues.apache.org/jira/browse/RAT-540
Project: Apache RAT
Issue Type: Sub-task
Components: core engine
Affects Versions: 0.18
Reporter: Claude Warren
Fix For: 1.0.0
This is to be the initial cut to the UI package that UI implementations must
implement to communicate with RAT core.
The initial implementation must:
* Define a UIOption that wraps and Apache Commons Client Option to provide a
UI specific instance. For example wrapping the "--input-exclude" option as
"<inputExclude>" in maven. This provides external UI specific names.
* Define a UIOptionCollection that defines all the options supported by the UI
and calls the Arg class defined operations. The collection will track all the
core defined options as provided by the Arg class, the options that are not
supported, and potentially any additional options.
* Define an ArgumentTracker class that UI implementations will use to
configure the command line to pass to core. Much of this code is currently
distributed in code that is used in generating UI classes. This change will
make that a concrete implementation with adequate testing and documentation.
* Move the UpdatableOptionGroup out of Arg class so that the Arg definitions
are immutable.
* Create an UpdatableOptionGroupCollection preserve option groupings while
allowing new groups to be added and removed.
* Creation of an OptionCollectionParser to parse command lines based on a
UIOptionCollection and create the ArgumentContext used for option evaluation.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)