Non-zero exit code on missing parameter with picocliPicocli: Is it possible to attach option to parameter when clustered short options are disallowed?

Safe to use 220V electric clothes dryer when building has been bridged down to 110V?

Is there a recurrence relation which has no closed formula?

Fuel sender works when outside of tank, but not when in tank

Why did the Soviet Union not "grant" Inner Mongolia to Mongolia after World War Two?

How can an attacker use robots.txt?

Suffocation while cooking under an umbrella?

Is there a way to hide HTML source code yet keeping it effective?

OSM Thunderforest API keys in QGIS3

Why does my browser attempt to download pages from http://clhs.lisp.se instead of viewing them normally?

What secular civic space would pioneers build for small frontier towns?

How can this Stack Exchange site have an animated favicon?

How 象【しょう】 ( ≈かたち、 すがた、ようす) and 象【ぞう】 (どうぶつ) got to be written with the same kanji?

What should I consider when deciding whether to delay an exam?

What exactly did this mechanic sabotage on the American Airlines 737, and how dangerous was it?

Why is a road bike faster than a city bike with the same effort? & how much faster it can be?

Does every piano need tuning every year?

Co-supervisor comes to the office to help her students, which distracts me

Why, even after his imprisonment, people keep calling Hannibal Lecter "Doctor"?

Is there any relation/leak between two sections of LM358 op-amp?

A food item only made possible by time-freezing storage?

Designing a time thief proof safe

What are ATC-side procedures to handle a jammed frequency?

Is the mass of paint relevant in rocket design?

Does the Way of Shadow monk's Shadow Step feature count as a magical ability?



Non-zero exit code on missing parameter with picocli


Picocli: Is it possible to attach option to parameter when clustered short options are disallowed?






.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty margin-bottom:0;








0















I have a simple Command with one mandatory parameter:



@Parameters(index = "0", description = "manifest")
private File manifest;


When I call it from the command line without a parameter I get the expected message:



Missing required parameter: <manifest>
Usage ....


BUT: the return code for the call to java is 0, implying everything went fine.
Is there a way to have picocli return a non-zero code if a parameter (or option) is missing/incorrect?










