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
pull/5205/merge
Andy Wilkinson 9 years ago
parent 01b7a7d9d3
commit af32d6e8ee

@ -629,6 +629,12 @@ for Gradle and to `${project.name}` for Maven.
|`initInfoChkconfig` |`initInfoChkconfig`
|The `chkconfig` section of "`INIT INFO`". Defaults to `2345 99 01`. |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` |`useStartStopDaemon`
|If the `start-stop-daemon` command, when it's available, should be used to control the |If the `start-stop-daemon` command, when it's available, should be used to control the
process. Defaults to `true`. process. Defaults to `true`.

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

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

Loading…
Cancel
Save