Allows IzPack 4/5
to be used from within SBT. Builds on sbt-native-packager
in order to produce an installer
package from staged distribution files.
To use this plugin use the addSbtPlugin command within your project's plugins.sbt (or as a global setting) i.e.:
IzPack 4:
addSbtPlugin("de.mediacluster.sbt" % "sbt-izpack" % "1.1.0")
IzPack 5:
addSbtPlugin("de.mediacluster.sbt" % "sbt-izpack" % "2.2.0")
Your project's build file also needs to enable this plugin. For example with build.sbt:
lazy val root = project.in(file(".")).enablePlugins(SbtIzpack)
The following options are available:
Option | Description |
---|---|
artifactName* | Function that produces the artifact name from its definition. |
compressionFormat | Defines the format for compressing packs. |
compressionLevel | The compression level, if supported by the compression format. |
configFile | Configures the path to the configuration xml file (default is sourceDirectory /install.xml). |
kind | The packaging kind (default is "standard") |
sourceDirectory* | Directory for installer sources, passed as base path to the installer. |
target* | Target directory where the installer file is generated. |
* Denotes option keys which need to be bound to the izpack
task.
The following variables are available inside the XML configuration file:
Key | Description |
---|---|
appName | Project name. |
appVersion | Project version with qualifier. |
artifactPath | Full path to the installer file. |
baseDirectory | Base directory of the project. |
normalizedAppName | Normalized name of the project. |
scalaVersion | Scala version of the build. |
stagingDirectory | Path to the directory where the distribution files are staged. |
This plugin reuses sbt task-key artifact-name
and binds it to its own task-key izpack
. By default, the generated
artifact name is @{name}_@{scalaVersion}-@{version}-installer.jar
.
For example, to produce a name without scala version:
artifactName in izpack := {
(sv: ScalaVersion, module: ModuleID, artifact: Artifact) =>
artifact.name + "-" + module.revision + "." + artifact.extension
}
Copyright © 2014-2017, MediaCluster GmbH