So I don't forget by the time we get back from new-years- The bug is in ShellWizard.java:

https://issues.jboss.org/browse/FORGE-1407

   private CommandLineParser populate(ShellContext shellContext, String line,

            final Map<String, InputComponent<?, ?>> inputs)

            throws Exception

   {

      inputs.putAll(getController().getInputs());

      CommandLineParser parser = commandLineUtil.generateParser(getController(), shellContext, inputs);

      CommandLine cmdLine = parser.parse(line, true);

      Map<String, InputComponent<?, ?>> populatedInputs = commandLineUtil.populateUIInputs(cmdLine, inputs);

      if (getController().isValid())

      {

         if (getController().canMoveToNextStep())

         {

            // The bug is here. we are immediately moving to the next step and removing all inputs that are not populated.

            // this really needs to know if we have defaulted to next step or actually moved there willingly

            // it should not remove old choices until a new choice has been made

            getController().next().initialize();

            inputs.keySet().retainAll(populatedInputs.keySet());

            parser = populate(shellContext, line, inputs);

         }

      }

      return parser;

   }


--
Lincoln Baxter, III
http://ocpsoft.org
"Simpler is better."