Skip to content
Gerry Weißbach edited this page Aug 13, 2019 · 2 revisions

Service DSL

Services are daemonized programs usually running in the system scope.

It is recommended to have only one service per application installation package.

The following options are available to services:

service {

    displayName   = "My Application Service" 
    
    description   = "This is an Application service"
    
    // optional, main jar file of the service. Defaults to setupBuilder.mainJar
    mainJar       = "MyApplication.jar"
    
    // optional, main class of the service. Defaults to setupBuilder.mainClass
    mainClass     = "com.application.my.Service"

    // an alternative executable. Overrides the mainJar and mainClass
    // either relative to installation root or absolute
    executable    = "myexecutable"

    // The working directory of the service, relative to installation root
    workDir        = "."
    
    // optional, additional arguments to start the service with
    startArguments = "--open"
}

Please note, that several options default to the one defined by the setupBuilder base.

The following options extend the service functionality.

service {

	// optional, name of the resulting service. Defaults to setupBuilder.appIdentifier
	// must not contain spaces.
	id = "My-Service"
	
	// optional, name of the wrapper run as daemon. Defaults to {setupBuilder.appIdentifier}-service
	wrapper = "My-Service-service"

	// true (default), if the service should start while booting
	startOnBoot = true;

	// true, if the service should be kapt alive even though it crashed.
	keepAlive = false;
}

Hints

Property: wrapper

Currently only used in the Windows Builder task. The service.wrapper is being used for the service executable name.

Property: executable

Currently only used in the macOS Builder task while creating a service.