share|improve this question
































    0















    I have a simple Command with one mandatory parameter:



    @Parameters(index = "0", description = "manifest")
    private File manifest;


    When I call it from the command line without a parameter I get the expected message:



    Missing required parameter: <manifest>
    Usage ....


    BUT: the return code for the call to java is 0, implying everything went fine.
    Is there a way to have picocli return a non-zero code if a parameter (or option) is missing/incorrect?










    share|improve this question




























      0












      0








      0








      I have a simple Command with one mandatory parameter:



      @Parameters(index = "0", description = "manifest")
      private File manifest;


      When I call it from the command line without a parameter I get the expected message:



      Missing required parameter: <manifest>
      Usage ....


      BUT: the return code for the call to java is 0, implying everything went fine.
      Is there a way to have picocli return a non-zero code if a parameter (or option) is missing/incorrect?










      share|improve this question
















      I have a simple Command with one mandatory parameter:



      @Parameters(index = "0", description = "manifest")
      private File manifest;


      When I call it from the command line without a parameter I get the expected message:



      Missing required parameter: <manifest>
      Usage ....


      BUT: the return code for the call to java is 0, implying everything went fine.
      Is there a way to have picocli return a non-zero code if a parameter (or option) is missing/incorrect?







      picocli






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited Mar 30 at 6:19









      Remko Popma

      23.3k7 gold badges57 silver badges78 bronze badges




      23.3k7 gold badges57 silver badges78 bronze badges










      asked Mar 28 at 17:34









      ChirloChirlo

      4,7961 gold badge20 silver badges40 bronze badges




      4,7961 gold badge20 silver badges40 bronze badges

























          1 Answer
          1






          active

          oldest

          votes


















          1
















          Yes this is possible. The following program will exit with exit code 456 if the user provided invalid input:



          @Command
          class ExitCodeDemo implements Runnable
          @Parameters(index = "0", description = "manifest")
          private File manifest;

          public void run()
          // business logic here


          public static void main(String... args)
          CommandLine cmd = new CommandLine(new ExitCodeDemo());
          cmd.parseWithHandlers(
          new RunLast(),
          CommandLine.defaultExceptionHandler().andExit(456),
          args);




          There are plans for adding better exit code support to picocli in version 4.0.






          share|improve this answer



























            Your Answer






            StackExchange.ifUsing("editor", function ()
            StackExchange.using("externalEditor", function ()
            StackExchange.using("snippets", function ()
            StackExchange.snippets.init();
            );
            );
            , "code-snippets");

            StackExchange.ready(function()
            var channelOptions =
            tags: "".split(" "),
            id: "1"
            ;
            initTagRenderer("".split(" "), "".split(" "), channelOptions);

            StackExchange.using("externalEditor", function()
            // Have to fire editor after snippets, if snippets enabled
            if (StackExchange.settings.snippets.snippetsEnabled)
            StackExchange.using("snippets", function()
            createEditor();
            );

            else
            createEditor();

            );

            function createEditor()
            StackExchange.prepareEditor(
            heartbeatType: 'answer',
            autoActivateHeartbeat: false,
            convertImagesToLinks: true,
            noModals: true,
            showLowRepImageUploadWarning: true,
            reputationToPostImages: 10,
            bindNavPrevention: true,
            postfix: "",
            imageUploader:
            brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
            contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/4.0/"u003ecc by-sa 4.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
            allowUrls: true
            ,
            onDemand: true,
            discardSelector: ".discard-answer"
            ,immediatelyShowMarkdownHelp:true
            );



            );














            draft saved

            draft discarded
















            StackExchange.ready(
            function ()
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55403739%2fnon-zero-exit-code-on-missing-parameter-with-picocli%23new-answer', 'question_page');

            );

            Post as a guest















            Required, but never shown

























            1 Answer
            1






            active

            oldest

            votes








            1 Answer
            1






            active

            oldest

            votes









            active

            oldest

            votes






            active

            oldest

            votes









            1
















            Yes this is possible. The following program will exit with exit code 456 if the user provided invalid input:



            @Command
            class ExitCodeDemo implements Runnable
            @Parameters(index = "0", description = "manifest")
            private File manifest;

            public void run()
            // business logic here


            public static void main(String... args)
            CommandLine cmd = new CommandLine(new ExitCodeDemo());
            cmd.parseWithHandlers(
            new RunLast(),
            CommandLine.defaultExceptionHandler().andExit(456),
            args);




            There are plans for adding better exit code support to picocli in version 4.0.






            share|improve this answer





























              1
















              Yes this is possible. The following program will exit with exit code 456 if the user provided invalid input:



              @Command
              class ExitCodeDemo implements Runnable
              @Parameters(index = "0", description = "manifest")
              private File manifest;

              public void run()
              // business logic here


              public static void main(String... args)
              CommandLine cmd = new CommandLine(new ExitCodeDemo());
              cmd.parseWithHandlers(
              new RunLast(),
              CommandLine.defaultExceptionHandler().andExit(456),
              args);




              There are plans for adding better exit code support to picocli in version 4.0.






              share|improve this answer



























                1














                1










                1









                Yes this is possible. The following program will exit with exit code 456 if the user provided invalid input:



                @Command
                class ExitCodeDemo implements Runnable
                @Parameters(index = "0", description = "manifest")
                private File manifest;

                public void run()
                // business logic here


                public static void main(String... args)
                CommandLine cmd = new CommandLine(new ExitCodeDemo());
                cmd.parseWithHandlers(
                new RunLast(),
                CommandLine.defaultExceptionHandler().andExit(456),
                args);




                There are plans for adding better exit code support to picocli in version 4.0.






                share|improve this answer













                Yes this is possible. The following program will exit with exit code 456 if the user provided invalid input:



                @Command
                class ExitCodeDemo implements Runnable
                @Parameters(index = "0", description = "manifest")
                private File manifest;

                public void run()
                // business logic here


                public static void main(String... args)
                CommandLine cmd = new CommandLine(new ExitCodeDemo());
                cmd.parseWithHandlers(
                new RunLast(),
                CommandLine.defaultExceptionHandler().andExit(456),
                args);




                There are plans for adding better exit code support to picocli in version 4.0.







                share|improve this answer












                share|improve this answer



                share|improve this answer










                answered Mar 29 at 16:48









                Remko PopmaRemko Popma

                23.3k7 gold badges57 silver badges78 bronze badges




                23.3k7 gold badges57 silver badges78 bronze badges

































                    draft saved

                    draft discarded















































                    Thanks for contributing an answer to Stack Overflow!


                    • Please be sure to answer the question. Provide details and share your research!

                    But avoid


                    • Asking for help, clarification, or responding to other answers.

                    • Making statements based on opinion; back them up with references or personal experience.

                    To learn more, see our tips on writing great answers.




                    draft saved


                    draft discarded














                    StackExchange.ready(
                    function ()
                    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55403739%2fnon-zero-exit-code-on-missing-parameter-with-picocli%23new-answer', 'question_page');

                    );

                    Post as a guest















                    Required, but never shown





















































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown

































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown







                    Popular posts from this blog

                    Kamusi Yaliyomo Aina za kamusi | Muundo wa kamusi | Faida za kamusi | Dhima ya picha katika kamusi | Marejeo | Tazama pia | Viungo vya nje | UrambazajiKuhusu kamusiGo-SwahiliWiki-KamusiKamusi ya Kiswahili na Kiingerezakuihariri na kuongeza habari

                    Swift 4 - func physicsWorld not invoked on collision? The Next CEO of Stack OverflowHow to call Objective-C code from Swift#ifdef replacement in the Swift language@selector() in Swift?#pragma mark in Swift?Swift for loop: for index, element in array?dispatch_after - GCD in Swift?Swift Beta performance: sorting arraysSplit a String into an array in Swift?The use of Swift 3 @objc inference in Swift 4 mode is deprecated?How to optimize UITableViewCell, because my UITableView lags

                    Access current req object everywhere in Node.js ExpressWhy are global variables considered bad practice? (node.js)Using req & res across functionsHow do I get the path to the current script with Node.js?What is Node.js' Connect, Express and “middleware”?Node.js w/ express error handling in callbackHow to access the GET parameters after “?” in Express?Modify Node.js req object parametersAccess “app” variable inside of ExpressJS/ConnectJS middleware?Node.js Express app - request objectAngular Http Module considered middleware?Session variables in ExpressJSAdd properties to the req object in expressjs with Typescript