Skip to content

Commit d13440b

Browse files
committed
Fix #98 java server type includes /etc/default by default
* Added default configuration location * Added replacements in /etc/default configuration * Added tests * Added default configuration file with examples * Added /etc/default script to Upstart
1 parent 3b1d318 commit d13440b

File tree

4 files changed

+44
-15
lines changed

4 files changed

+44
-15
lines changed
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,34 @@
1-
#Some start script options could be overridden here
2-
#RUN_OPTS=""
3-
#DAEMON_USER=""
4-
#JAVA_CMD=""
1+
# #################################
2+
# ##### Default configuration #####
3+
# #################################
4+
5+
# Available replacements
6+
# ------------------------------------------------
7+
# ${{author}} debian author
8+
# ${{descr}} debian package description
9+
# ${{exec}} startup script name
10+
# ${{chdir}} app directory
11+
# ${{retries}} retries for startup
12+
# ${{retryTimeout}} retry timeout
13+
# ${{app_name}} normalized app name
14+
# ${{daemon_user}} daemon user
15+
# -------------------------------------------------
16+
17+
# Setting -Xmx and -Xms in Megabyte
18+
# -mem 1024
19+
20+
# Setting -X directly (-J is stripped)
21+
# -J-X
22+
# -J-Xmx 1024
23+
24+
# Add additional jvm parameters
25+
# -Dkey=val
26+
27+
# For play applications you may set
28+
# -Dpidfile.path=/var/run/${{app_name}}.pid
29+
30+
# Turn on JVM debugging, open at the given port
31+
# -jvm-debug <port>
32+
33+
# Don't run the java version check
34+
# -no-version-check

src/main/scala/com/typesafe/sbt/packager/archetypes/JavaServerApplication.scala

+7-11
Original file line numberDiff line numberDiff line change
@@ -67,12 +67,13 @@ object JavaServerAppPackaging {
6767
},
6868

6969
// === etc config mapping ===
70+
bashScriptConfigLocation <<= normalizedName map (name => Some("/etc/default/" + name)),
7071
linuxEtcDefaultTemplate in Debian <<= sourceDirectory map { dir =>
7172
val overrideScript = dir / "templates" / "etc-default"
7273
if (overrideScript.exists) overrideScript.toURI.toURL
7374
else etcDefaultTemplateSource
7475
},
75-
debianMakeEtcDefault <<= (normalizedName, target in Universal, serverLoading in Debian, linuxEtcDefaultTemplate in Debian)
76+
debianMakeEtcDefault <<= (normalizedName, target in Universal, linuxEtcDefaultTemplate in Debian, debianScriptReplacements)
7677
map makeEtcDefaultScript,
7778
linuxPackageMappings in Debian <++= (debianMakeEtcDefault, normalizedName) map { (conf, name) =>
7879
conf.map(c => LinuxPackageMapping(Seq(c -> ("/etc/default/" + name))).withConfig()).toSeq
@@ -106,15 +107,10 @@ object JavaServerAppPackaging {
106107
}
107108
}
108109

109-
protected def makeEtcDefaultScript(name: String, tmpDir: File, loader: ServerLoader, source: java.net.URL): Option[File] = {
110-
loader match {
111-
case Upstart => None
112-
case SystemV => {
113-
val scriptBits = TemplateWriter.generateScript(source, Seq.empty)
114-
val script = tmpDir / "tmp" / "etc" / "default" / name
115-
IO.write(script, scriptBits)
116-
Some(script)
117-
}
118-
}
110+
protected def makeEtcDefaultScript(name: String, tmpDir: File, source: java.net.URL, replacements: Seq[(String, String)]): Option[File] = {
111+
val scriptBits = TemplateWriter.generateScript(source, replacements)
112+
val script = tmpDir / "tmp" / "etc" / "default" / name
113+
IO.write(script, scriptBits)
114+
Some(script)
119115
}
120116
}

src/sbt-test/debian/sysvinit-deb/test

+1
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,5 @@
33
$ exists target/debian-test-0.1.0.deb
44

55
$ exists target/debian-test-0.1.0/etc
6+
$ exists target/debian-test-0.1.0/etc/default/debian-test
67
$ exists target/debian-test-0.1.0/etc/init.d/debian-test

src/sbt-test/debian/upstart-deb/test

+2
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,9 @@
33
$ exists target/debian-test-0.1.0.deb
44

55
$ exists target/debian-test-0.1.0/etc
6+
$ exists target/debian-test-0.1.0/etc/default/debian-test
67
$ exists target/debian-test-0.1.0/etc/init/debian-test.conf
8+
79
# Check defaults
810
$ exists target/debian-test-0.1.0/DEBIAN/prerm
911
$ exists target/debian-test-0.1.0/DEBIAN/postinst

0 commit comments

Comments
 (0)