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)

Reply via email to