Allow LOG_FOLDER and PID_FOLDER defaults to be set at build time

This commit enhances the default launch script to allow the default
values for LOG_FOLDER and PID_FOLDER to be set at build time. They
can now be set using the logFolder and pidFolder properties
respectively.

Closes gh-4787
This commit is contained in:
Andy Wilkinson 2016-02-25 12:25:41 +00:00
parent 01b7a7d9d3
commit af32d6e8ee
3 changed files with 18 additions and 2 deletions

View File

@ -629,6 +629,12 @@ for Gradle and to `${project.name}` for Maven.
|`initInfoChkconfig`
|The `chkconfig` section of "`INIT INFO`". Defaults to `2345 99 01`.
|`logFolder`
|The default value for `LOG_FOLDER`. Only valid for an `init.d` service.
|`pidFolder`
|The default value for `PID_FOLDER`. Only valid for an `init.d` service.
|`useStartStopDaemon`
|If the `start-stop-daemon` command, when it's available, should be used to control the
process. Defaults to `true`.

View File

@ -46,8 +46,8 @@ configfile="$(basename "${jarfile%.*}.conf")"
[[ -r "${jarfolder}/${configfile}" ]] && source "${jarfolder}/${configfile}"
# Initialize PID/LOG locations if they weren't provided by the config file
[[ -z "$PID_FOLDER" ]] && PID_FOLDER="/var/run"
[[ -z "$LOG_FOLDER" ]] && LOG_FOLDER="/var/log"
[[ -z "$PID_FOLDER" ]] && PID_FOLDER="{{pidFolder:/var/run}}"
[[ -z "$LOG_FOLDER" ]] && LOG_FOLDER="{{logFolder:/var/log}}"
! [[ -x "$PID_FOLDER" ]] && PID_FOLDER="/tmp"
! [[ -x "$LOG_FOLDER" ]] && LOG_FOLDER="/tmp"

View File

@ -76,6 +76,16 @@ public class DefaultLaunchScriptTests {
assertThatPlaceholderCanBeReplaced("useStartStopDaemon");
}
@Test
public void logFolderCanBeReplaced() throws Exception {
assertThatPlaceholderCanBeReplaced("logFolder");
}
@Test
public void pidFolderCanBeReplaced() throws Exception {
assertThatPlaceholderCanBeReplaced("pidFolder");
}
@Test
public void defaultForUseStartStopDaemonIsTrue() throws Exception {
DefaultLaunchScript script = new DefaultLaunchScript(null, null);