@@ -67,6 +67,8 @@ object DebianPlugin extends AutoPlugin with DebianNativePackaging {
67
67
68
68
val CHOWN_REPLACEMENT = " chown-paths"
69
69
70
+ override def projectConfigurations : Seq [Configuration ] = Seq (Debian )
71
+
70
72
// TODO maybe we can put settings/debiansettings together
71
73
/**
72
74
* Enables native packaging by default
@@ -107,36 +109,36 @@ object DebianPlugin extends AutoPlugin with DebianNativePackaging {
107
109
maintainerScripts in Debian := {
108
110
val replacements = (linuxScriptReplacements in Debian ).value
109
111
val scripts = Map (
110
- Names .Prerm -> defaultMaintainerScript(Names .Prerm ).toSeq.flatten,
111
- Names .Preinst -> defaultMaintainerScript(Names .Preinst ).toSeq.flatten,
112
- Names .Postinst -> defaultMaintainerScript(Names .Postinst ).toSeq.flatten,
113
- Names .Postrm -> defaultMaintainerScript(Names .Postrm ).toSeq.flatten
112
+ Names .Prerm -> defaultMaintainerScript(Names .Prerm ).toSeq.flatten,
113
+ Names .Preinst -> defaultMaintainerScript(Names .Preinst ).toSeq.flatten,
114
+ Names .Postinst -> defaultMaintainerScript(Names .Postinst ).toSeq.flatten,
115
+ Names .Postrm -> defaultMaintainerScript(Names .Postrm ).toSeq.flatten
114
116
)
115
117
116
118
// this is for legacy purposes to keep old behaviour
117
119
// --- legacy starts
118
120
def readContent (scriptFiles : Seq [(File , String )]): Map [String , Seq [String ]] = scriptFiles.map {
119
- case (scriptFile, scriptName) => scriptName -> IO .readLines(scriptFile)
121
+ case (scriptFile, scriptName) => scriptName -> IO .readLines(scriptFile)
120
122
}.toMap
121
123
122
124
val userProvided = readContent(Seq (
123
- debianMakePreinstScript.value.map(script => script -> Names .Preinst ),
124
- debianMakePostinstScript.value.map(script => script -> Names .Postinst ),
125
- debianMakePrermScript.value.map(script => script -> Names .Prerm ),
126
- debianMakePostrmScript.value.map(script => script -> Names .Postrm )
125
+ debianMakePreinstScript.value.map(script => script -> Names .Preinst ),
126
+ debianMakePostinstScript.value.map(script => script -> Names .Postinst ),
127
+ debianMakePrermScript.value.map(script => script -> Names .Prerm ),
128
+ debianMakePostrmScript.value.map(script => script -> Names .Postrm )
127
129
).flatten)
128
130
129
131
// these things get appended. Don't check for nonexisting keys as they are already in the default scripts map
130
132
val appendedScripts = scripts.map {
131
- case (scriptName, content) => scriptName -> (content ++ userProvided.getOrElse(scriptName, Nil ))
133
+ case (scriptName, content) => scriptName -> (content ++ userProvided.getOrElse(scriptName, Nil ))
132
134
}
133
135
// override and merge with the user defined scripts. Will change in the future
134
136
val controlScriptsDir = debianControlScriptsDirectory.value
135
137
val overridenScripts = scripts ++ readContent(Seq (
136
- scriptMapping(Names .Prerm , debianMakePrermScript.value, controlScriptsDir),
137
- scriptMapping(Names .Preinst , debianMakePreinstScript.value, controlScriptsDir),
138
- scriptMapping(Names .Postinst , debianMakePostinstScript.value, controlScriptsDir),
139
- scriptMapping(Names .Postrm , debianMakePostrmScript.value, controlScriptsDir)
138
+ scriptMapping(Names .Prerm , debianMakePrermScript.value, controlScriptsDir),
139
+ scriptMapping(Names .Preinst , debianMakePreinstScript.value, controlScriptsDir),
140
+ scriptMapping(Names .Postinst , debianMakePostinstScript.value, controlScriptsDir),
141
+ scriptMapping(Names .Postrm , debianMakePostrmScript.value, controlScriptsDir)
140
142
).flatten)
141
143
// --- legacy ends
142
144
@@ -145,7 +147,7 @@ object DebianPlugin extends AutoPlugin with DebianNativePackaging {
145
147
146
148
// apply all replacements
147
149
content.mapValues { lines =>
148
- TemplateWriter .generateScriptFromLines(lines, replacements)
150
+ TemplateWriter .generateScriptFromLines(lines, replacements)
149
151
}
150
152
},
151
153
debianMaintainerScripts := generateDebianMaintainerScripts(
@@ -182,14 +184,14 @@ object DebianPlugin extends AutoPlugin with DebianNativePackaging {
182
184
packageDescription in Debian := "My package Description""""
183
185
)
184
186
}
185
- val cfile = dir / Names .DebianMaintainerScripts / Names .Control
187
+ val cfile = dir / Names .DebianMaintainerScripts / Names .Control
186
188
IO .write(cfile, data.makeContent(size), java.nio.charset.Charset .defaultCharset)
187
189
chmod(cfile, " 0644" )
188
190
cfile
189
191
},
190
192
debianConffilesFile <<= (linuxPackageMappings, target) map {
191
193
(mappings, dir) =>
192
- val cfile = dir / Names .DebianMaintainerScripts / Names .Conffiles
194
+ val cfile = dir / Names .DebianMaintainerScripts / Names .Conffiles
193
195
val conffiles = for {
194
196
LinuxPackageMapping (files, meta, _) <- mappings
195
197
if meta.config != " false"
@@ -202,11 +204,11 @@ object DebianPlugin extends AutoPlugin with DebianNativePackaging {
202
204
},
203
205
debianMD5sumsFile <<= (debianExplodedPackage, target) map {
204
206
(mappings, dir) =>
205
- val md5file = dir / Names .DebianMaintainerScripts / " md5sums"
207
+ val md5file = dir / Names .DebianMaintainerScripts / " md5sums"
206
208
val md5sums = for {
207
209
(file, name) <- (dir.*** --- dir pair relativeTo(dir))
208
210
if file.isFile
209
- if ! (name startsWith Names .DebianMaintainerScripts )
211
+ if ! (name startsWith Names .DebianMaintainerScripts )
210
212
if ! (name contains " debian-binary" )
211
213
// TODO - detect symlinks with Java7 (when we can) rather than hackery...
212
214
if file.getCanonicalPath == file.getAbsolutePath
@@ -219,7 +221,7 @@ object DebianPlugin extends AutoPlugin with DebianNativePackaging {
219
221
debianMakeChownReplacements <<= (linuxPackageMappings, streams) map makeChownReplacements,
220
222
debianExplodedPackage <<= (linuxPackageMappings, debianControlFile, debianMaintainerScripts, debianConffilesFile, debianChangelog,
221
223
linuxScriptReplacements, debianMakeChownReplacements, linuxPackageSymlinks, target, streams)
222
- map { (mappings, _, maintScripts, _, changelog, replacements, chown, symlinks, t, streams) =>
224
+ map { (mappings, _, maintScripts, _, changelog, replacements, chown, symlinks, t, streams) =>
223
225
224
226
// Create files and directories
225
227
mappings foreach {
@@ -244,7 +246,7 @@ object DebianPlugin extends AutoPlugin with DebianNativePackaging {
244
246
// Put the maintainer files in `dir / "DEBIAN"` named as specified.
245
247
// Valid values for the name are preinst,postinst,prerm,postrm
246
248
for ((file, name) <- maintScripts) {
247
- val targetFile = t / Names .DebianMaintainerScripts / name
249
+ val targetFile = t / Names .DebianMaintainerScripts / name
248
250
copyAndFixPerms(file, targetFile, LinuxFileMetaData ())
249
251
filterAndFixPerms(targetFile, chown +: replacements, LinuxFileMetaData ())
250
252
}
@@ -281,10 +283,10 @@ trait DebianPluginLike {
281
283
282
284
scripts.map {
283
285
case (scriptName, content) =>
284
- val scriptBits = TemplateWriter .generateScriptFromLines(content, replacements)
285
- val script = tmpDir / " tmp" / " debian" / scriptName
286
- IO .write(script, scriptBits mkString " \n " )
287
- script -> scriptName
286
+ val scriptBits = TemplateWriter .generateScriptFromLines(content, replacements)
287
+ val script = tmpDir / " tmp" / " debian" / scriptName
288
+ IO .write(script, scriptBits mkString " \n " )
289
+ script -> scriptName
288
290
}.toList
289
291
}
290
292
@@ -350,7 +352,7 @@ trait DebianPluginLike {
350
352
(script, controlDir) match {
351
353
// check if user defined script exists
352
354
case (_, dir) if (dir / scriptName).exists =>
353
- Some (file((dir / scriptName).getAbsolutePath) -> scriptName)
355
+ Some (file((dir / scriptName).getAbsolutePath) -> scriptName)
354
356
// create mappings for generated script
355
357
case (scr, _) => scr.map(_ -> scriptName)
356
358
}
0 commit comments