-
Notifications
You must be signed in to change notification settings - Fork 443
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Readme cleanup #741
Readme cleanup #741
Changes from 1 commit
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,24 +1,19 @@ | ||
# SBT Native Packager # | ||
|
||
Service | Status | Description | ||
------- | ------ | ----------- | ||
Travis | [![Build Status](https://api.travis-ci.org/sbt/sbt-native-packager.png?branch=master)](https://travis-ci.org/sbt/sbt-native-packager) | Universal, Debian, Rpm and Jar tests | ||
Appveyor | [![Build status](https://ci.appveyor.com/api/projects/status/pbxd0untlcst4we7/branch/master?svg=true)](https://ci.appveyor.com/project/muuki88/sbt-native-packager/branch/master) | Windows tests | ||
Codacy | [![Codacy Badge](https://www.codacy.com/project/badge/0e9a7ec769c84e578f4550bf7da6bf05)](https://www.codacy.com/public/nepomukseiler/sbt-native-packager) | Code Quality | ||
Bintray | [ ![Download](https://api.bintray.com/packages/sbt/sbt-plugin-releases/sbt-native-packager/images/download.svg) ](https://bintray.com/sbt/sbt-plugin-releases/sbt-native-packager/_latestVersion) | Latest Version on Bintray | ||
Gitter | [![Join the chat at https://gitter.im/sbt/sbt-native-packager](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/sbt/sbt-native-packager?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) | Chatroom | ||
Issuestats | [![Issue Stats](http://www.issuestats.com/github/sbt/sbt-native-packager/badge/pr?style=flat)](http://www.issuestats.com/github/sbt/sbt-native-packager) | | ||
Issuestats | [![Issue Stats](http://www.issuestats.com/github/sbt/sbt-native-packager/badge/issue?style=flat)](http://www.issuestats.com/github/sbt/sbt-native-packager) | | ||
[![Build Status](https://api.travis-ci.org/sbt/sbt-native-packager.png?branch=master)](https://travis-ci.org/sbt/sbt-native-packager) | ||
[![Build status](https://ci.appveyor.com/api/projects/status/pbxd0untlcst4we7/branch/master?svg=true)](https://ci.appveyor.com/project/muuki88/sbt-native-packager/branch/master) | ||
[![Codacy Badge](https://www.codacy.com/project/badge/0e9a7ec769c84e578f4550bf7da6bf05)](https://www.codacy.com/public/nepomukseiler/sbt-native-packager) | ||
[ ![Download](https://api.bintray.com/packages/sbt/sbt-plugin-releases/sbt-native-packager/images/download.svg) ](https://bintray.com/sbt/sbt-plugin-releases/sbt-native-packager/_latestVersion) | ||
[![Join the chat at https://gitter.im/sbt/sbt-native-packager](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/sbt/sbt-native-packager?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) | ||
[![Issue Stats](http://www.issuestats.com/github/sbt/sbt-native-packager/badge/pr?style=flat)](http://www.issuestats.com/github/sbt/sbt-native-packager) | ||
[![Issue Stats](http://www.issuestats.com/github/sbt/sbt-native-packager/badge/issue?style=flat)](http://www.issuestats.com/github/sbt/sbt-native-packager) | ||
|
||
## Goal ## | ||
|
||
This is a work in progress project. The goal is to be able to bundle up Scala software built with SBT for native packaging systems, like deb, rpm, homebrew, msi. | ||
SBT native packager lets you build application packages in native formats. It offers | ||
different archetypes for common configurations, such as simple java apps or server applications. | ||
|
||
# Announcement - 1.0.0 will require Java 7 or higher | ||
|
||
The next release will require java 7 or higher. If you need java 6, please | ||
join the discussion in [#498](https://github.com/sbt/sbt-native-packager/issues/498). | ||
|
||
## Issues/Discussions | ||
## Issues/Discussions ## | ||
|
||
* **Discussion/Questions**: | ||
If you wish to ask questions about the native packager, we have a [mailinglist](https://groups.google.com/forum/#!forum/sbt-native-packager) and | ||
|
@@ -31,26 +26,32 @@ join the discussion in [#498](https://github.com/sbt/sbt-native-packager/issues/ | |
Finally, any bugs or features you find you need, please report to our [issue tracker](https://github.com/sbt/sbt-native-packager/issues/new). | ||
Please check the [compatibility matrix](https://github.com/sbt/sbt-native-packager/wiki/Tested-On) to see if your system is able to | ||
produce the packages you want. | ||
|
||
## Features | ||
|
||
* Build native packages for different systems | ||
## Features ## | ||
|
||
* Build [native packages][formats] for different systems | ||
* Universal `zip`,`tar.gz`, `xz` archives | ||
* `deb` and `rpm` packages for Debian/RHEL based systems | ||
* `dmg` for OSX | ||
* `msi` for Windows | ||
* `docker` images | ||
* Provide archetypes for common use cases | ||
* Java application with startscripts for linux/osx/windows | ||
* Java server additional autostart configurations | ||
* [Java application] with startscripts for linux/osx/windows | ||
* [Java server application][] with additional autostart configurations | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I'm not sure how this link format is supposed to work, but it seems to go to the same link as "Java application" above. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. There are two ways of defining links in markdown the |
||
* Systemd | ||
* Systemv | ||
* Upstart | ||
* Java8 [jdkpackager][] wrapper | ||
* Optional JDeb integration for crossplattform debian builds | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. cross-platform There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. debian -> Debian |
||
* Optional Spotify docker client integration | ||
|
||
## Installation | ||
## Installation ## | ||
|
||
Add the following to your `project/plugins.sbt` file: | ||
|
||
```scala | ||
// for autoplugins | ||
addSbtPlugin("com.typesafe.sbt" % "sbt-native-packager" % "1.0.6") | ||
addSbtPlugin("com.typesafe.sbt" % "sbt-native-packager" % "1.1.0-RC1") | ||
``` | ||
|
||
In your `build.sbt` enable the plugin you want. For example the | ||
|
@@ -59,57 +60,49 @@ In your `build.sbt` enable the plugin you want. For example the | |
```scala | ||
enablePlugins(JavaAppPackaging) | ||
``` | ||
|
||
|
||
For non-autoplugins use the `0.8.0` version. | ||
Or if you need a server with autostart support | ||
|
||
```scala | ||
addSbtPlugin("com.typesafe.sbt" % "sbt-native-packager" % "0.8.0") | ||
enablePlugins(JavaServerAppPackaging) | ||
``` | ||
|
||
## Build ## | ||
|
||
For the native packager keys add this to your `build.sbt` if you use the a version | ||
before `1.0.0` | ||
If you have enabled one of the archetypes (app or server), | ||
you can build your application with | ||
|
||
```scala | ||
import NativePackagerKeys._ | ||
```bash | ||
sbt <config-scope>:packageBin | ||
``` | ||
|
||
### Examples | ||
|
||
## Experimental systemd bootsystem support ## | ||
|
||
Native packager now provides experimental `systemd` startup scripts. | ||
Currently it works on Fedora `Fedora release 20 (Heisenbug)` and doesn't work on Ubuntu because of partial `systemd` support in `Ubuntu 14.04 LTS`. | ||
To enable this feature follow [My First Packaged Server Project guide](http://www.scala-sbt.org/sbt-native-packager/GettingStartedServers/MyFirstProject.html) and use `Systemd` as server loader: | ||
|
||
import com.typesafe.sbt.packager.archetypes.ServerLoader.Systemd | ||
serverLoading in Rpm := Systemd | ||
```bash | ||
# universal zip | ||
sbt universal:packageBin | ||
|
||
Any help on testing and improving this feature is appreciated so feel free to report bugs or making PR. | ||
# debian package | ||
sbt debian:packageBin | ||
|
||
# rpm package | ||
sbt rpm:packageBin | ||
|
||
## Experimental Native Packages via `javapackager` | ||
|
||
JDK 8 from Oracle includes the tool `javapackager` (née `javafxpackager`) to generate application | ||
launchers and native installers for MacOS X, Windows, and Linux. This plugin complements the existing | ||
`sbt-native-packager` formats by taking the settings and staged output from `JavaAppPackaging` | ||
and passing them through `javapackager`. | ||
|
||
This plugin's most significant complement to the core `sbt-native-packager` capabilities is the | ||
generation of MacOS X App bundles, and associated `.dmg` and `.pkg` package formats. | ||
It can also generate Windows `.exe` and `.msi` installers provided the requisite tools are | ||
available on the Windows build platform. | ||
|
||
For usage details see the [JDKPackager Plugin guide](http://www.scala-sbt.org/sbt-native-packager/formats/jdkpackager.html). | ||
# docker image | ||
sbt docker:publishLocal | ||
``` | ||
|
||
Read more in the specific [format documentation][formats] on how to configure and build your package. | ||
|
||
## Documentation ## | ||
|
||
There's a complete "getting started" guide and more detailed topics available at [the sbt-native-packager site](http://www.scala-sbt.org/sbt-native-packager/). | ||
|
||
Please feel free to [contribute documentation](https://github.com/sbt/sbt-native-packager/tree/master/src/sphinx), or raise issues where you feel it may be lacking. | ||
|
||
## Related SBT Plugins | ||
## Related SBT Plugins ## | ||
|
||
These are a list of plugins that either use sbt-native-packager, provide additional features | ||
or provide a richer API for a single packaging format. | ||
|
||
- [sbt-heroku](https://github.com/heroku/sbt-heroku) | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. While the README is being updated, how about putting this list in alphabetical order? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Good point. I will update this. |
||
- [sbt-assembly](https://github.com/sbt/sbt-assembly) | ||
|
@@ -121,3 +114,10 @@ Please feel free to [contribute documentation](https://github.com/sbt/sbt-native | |
- [sbt-newrelic](https://github.com/gilt/sbt-newrelic) | ||
- [sbt-aether](https://github.com/arktekk/sbt-aether-deploy) | ||
- [sbt-package-courier](https://github.com/alkersan/sbt-package-courier) | ||
|
||
|
||
[formats]: http://www.scala-sbt.org/sbt-native-packager/gettingstarted.html#packaging-formats | ||
[Java application]: http://www.scala-sbt.org/sbt-native-packager/archetypes/java_app/index.html | ||
[Java server application]: http://www.scala-sbt.org/sbt-native-packager/archetypes/java_app/index.html | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Ah, here's where the link is. Change this to point to the server archetype. |
||
[My First Packaged Server Project guide]: http://www.scala-sbt.org/sbt-native-packager/GettingStartedServers/MyFirstProject.html | ||
[jdkpackager]: http://www.scala-sbt.org/sbt-native-packager/formats/jdkpackager.html |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
java -> Java