- Notifications
You must be signed in to change notification settings - Fork4
SBT plugin for building installers with Install4J
License
jpsacha/sbt-install4j
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
SBT plugin for building installers withInstall4J
sbt-install4j
is available for sbt-1.x.
Importsbt-install4j
plugin to useinstall4j
command.
addSbtPlugin("com.github.jpsacha"%"sbt-install4j"%"1.5.0")
Sample use, add following to yourbuild.sbt
:
exportJars:=true
This will export dependent JARs that will be copied to the installer
enablePlugins(SBTInstall4J)install4jProjectFile:="installer/example.install4j"
SBT tasks provided bysbt-install4j
plugin:
install4j
: Task -Builds Install4J project. Simple usage from SBT REPLsbt> install4j
It will build project defined in by setting
install4jProjectFile
It can take optional arguments that are passed by to the Install4J compiler.Refer to
install4jc
documentation inInstall4J Help for list of supported command line options. You can print option summary from SBT REPL usingsbt> install4j --help
Example of only building
windows
media typesbt> install4j -m windows
install4jCopyDependedJars
: Task -Copies project dependencies to directoryinstall4jDependedJarsDir
SBT settings provided bysbt-install4j
plugin:
install4jCopyDependedJarsExclusions
: Seq[String] -List of regex expressions that match files that will be excluded from copying.install4jCopyDependedJarsEnabled
: Boolean -iftrue
dependent jars will be copies, iffalse
they will be not.install4jcFile
: File - Location of the install4j's command line compilerinstall4jc[.exe]
. It can be found in thebin
directory of the install4j installation. Default can be set with environment variableINSTALL4JC_FILE
.install4jcFile:= file("C:/Program Files/install4j8/bin/install4jc.exe")
install4jProjectFile
: String - Relative path to the install4j project file that should be build.install4jDependedJarsDir
: String -Location where dependent jars will be copied.install4jExtraOptions
: Seq[String] - "Additional command line options passed to the compiler."install4jVerbose
: Boolean -Enables verbose mode.install4jRelease
: String -Override the application version.Version number components can be alphanumeric and should be separated by dots, dashes or underscores.install4jCompilerVariables
: Map[String, String] -Override a compiler variable with a different value.In the map, thekey
is variable's name, thevalue
is variable's value.install4jHomeDir
: File -Deprecated. Install4J installation directory. It assumes that Install4J compiler is in subdirectorybin
. Default can be set with environment variableINSTALL4J_HOME
. This option is deprecated, use environment variableINSTALL4JC_FILE
or settinginstall4jcFile
instead.
Thesbt-install4j
executes Install4J compiler. It needs to know its location. It will attempts to determine location base on the OS used. On Windows it is assumed to be:
C:\Program Files\Install4J10\bin\intall4jc.exe
On Mac OS X:
/Applications/install4j.app/Contents/Resources/app/bin/install4jc
On Linux:
/opt/install4j10/bin/install4jc
If the Install4J is installed in a different location you can specify location of the compiler using the environmentvariableINSTALL4JC_FILE
, propertyINSTALL4JC_FILE
, or SBT settinginstall4jcFile
. For multi-platform builds it ispreferred to use the environment variableINSTALL4JC_FILE
.
You can set the property variable when starting SBT using-D
option, for instance:
$ sbt -DINSTALL4JC_FILE="C:/Program Files/install4j11/bin/install4jc.exe"
ScalaFX Ensemble is an example of an application that is making use ofsbt-install4j
top create an installer withInstall4J
If you use Install4J API in your application and using version other than the default forsbt-install4j
you will need to set environment variableINSTALL4J_HOME
.
For instance,sbt-install4j
uses Install4J 7 as default, but you have Install4J 9 installed, then setINSTALL4J_HOME
the installation directory. On Windows that would typically beC:\Program Files\install4j10
To see debugging information set SBT logging level todebug
:
sbt> debug
Look in the log for lines prefixed with[debug] [sbt-install4j]
.
sbt-install4j is licensed underApache 2.0 license.
About
SBT plugin for building installers with Install4J