org.codehaus.mojo.groovy.tools.ShellMojo Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of groovy-maven-plugin Show documentation
Show all versions of groovy-maven-plugin Show documentation
Provides support for execution, compilation and other facets of Groovy development.
The newest version!
/*
* Copyright (C) 2006-2007 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.codehaus.mojo.groovy.tools;
import org.codehaus.mojo.groovy.ComponentMojoSupport;
import org.codehaus.mojo.groovy.feature.Component;
import org.codehaus.mojo.groovy.feature.Configuration;
import org.codehaus.mojo.groovy.runtime.Shell;
/**
* Launches the Groovy Shell (aka. groovysh).
*
* @goal shell
* @requiresProject false
* @since 1.0-beta-2
*
* @version $Id: ShellMojo.java 5428 2007-10-22 22:54:27Z user57 $
* @author Jason Dillon
*/
public class ShellMojo
extends ComponentMojoSupport
{
public ShellMojo() {
super(Shell.KEY);
}
/**
* Enable the legacy shell.
*
* @parameter expression="${legacy}" default-value="false"
*
* @noinspection UnusedDeclaration
*/
private boolean legacy;
/**
* Enable verbose output (aka. groovysh --verbose).
*
* @parameter expression="${verbose}" default-value="false"
*
* @noinspection UnusedDeclaration
*/
private boolean verbose;
/**
* Enable debug output (aka. groovysh --debug).
*
* @parameter expression="${debug}" default-value="false"
*
* @noinspection UnusedDeclaration
*/
private boolean debug;
/**
* Suppress superfluous output (aka. groovysh --quiet).
*
* @parameter expression="${quiet}" default-value="false"
*
* @noinspection UnusedDeclaration
*/
private boolean quiet;
/**
* Enable or disable use of ANSI colors (aka. groovysh --color). Normally auto-detected.
*
* @parameter expression="${color}"
*
* @noinspection UnusedDeclaration
*/
private Boolean color;
/**
* Specify the terminal type to use (aka. groovysh --terminal). Normally auto-detected.
* Full class name or one of "unix", "win", "windows", "false", "off" or "none" expected.
*
* @parameter expression="${terminal}"
*
* @noinspection UnusedDeclaration
*/
private String terminal;
/**
* Optional arguments to pass to the shell when executing.
*
* @parameter expression="${args}"
*
* @noinspection UnusedDeclaration
*/
private String args;
protected void configure(final Configuration config) throws Exception {
assert config != null;
config.set(Shell.Keys.LEGACY, legacy);
if (!legacy) {
config.set(Shell.Keys.VERBOSE, verbose);
config.set(Shell.Keys.DEBUG, debug);
config.set(Shell.Keys.QUIET, quiet);
config.set(Shell.Keys.COLOR, color);
config.set(Shell.Keys.TERMINAL, terminal);
config.set(Shell.Keys.ARGS, args);
}
}
protected void process(final Component component) throws Exception {
assert component != null;
Shell shell = (Shell) component;
shell.execute();
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy