Example usage for org.apache.maven.cli CLIManager parse

List of usage examples for org.apache.maven.cli CLIManager parse

Introduction

In this page you can find the example usage for org.apache.maven.cli CLIManager parse.

Prototype

public CommandLine parse(String[] args) throws ParseException 

Source Link

Usage

From source file:org.kie.workbench.common.services.backend.compiler.external339.AFMavenCli.java

License:Apache License

protected void cli(AFCliRequest cliRequest) throws Exception {
    ///*from   w w  w  . j  ava2s  . c om*/
    // Parsing errors can happen during the processing of the arguments and we prefer not having to check if
    // the logger is null and construct this so we can use an SLF4J logger everywhere.
    //

    slf4jLogger = new Slf4jStdoutLogger();

    CLIManager cliManager = new CLIManager();

    List<String> args = new ArrayList<String>();

    try {
        Path configFile = Paths.get(cliRequest.getMultiModuleProjectDirectory(), ".mvn/maven.config");

        if (java.nio.file.Files.isRegularFile(configFile)) {
            for (String arg : Files.toString(configFile.toFile(), Charsets.UTF_8).split("\\s+")) {
                args.add(arg);
            }

            CommandLine config = cliManager.parse(args.toArray(new String[args.size()]));
            List<?> unrecongized = config.getArgList();
            if (!unrecongized.isEmpty()) {
                throw new ParseException("Unrecognized maven.config entries: " + unrecongized);
            }
        }
    } catch (ParseException e) {
        System.err.println("Unable to parse maven.config: " + e.getMessage());
        cliManager.displayHelp(output);
        throw e;
    }

    try {
        args.addAll(0, Arrays.asList(cliRequest.getArgs()));
        cliRequest.setCommandLine(cliManager.parse(args.toArray(new String[args.size()])));
    } catch (ParseException e) {
        System.err.println("Unable to parse command line options: " + e.getMessage());
        cliManager.displayHelp(output);
        ByteArrayOutputStream baos = new ByteArrayOutputStream();
        PrintStream ps = new PrintStream(baos);
        cliManager.displayHelp(ps);
        throw e;
    }

    if (cliRequest.getCommandLine().hasOption(CLIManager.HELP)) {
        cliManager.displayHelp(output);

        ByteArrayOutputStream baos = new ByteArrayOutputStream();
        PrintStream ps = new PrintStream(baos);
        cliManager.displayHelp(ps);
        throw new ExitException(0);
    }

    if (cliRequest.getCommandLine().hasOption(CLIManager.VERSION)) {
        System.out.println(AFCLIReportingUtils.showVersion());
        throw new ExitException(0);
    }
}

From source file:org.topdesk.maven.tracker.MavenCli.java

License:Apache License

private void cli(CliRequest cliRequest) throws Exception {
    CLIManager cliManager = new CLIManager();

    try {/*from   w w w  . j  a v  a 2  s . c  om*/
        cliRequest.commandLine = cliManager.parse(cliRequest.args);
    } catch (ParseException e) {
        cliRequest.stderr.println("Unable to parse command line options: " + e.getMessage());
        cliManager.displayHelp(cliRequest.stdout);
        throw e;
    }

    // TODO: these should be moved out of here. Wrong place.
    //
    if (cliRequest.commandLine.hasOption(CLIManager.HELP)) {
        cliManager.displayHelp(cliRequest.stdout);
        throw new ExitException(0);
    }

    if (cliRequest.commandLine.hasOption(CLIManager.VERSION)) {
        CLIReportingUtils.showVersion(cliRequest.stdout);
        throw new ExitException(0);
    }
}