You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@any23.apache.org by "Hudson (Commented) (JIRA)" <ji...@apache.org> on 2012/04/04 10:44:31 UTC

[jira] [Commented] (ANY23-71) improve the current CLI engine

    [ https://issues.apache.org/jira/browse/ANY23-71?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13246120#comment-13246120 ] 

Hudson commented on ANY23-71:
-----------------------------

Integrated in Any23-trunk #160 (See [https://builds.apache.org/job/Any23-trunk/160/])
    Improved CLI support, introduced usage of JCommander. The commandline parsing logic has been moved into ToolRunner as well as the production of help and version messages. This commit includes a set of minor fixes on the patch provided by stripodi (Simone Tripodi) and it is related to issue #ANY23-71. (Revision 1308786)

     Result = UNSTABLE
mostarda : 
Files : 
* /incubator/any23/trunk/core/pom.xml
* /incubator/any23/trunk/core/src/main/java/org/apache/any23/cli/ExtractorDocumentation.java
* /incubator/any23/trunk/core/src/main/java/org/apache/any23/cli/MicrodataParser.java
* /incubator/any23/trunk/core/src/main/java/org/apache/any23/cli/MimeDetector.java
* /incubator/any23/trunk/core/src/main/java/org/apache/any23/cli/PluginVerifier.java
* /incubator/any23/trunk/core/src/main/java/org/apache/any23/cli/Rover.java
* /incubator/any23/trunk/core/src/main/java/org/apache/any23/cli/Tool.java
* /incubator/any23/trunk/core/src/main/java/org/apache/any23/cli/ToolRunner.java
* /incubator/any23/trunk/core/src/main/java/org/apache/any23/cli/Version.java
* /incubator/any23/trunk/core/src/main/java/org/apache/any23/cli/VocabPrinter.java
* /incubator/any23/trunk/core/src/main/java/org/apache/any23/writer/WriterRegistry.java
* /incubator/any23/trunk/core/src/main/resources/default-configuration.properties
* /incubator/any23/trunk/core/src/test/java/org/apache/any23/cli/ExtractorDocumentationTest.java
* /incubator/any23/trunk/core/src/test/java/org/apache/any23/cli/RoverTest.java
* /incubator/any23/trunk/core/src/test/java/org/apache/any23/cli/ToolRunnerTest.java
* /incubator/any23/trunk/core/src/test/java/org/apache/any23/cli/ToolTestBase.java
* /incubator/any23/trunk/core/src/test/java/org/apache/any23/cli/VersionTest.java
* /incubator/any23/trunk/plugins/basic-crawler/pom.xml
* /incubator/any23/trunk/plugins/basic-crawler/src/main/java/org/apache/any23/cli/Crawler.java
* /incubator/any23/trunk/plugins/basic-crawler/src/test/java/org/apache/any23/cli/CrawlerTest.java
* /incubator/any23/trunk/pom.xml

                
> improve the current CLI engine
> ------------------------------
>
>                 Key: ANY23-71
>                 URL: https://issues.apache.org/jira/browse/ANY23-71
>             Project: Apache Any23
>          Issue Type: Improvement
>    Affects Versions: 0.7.0
>            Reporter: Simone Tripodi
>            Assignee: Michele Mostarda
>             Fix For: 0.7.0
>
>         Attachments: enhanced_cli.patch
>
>
> Actual CLI - even if nicely working - can be improved in therms of of both internal architecture and user interface.
> I see two main "issues" on current CLI:
>  * on UI, the CLI exposes internal details, since the {{ToolRunner}} requires the classname of the tool has to be executed;
>  * on internals, each Tool has to parse the the chunk of the command line, which can be automated.
> So my proposal is to automate, via the already working plugins discovery, the CLI arguments parsing AND implementing a svn/git commands-based alike interface.
> My preferred choice for that is [JCommande|http://www.jcommander.org/] because:
>  * it allows binding CLI arguments to Java properties via Annotations - no more manual parsing;
>  * it already supports a complex syntax to implement [commands|http://jcommander.org/#Complex];
>  * commands aliases can be expressed via annotations - no more needs to expose internals;
> Patch with proposal is coming

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira