MaintainerScriptHelper

com.typesafe.sbt.packager.archetypes.MaintainerScriptHelper
See theMaintainerScriptHelper companion object

==Maintainer Script Helper==

Provides utility methods to configure package maintainerScripts.

Attributes

Companion
object
Graph
Supertypes
class Object
trait Matchable
class Any
Known subtypes

Members list

Value members

Concrete methods

def maintainerScriptsAppend(current: Map[String, Seq[String]], replacements: Seq[(String, String)])(scripts: (String, String)*): Map[String, Seq[String]]

Use this method to append additional script content to specific maintainer scripts.

Use this method to append additional script content to specific maintainer scripts.

Value parameters

current

maintainer scripts

replacements

(e.g. (Debian / linuxScriptReplacements).value)

scripts

scriptName -> scriptContent pairs

Attributes

Returns

maintainerScripts with appended scripts

See also
Example

Adding content from a string

import RpmConstants._
Rpm / maintainerScripts := maintainerScriptsAppend((Rpm / maintainerScripts).value)(
  Pretrans -> "echo 'hello, world'",
  Post -> "echo 'installing " + (Rpm / packageName).value + "'"
)

Adding content from a string and use script replacements

import DebianConstants._
Rpm / maintainerScripts := maintainerScriptsAppend(
 (Debian / maintainerScripts).value,
 (Debian / linuxScriptReplacements).value
)(
  Preinst -> "echo 'hello, world'",
  Postinst -> s"echo 'installing ${(Debian packageName).value}'"
)
def maintainerScriptsAppendFromFile(current: Map[String, Seq[String]])(scripts: (String, File)*): Map[String, Seq[String]]

Use this method to append additional script content to specific maintainer scripts. Note that you won't have any scriptReplacements available.

Use this method to append additional script content to specific maintainer scripts. Note that you won't have any scriptReplacements available.

Value parameters

current

maintainer scripts

scripts

scriptName -> scriptFile pairs

Attributes

Returns

maintainerScripts with appended scripts

See also

maintainerScriptsAppend for pure strings where you can insert arbitrary settings and tasks values

Example

Adding content from a string

import RpmConstants._
Rpm / maintainerScripts := maintainerScriptsAppendFromFile((Rpm / maintainerScripts).value)(
  Pretrans -> (sourceDirectory.value / "rpm" / "pretrans"),
  Post -> (sourceDirectory.value / "rpm" / "posttrans")
)
def maintainerScriptsFromDirectory(dir: File, scripts: Seq[String]): Map[String, Seq[String]]

Use this method to override preexisting configurations with custom file definitions.

Use this method to override preexisting configurations with custom file definitions.

Value parameters

dir

from where to load files

scripts

a list of script names that should be used

Attributes

Returns

filename to content mapping

Example
import DebianConstants._
Debian / maintainerScripts := maintainerScriptsFromDirectory(
 sourceDirectory.value / DebianSource / DebianMaintainerScripts, Seq(Preinst, Postinst, Prerm, Postrm)
)