Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id EC158200D48 for ; Wed, 29 Nov 2017 17:33:07 +0100 (CET) Received: by cust-asf.ponee.io (Postfix) id EAEE8160C04; Wed, 29 Nov 2017 16:33:07 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id 3DAFD160C02 for ; Wed, 29 Nov 2017 17:33:07 +0100 (CET) Received: (qmail 8726 invoked by uid 500); 29 Nov 2017 16:33:04 -0000 Mailing-List: contact notifications-help@groovy.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@groovy.apache.org Delivered-To: mailing list notifications@groovy.apache.org Received: (qmail 8652 invoked by uid 99); 29 Nov 2017 16:33:04 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd1-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 29 Nov 2017 16:33:04 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd1-us-west.apache.org (ASF Mail Server at spamd1-us-west.apache.org) with ESMTP id D9838C0E84 for ; Wed, 29 Nov 2017 16:33:02 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd1-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: -98.261 X-Spam-Level: X-Spam-Status: No, score=-98.261 tagged_above=-999 required=6.31 tests=[KAM_ASCII_DIVIDERS=0.8, KAM_INFOUSMEBIZ=0.75, KB_WAM_FROM_NAME_SINGLEWORD=0.2, SPF_PASS=-0.001, T_RP_MATCHES_RCVD=-0.01, USER_IN_WHITELIST=-100] autolearn=disabled Received: from mx1-lw-eu.apache.org ([10.40.0.8]) by localhost (spamd1-us-west.apache.org [10.40.0.7]) (amavisd-new, port 10024) with ESMTP id eK2_Dk68dH81 for ; Wed, 29 Nov 2017 16:33:02 +0000 (UTC) Received: from mailrelay1-us-west.apache.org (mailrelay1-us-west.apache.org [209.188.14.139]) by mx1-lw-eu.apache.org (ASF Mail Server at mx1-lw-eu.apache.org) with ESMTP id 864095F260 for ; Wed, 29 Nov 2017 16:33:01 +0000 (UTC) Received: from jira-lw-us.apache.org (unknown [207.244.88.139]) by mailrelay1-us-west.apache.org (ASF Mail Server at mailrelay1-us-west.apache.org) with ESMTP id C724BE012B for ; Wed, 29 Nov 2017 16:33:00 +0000 (UTC) Received: from jira-lw-us.apache.org (localhost [127.0.0.1]) by jira-lw-us.apache.org (ASF Mail Server at jira-lw-us.apache.org) with ESMTP id 7FEFC21054 for ; Wed, 29 Nov 2017 16:33:00 +0000 (UTC) Date: Wed, 29 Nov 2017 16:33:00 +0000 (UTC) From: "Remko Popma (JIRA)" To: notifications@groovy.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Commented] (GROOVY-6675) Implement JCommander base script to support purely declarative script options MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 archived-at: Wed, 29 Nov 2017 16:33:08 -0000 [ https://issues.apache.org/jira/browse/GROOVY-6675?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16271047#comment-16271047 ] Remko Popma commented on GROOVY-6675: ------------------------------------- [~paulk] Thanks! Paul, I know GROOVY-6090 is closed, but do you think there would any interest to integrate picocli with CliBuilder so that all Groovy command line apps could have ANSI [color usage help|http://picocli.info/#_ansi_colors_and_styles] out of the box (and, with some steps, [TAB autocomplete|http://picocli.info/autocomplete.html])? > Implement JCommander base script to support purely declarative script options > ----------------------------------------------------------------------------- > > Key: GROOVY-6675 > URL: https://issues.apache.org/jira/browse/GROOVY-6675 > Project: Groovy > Issue Type: Improvement > Components: command line processing > Reporter: James P. White > > Implement the script base class org.codehaus.groovy.cli.JCommanderScript so that scripts can have purely declarative (annotation defined) processing of command line options. > Script base classes now support the wrapping of script bodies with arbitrary code (GROOVY-6585). That allows cool features like this. For many purposes the base script does not need to be in Groovy itself since there are Grapes. But this one does because if specify the base script class at the command line with the --basescript option (GROOVY-6615) then it must be something already on the CLASSPATH. > The bad news is that Apache CLI is still in the dark ages and does not have an annotation scheme yet. Groovy may eventually do something about that (GROOVY-6090), but that isn't happening right now. The good news is that Groovy does have JCommander by virtue of including TestNG. Therefore the solution is to put this class in the groovy-testng subproject for those who want it. Those who don't can safely ignore its existence. -- This message was sent by Atlassian JIRA (v6.4.14#64029)