Skip to content

Docker and Server improvements

Compare
Choose a tag to compare
@muuki88 muuki88 released this 24 Apr 19:46
· 610 commits to main since this release

Changes

Maintainer Scripts

The rpm and debian maintainer scripts have grown over the past years in sbt-native-packager. There settings for rpm scriplets (e.g. rpmPre) with hard to use types (Option[String]) or no helper methods for the debianMaintainerScripts.

With this milestone we introduce a new task-setting:

maintainerScripts: Map[String, Seq[String]]

This will serve as the low level data-structure for all package formats that use maintainer scripts. We have plenty of docs to support you:

To give you a peak what it looked before and after

Before

rpmPostun := rpmPost.value.map { content =>
  s"""|$content
     |echo 'hello, world
     |""".stripMargin
  }.orElse {
   Option("""echo 'hello, world"
   """.stripMargin)
  }

After

import RpmConstants._
maintainerScripts in Rpm := maintainerScriptsAppend((maintainerScripts in Rpm).value)(
   Postun -> "echo 'hello, world'"
)

JDeb & Spotify-Docker marked as "provided"

We marked both dependencies as provided to avoid unnecessary dependencies you either need nor want.
Both introduced issues with logging on the sbt-level as well.

Migration

If you used either the JDebPackaging or DockerSpotifyClientPlugin autoplugins you need to add the dependencies your self. In your plugins.sbt add the following

// if you use JDeb
libraryDependencies += "org.vafer" % "jdeb" % "1.3" artifacts (Artifact("jdeb", "jar", "jar"))

// if you use Spotify Docker
libraryDependencies += "com.spotify" % "docker-client" % "3.2.1"

Proguard documentation

@mikebridge added documentation on how to use sbt-proguard along with sbt-assembly
and sbt-native-packager

http://www.scala-sbt.org/sbt-native-packager/topics/custom.html#proguard

Commits and the issues they fixed since v1.0.6

Issue(s) Commit Message
#777 cdf7eff FIX #777 adding recipes for different packages
#776 a9bc669 Fix #776 using $DAEMON_GROUP to indicate group in Redhat startup template
ea2f6f3 Fix an obvious typo
#676 4ff3a85 FIX #676 adding configuration scopes to project configurations
#651 5bd92bd FIX #651 add code snippet to universal docs
#683 db3d6b4 FIX #683 add references to play documentation
#699 ae64ee3 FIX #699 add recipe for scalajs packaging
#678 9789e97 FIX #678 add reference to sbt-native-packager-examples
#750 c41a72e FIX #750 remove outdated documentation
cadac9d Fix errors when .bat file path contains paranthesis. Without double quotes the p
8f1fd78 Updates version of DockerSpotifyClient to 3.5.13 and fixes NullPointerException
#737 af63778 SystemD services now source /etc/default/{{app_name}} #737 This change modifies
3cec2d6 Fixing typos and sort related plugins
d109245 Fix typo in description of maintainerScripts
#731 ab1abad FIX #731 add options for zip and tarballs
007ddf4 Fixing sphinx formatting error

Pull requests since v1.0.6

Pull Request(s) Commit Message
#625 57c938d Unify maintainerScriptsUnify maintainerScripts
#713 07290f5 Bumped version number in Installation section.Bumped version number in Installa
#715 7c2b66e Travis: build on OS X (take 2)Travis: build on OS X (take 2)
#719 852e4b4 Mark docker and jdeb as provided dependenciesMark docker and jdeb as provided d
#720 409497a Adding ant dependency for jdkpackager builds. Follow up to #719Adding ant depen
#721 21ad738 Add Proguard example to Custom Package Format documentationAdd Proguard example
#732 3eca218 FIX #731 add options for zip and tarballsFIX #731 add options for zip and tarba
#733 e2d4453 Docker Plugin qualificationDocker Plugin qualification
#741 12c1549 Readme cleanupReadme cleanup
#743 0ff5b77 Fix typo in description of maintainerScriptsFix typo in description of maintain
#745 e32a059 SystemD services now source /etc/default/{{app_name}} (resolves #737)SystemD se
#748 fd3d9cf Fix errors when .bat file path contains paranthesis.Fix errors when .bat file p
#749 9fb55c7 Updates version of DockerSpotifyClient to 3.5.13 and fixes NullPointerException
#751 94ff880 FIX #750 remove outdated documentationFIX #750 remove outdated documentation
#755 9e54569 Major documentation clean up and preps for readthedocsMajor documentation clean
#757 66dd482 FIX #676 adding configuration scopes to project configurationsFIX #676 adding c
#766 576add2 AshScriptPlugin - Restore argument behavior as it was before a037519AshScriptPl
#767 de98975 Fix an obvious typoFix an obvious typo
#771 67bf957 Add a few docker tests for travisAdd a few docker tests for travis
#774 eb9c03d Add hint for windows-users (configuration)Add hint for windows-users (configura
#778 98a7789 Fix #776 using $DAEMON_GROUP to indicate group in Redhat startup temp…Fix #776
#779 2c3ea47 task name is rpm-linttask name is rpm-lint

A big thank you to all the contributors!

# Author
36 Nepomuk Seiler
2 Lars Hupel
2 Mike Bridge
1 wofr
1 Tim Harper
1 Seyfulislam Ozdemir
1 Matt Hughes
1 Andreas Kapp
1 Mikhail Yakshin
1 Frank S. Thomas
1 Owen Feehan
1 Vyatcheslav Suharnikov
1 Simeon H.K. Fitch
1 David Hoepelman