public class CreateStartScripts
extends org.gradle.api.internal.ConventionTask
Example:
task createStartScripts(type: CreateStartScripts) { outputDir = file('build/sample') mainClassName = 'org.gradle.test.Main' applicationName = 'myApp' classpath = files('path/to/some.jar') }
Note: the Gradle "application"
plugin adds a pre-configured task of this type named "createStartScripts"
.
The task generates separate scripts targeted at Microsoft Windows environments and UNIX-like environments (e.g. Linux, Mac OS X).
The actual generation is implemented by the getWindowsStartScriptGenerator()
and getUnixStartScriptGenerator()
properties, of type ScriptGenerator
.
Example:
task createStartScripts(type: CreateStartScripts) { unixStartScriptGenerator = new CustomUnixStartScriptGenerator() windowsStartScriptGenerator = new CustomWindowsStartScriptGenerator() } class CustomUnixStartScriptGenerator implements ScriptGenerator { void generateScript(JavaAppStartScriptGenerationDetails details, Writer destination) { // implementation } } class CustomWindowsStartScriptGenerator implements ScriptGenerator { void generateScript(JavaAppStartScriptGenerationDetails details, Writer destination) { // implementation } }
The default generators are of the type TemplateBasedScriptGenerator
, with default templates.
This templates can be changed via the TemplateBasedScriptGenerator.setTemplate(org.gradle.api.resources.TextResource)
method.
The default implementations used by this task use Groovy's SimpleTemplateEngine to parse the template, with the following variables available:
applicationName
optsEnvironmentVar
exitEnvironmentVar
mainClassName
defaultJvmOpts
appNameSystemProperty
appHomeRelativePath
classpath
Example:
task createStartScripts(type: CreateStartScripts) { unixStartScriptGenerator.template = resources.text.fromFile('customUnixStartScript.txt') windowsStartScriptGenerator.template = resources.text.fromFile('customWindowsStartScript.txt') }
Task.Namer
TASK_ACTION, TASK_DEPENDS_ON, TASK_DESCRIPTION, TASK_GROUP, TASK_NAME, TASK_OVERWRITE, TASK_TYPE
Constructor and Description |
---|
CreateStartScripts() |
Modifier and Type | Method and Description |
---|---|
void |
generate() |
String |
getApplicationName()
The application's name.
|
FileCollection |
getClasspath()
The class path for the application.
|
Iterable<String> |
getDefaultJvmOpts()
The application's default JVM options.
|
String |
getExitEnvironmentVar()
The environment variable to use to control exit value (Windows only).
|
String |
getMainClassName()
The main classname used to start the Java application.
|
String |
getOptsEnvironmentVar()
The environment variable to use to provide additional options to the JVM.
|
File |
getOutputDir()
The directory to write the scripts into.
|
File |
getUnixScript()
Returns the full path to the Unix script.
|
ScriptGenerator |
getUnixStartScriptGenerator()
The UNIX-like start script generator.
|
File |
getWindowsScript()
Returns the full path to the Windows script.
|
ScriptGenerator |
getWindowsStartScriptGenerator()
The Windows start script generator.
|
void |
setApplicationName(String applicationName) |
void |
setClasspath(FileCollection classpath) |
void |
setDefaultJvmOpts(Iterable<String> defaultJvmOpts) |
void |
setExitEnvironmentVar(String exitEnvironmentVar) |
void |
setMainClassName(String mainClassName) |
void |
setOptsEnvironmentVar(String optsEnvironmentVar) |
void |
setOutputDir(File outputDir) |
void |
setUnixStartScriptGenerator(ScriptGenerator unixStartScriptGenerator) |
void |
setWindowsStartScriptGenerator(ScriptGenerator windowsStartScriptGenerator) |
conventionMapping, conventionMapping, getConventionMapping
addValidator, appendParallelSafeAction, compareTo, configure, deleteAllActions, dependsOn, dependsOnTaskDidWork, doFirst, doFirst, doLast, doLast, execute, finalizedBy, getActions, getAnt, getAsDynamicObject, getConvention, getDependsOn, getDescription, getDidWork, getEnabled, getExecuter, getExtensions, getFinalizedBy, getGroup, getImpliesSubProjects, getInputs, getLogger, getLogging, getMustRunAfter, getName, getOnlyIf, getOutputs, getPath, getProject, getServices, getShouldRunAfter, getStandardOutputCapture, getState, getTaskActions, getTaskDependencies, getTemporaryDir, getTemporaryDirFactory, getValidators, hasProperty, injectIntoNewInstance, isEnabled, isHasCustomActions, leftShift, mustRunAfter, onlyIf, onlyIf, prependParallelSafeAction, property, setActions, setDependsOn, setDescription, setDidWork, setEnabled, setExecuter, setFinalizedBy, setGroup, setImpliesSubProjects, setMustRunAfter, setName, setOnlyIf, setOnlyIf, setProject, setProperty, setShouldRunAfter, shouldRunAfter, toString
@Input @Optional public String getOptsEnvironmentVar()
@Input @Optional public String getExitEnvironmentVar()
public File getUnixScript()
public File getWindowsScript()
@OutputDirectory public File getOutputDir()
public void setOutputDir(File outputDir)
@Input public String getMainClassName()
public void setMainClassName(String mainClassName)
@Input @Optional public Iterable<String> getDefaultJvmOpts()
public void setApplicationName(String applicationName)
public void setOptsEnvironmentVar(String optsEnvironmentVar)
public void setExitEnvironmentVar(String exitEnvironmentVar)
@InputFiles public FileCollection getClasspath()
public void setClasspath(FileCollection classpath)
@Incubating public ScriptGenerator getUnixStartScriptGenerator()
Defaults to an implementation of TemplateBasedScriptGenerator
.
public void setUnixStartScriptGenerator(ScriptGenerator unixStartScriptGenerator)
@Incubating public ScriptGenerator getWindowsStartScriptGenerator()
Defaults to an implementation of TemplateBasedScriptGenerator
.
public void setWindowsStartScriptGenerator(ScriptGenerator windowsStartScriptGenerator)
public void generate()