protected void executeCommandLine(Commandline commandLine)
			throws CommandLineException, MojoExecutionException {
		getLog().info("Executing command: " + commandLine.toString());
		CommandLineUtils.StringStreamConsumer systemErr = new CommandLineUtils.StringStreamConsumer();
		CommandLineUtils.StringStreamConsumer systemOut = new CommandLineUtils.StringStreamConsumer();

		int exitCode = CommandLineUtils.executeCommandLine(commandLine, systemOut, systemErr);
		String output = systemOut.getOutput().trim();
		if (!StringUtils.isEmpty(output)) {
			getLog().info("");
			for (String line : output.split("\n")) {
				getLog().info(line);
			}
			getLog().info("");
		}
		output = systemErr.getOutput().trim();
		if (!StringUtils.isEmpty(output)) {
			getLog().error("");
			for (String line : output.split("\n")) {
				getLog().error(line);
			}
			getLog().error("");
		}
		if (exitCode != 0) {
			throw new MojoExecutionException("Result of " + commandLine + " execution is: '" + exitCode + "'.");
		}
	}