private void executeJDeprScanCommandLine()

in src/main/java/org/apache/maven/plugins/jdeprscan/AbstractJDeprScanMojo.java [154:211]


    private void executeJDeprScanCommandLine(Commandline cmd, CommandLineUtils.StringStreamConsumer consumer)
            throws MojoExecutionException {
        if (getLog().isDebugEnabled()) {
            // no quoted arguments
            getLog().debug("Executing: "
                    + CommandLineUtils.toString(cmd.getCommandline()).replaceAll("'", ""));
        }

        CommandLineUtils.StringStreamConsumer err = new CommandLineUtils.StringStreamConsumer();
        CommandLineUtils.StringStreamConsumer out;
        if (consumer != null) {
            out = consumer;
        } else {
            out = new CommandLineUtils.StringStreamConsumer();
        }

        try {
            int exitCode = CommandLineUtils.executeCommandLine(cmd, out, err);

            String output = (StringUtils.isEmpty(out.getOutput())
                    ? null
                    : '\n' + out.getOutput().trim());

            if (StringUtils.isNotEmpty(output)) {
                getLog().info(output);
            }

            if (exitCode != 0) {
                StringBuilder msg = new StringBuilder("\nExit code: ");
                msg.append(exitCode);
                if (StringUtils.isNotEmpty(err.getOutput())) {
                    msg.append(" - ").append(err.getOutput());
                }
                msg.append('\n');
                msg.append("Command line was: ").append(cmd).append('\n').append('\n');

                throw new MojoExecutionException(msg.toString());
            }

        } catch (CommandLineException e) {
            throw new MojoExecutionException("Unable to execute jdeprscan command: " + e.getMessage(), e);
        }

        // ----------------------------------------------------------------------
        // Handle JDeprScan warnings
        // ----------------------------------------------------------------------

        if (StringUtils.isNotEmpty(err.getOutput()) && getLog().isWarnEnabled()) {
            getLog().warn("JDeprScan Warnings");

            StringTokenizer token = new StringTokenizer(err.getOutput(), "\n");
            while (token.hasMoreTokens()) {
                String current = token.nextToken().trim();

                getLog().warn(current);
            }
        }
    }