CreateStartScripts

@DisableCachingByDefault(because = "Not worth caching")
abstract class CreateStartScripts : ConventionTask(source)

Creates start scripts for launching JVM applications.

Example:

task createStartScripts(type: CreateStartScripts) {
  outputDir = file('build/sample')
  mainClass = '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 "startScripts".

The task generates separate scripts targeted at Microsoft Windows environments and UNIX-like environments (e.g. Linux, macOS). 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 org.gradle.jvm.application.scripts.TemplateBasedScriptGenerator, with default templates. This templates can be changed via the setTemplate method.

The default implementations used by this task use Groovy's SimpleTemplateEngine to parse the template, with the following variables available:

  • applicationName
  • optsEnvironmentVar
  • exitEnvironmentVar
  • mainModule
  • mainClass
  • executableDir
  • defaultJvmOpts
  • appNameSystemProperty
  • appHomeRelativePath
  • classpath

Example:

task createStartScripts(type: CreateStartScripts) {
  unixStartScriptGenerator.template = resources.text.fromFile('customUnixStartScript.txt')
  windowsStartScriptGenerator.template = resources.text.fromFile('customWindowsStartScript.txt')
}

Inheritors

Constructors

Link copied to clipboard
constructor()

Properties

Link copied to clipboard
@get:Nullable
@get:Input
open var applicationName: String
Link copied to clipboard
@get:Nullable
open var classpath: FileCollection
Link copied to clipboard
open val conventionMapping: ConventionMapping
Link copied to clipboard
@get:Nullable
@get:Input
open var defaultJvmOpts: Iterable<String>
Link copied to clipboard
Link copied to clipboard
open var enabled: Boolean
Link copied to clipboard
@get:Input
open var executableDir: String
Link copied to clipboard
@get:Nullable
@get:Input
open var exitEnvironmentVar: String
Link copied to clipboard

The extra properties extension in this object's extension container.

Link copied to clipboard
open var group: String
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
@get:Nullable
@get:Input
open var optsEnvironmentVar: String
Link copied to clipboard
@get:Nullable
open var outputDir: File
Link copied to clipboard
val state: TaskStateInternal
Link copied to clipboard
val TASK_ACTION: String = "action"
Link copied to clipboard
val TASK_CONSTRUCTOR_ARGS: String = "constructorArgs"
Link copied to clipboard
val TASK_DEPENDS_ON: String = "dependsOn"
Link copied to clipboard
val TASK_DESCRIPTION: String = "description"
Link copied to clipboard
val TASK_GROUP: String = "group"
Link copied to clipboard
val TASK_NAME: String = "name"
Link copied to clipboard
val TASK_OVERWRITE: String = "overwrite"
Link copied to clipboard
val TASK_TYPE: String = "type"
Link copied to clipboard
Link copied to clipboard

Functions

Link copied to clipboard
open fun acceptServiceReferences(serviceReferences: Set<ServiceReferenceSpec>)
Link copied to clipboard
open fun appendParallelSafeAction(action: Action<in Task>)
Link copied to clipboard
open fun compareTo(otherTask: Task): Int
Link copied to clipboard
open fun configure(closure: Closure): Task
abstract fun configure(cl: Closure): T
Link copied to clipboard
inline fun <T : Any> ExtensionAware.configure(noinline configuration: T.() -> Unit)

Executes the given configuration block against the extension of the specified type.

Link copied to clipboard
open fun conventionMapping(property: String, mapping: Callable<out Any>): Task
Link copied to clipboard
open fun dependsOn(paths: Array<Any>): Task
Link copied to clipboard
open fun doFirst(action: Action<in Task>): Task
Link copied to clipboard
open fun doLast(action: Action<in Task>): Task
Link copied to clipboard
open fun doNotTrackState(reasonNotToTrackState: String)
Link copied to clipboard
open fun finalizedBy(paths: Array<Any>): Task
Link copied to clipboard
open fun generate()
Link copied to clipboard
open fun getActions(): List<Action<in Task>>
Link copied to clipboard
open fun getAnt(): AntBuilder
Link copied to clipboard
open fun getAsDynamicObject(): DynamicObject
Link copied to clipboard
Link copied to clipboard
open fun getDependsOn(): Set<Any>
Link copied to clipboard
Link copied to clipboard
open fun getDidWork(): Boolean
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
open fun getIdentityPath(): Path
Link copied to clipboard
open fun getInputs(): TaskInputsInternal
abstract fun getInputs(): TaskInputs
Link copied to clipboard
open fun getLifecycleDependencies(): TaskDependencyInternal
Link copied to clipboard
Link copied to clipboard
open fun getLogger(): Logger
Link copied to clipboard
Link copied to clipboard
@Nullable
open fun getMainClassName(): String
The main class name used to start the Java application.
Link copied to clipboard
Link copied to clipboard
open fun getName(): String
Link copied to clipboard
open fun getOnlyIf(): Spec<in TaskInternal>
Link copied to clipboard
open fun getOutputs(): TaskOutputsInternal
abstract fun getOutputs(): TaskOutputs
Link copied to clipboard
open fun getPath(): String
Link copied to clipboard
open fun getProject(): Project
Link copied to clipboard
Link copied to clipboard
open fun getRequiredServices(): TaskRequiredServices
Link copied to clipboard
open fun getSharedResources(): List<ResourceLock>
abstract fun getSharedResources(): List<out ResourceLock>
Link copied to clipboard
Link copied to clipboard
open fun getStandardOutputCapture(): StandardOutputCapture
Link copied to clipboard
abstract fun getState(): TaskState
Link copied to clipboard
open fun getTaskActions(): List<InputChangesAwareTaskAction>
Link copied to clipboard
open fun getTaskDependencies(): TaskDependencyInternal
Link copied to clipboard
open fun getTaskIdentity(): TaskIdentity<out Any>
Link copied to clipboard
open fun getTemporaryDir(): File
Link copied to clipboard
open fun getTemporaryDirFactory(): Factory<File>
Link copied to clipboard
Returns the full path to the Unix script.
Link copied to clipboard
Returns the full path to the Windows script.
Link copied to clipboard
open fun hasProperty(propertyName: String): Boolean
Link copied to clipboard
Link copied to clipboard
open fun <T : Task?> injectIntoNewInstance(project: ProjectInternal, identity: TaskIdentity<T>, factory: Callable<T>): T
Link copied to clipboard
open fun isEnabled(): Boolean
Link copied to clipboard
Link copied to clipboard
open fun mustRunAfter(paths: Array<Any>): Task
Link copied to clipboard
Link copied to clipboard
open fun onlyIf(spec: Spec<in Task>)
Link copied to clipboard
open fun prependParallelSafeAction(action: Action<in Task>)
Link copied to clipboard
open fun property(propertyName: String): Any
Link copied to clipboard
open fun setActions(replacements: List<Action<in Task>>)
Link copied to clipboard
open fun setDependsOn(dependsOn: Iterable<out Any>)
Link copied to clipboard
open fun setDidWork(didWork: Boolean)
Link copied to clipboard
open fun setFinalizedBy(finalizedByTasks: Iterable<out Any>)
Link copied to clipboard
open fun setMainClassName(@Nullable mainClassName: String)
Link copied to clipboard
open fun setMustRunAfter(mustRunAfterTasks: Iterable<out Any>)
Link copied to clipboard
open fun setOnlyIf(spec: Spec<in Task>)
Link copied to clipboard
open fun setProperty(name: String, value: Any)
Link copied to clipboard
open fun setShouldRunAfter(shouldRunAfterTasks: Iterable<out Any>)
Link copied to clipboard
Link copied to clipboard
inline fun <T : Any> ExtensionAware.the(): T

Returns the extension of the specified type.

fun <T : Any> ExtensionAware.the(extensionType: KClass<T>): T

Returns the extension of the specified extensionType.

Link copied to clipboard
open fun usesService(service: Provider<out BuildService<out Any>>)