diff --git a/src/main/scala/com/typesafe/sbt/packager/archetypes/JavaServerApplication.scala b/src/main/scala/com/typesafe/sbt/packager/archetypes/JavaServerApplication.scala index ad2552e18..b843695ec 100644 --- a/src/main/scala/com/typesafe/sbt/packager/archetypes/JavaServerApplication.scala +++ b/src/main/scala/com/typesafe/sbt/packager/archetypes/JavaServerApplication.scala @@ -369,7 +369,7 @@ object JavaServerAppPackaging extends AutoPlugin { val rpmScripts = Option(scriptDirectory.listFiles) getOrElse Array.empty // remove all non files and already processed templates - rpmScripts.diff(predefined).filter(_.isFile).foldLeft(predefinedScripts) { + rpmScripts.filter(s => s.isFile && !predefined.contains(s.getName)).foldLeft(predefinedScripts) { case (scripts, scriptlet) => val script = scriptlet.getName val existingContent = scripts.getOrElse(script, Nil) diff --git a/src/sbt-test/rpm/scriptlets-override-rpm/build.sbt b/src/sbt-test/rpm/scriptlets-override-rpm/build.sbt index aa68c95a1..bbebce4c3 100644 --- a/src/sbt-test/rpm/scriptlets-override-rpm/build.sbt +++ b/src/sbt-test/rpm/scriptlets-override-rpm/build.sbt @@ -41,3 +41,18 @@ TaskKey[Unit]("check-spec-file") <<= (target, streams) map { (target, out) => () } +def countSubstring(str: String, substr: String): Int = + substr.r.findAllMatchIn(str).length + +def isUnique(str: String, searchstr: String): Boolean = + countSubstring(str, searchstr) == 1 + +TaskKey[Unit]("unique-scripts-in-spec-file") <<= (target, streams) map { (target, out) => + val spec = IO.read(target / "rpm" / "SPECS" / "rpm-test.spec") + assert( isUnique(spec, "echo postinst"), "'echo 'postinst' not unique in \n" + spec) + assert( isUnique(spec, "echo preinst"), "'echo 'preinst' not unique in \n" + spec) + assert( isUnique(spec, "echo postun"), "'echo 'postun' not unique in \n" + spec) + assert( isUnique(spec, "echo preun"), "'echo 'preun' not unique in \n" + spec) + () +} + diff --git a/src/sbt-test/rpm/scriptlets-override-rpm/test b/src/sbt-test/rpm/scriptlets-override-rpm/test index c209c8a69..33fd27d09 100644 --- a/src/sbt-test/rpm/scriptlets-override-rpm/test +++ b/src/sbt-test/rpm/scriptlets-override-rpm/test @@ -23,3 +23,4 @@ $ exists var/run/rpm-test > set NativePackagerKeys.rpmBrpJavaRepackJars := true > check-spec-file +> unique-scripts-in-spec-file \ No newline at end of file diff --git a/version.sbt b/version.sbt index a1b7d1870..5b00d60a5 100644 --- a/version.sbt +++ b/version.sbt @@ -1 +1 @@ -version in ThisBuild := "1.1.1" \ No newline at end of file +version in ThisBuild := "1.1.2" \ No newline at end of file