mirror of
https://github.com/jlengrand/jreleaser.github.io.git
synced 2026-03-10 08:31:25 +00:00
Document single-jar distribution
This commit is contained in:
@@ -1,3 +1,4 @@
|
||||
* xref:distributions/index.adoc[]
|
||||
** xref:distributions/java-binary.adoc[]
|
||||
** xref:distributions/single-jar.adoc[]
|
||||
** xref:distributions/jlink.adoc[]
|
||||
|
||||
@@ -35,7 +35,7 @@ We recommend using the following plugins to create suitable Java binary distribu
|
||||
|
||||
.Gradle
|
||||
|
||||
* link:https://docs.gradle.org/current/userguide/application_plugin.html[application] plugin: generates distribution
|
||||
* link:https://docs.gradle.org/current/userguide/application_plugin.html[application] plugin: generates distribution
|
||||
files that follow the expected structure. Also, packages the distribution as a Zip or Tar.
|
||||
|
||||
== Packager Support
|
||||
@@ -44,6 +44,7 @@ We recommend using the following plugins to create suitable Java binary distribu
|
||||
|===
|
||||
| Packager | Supported
|
||||
| xref:configuration:packagers/chocolatey.adoc[] | {icon_req_y}
|
||||
| xref:configuration:packagers/docker.adoc[] | {icon_req_y}
|
||||
| xref:configuration:packagers/homebrew.adoc[] | {icon_req_y}
|
||||
| xref:configuration:packagers/jbang.adoc[] | {icon_req_y}
|
||||
| xref:configuration:packagers/scoop.adoc[] | {icon_req_y}
|
||||
|
||||
@@ -39,9 +39,9 @@ We recommend using the following plugins to create suitable Java binary distribu
|
||||
|
||||
.Gradle
|
||||
|
||||
* link:https://badass-runtime-plugin.beryx.org/releases/latest/[badass-runtime-plugin] plugin: use it for *non-modular*
|
||||
* link:https://badass-runtime-plugin.beryx.org/releases/latest/[badass-runtime-plugin] plugin: use it for *non-modular*
|
||||
applications. Generates distribution files that follow the expected structure. Also, packages the distribution as a Zip.
|
||||
* link:https://badass-jlink-plugin.beryx.org/releases/latest/[badass-jlink-plugin] plugin: use it for *modular*
|
||||
* link:https://badass-jlink-plugin.beryx.org/releases/latest/[badass-jlink-plugin] plugin: use it for *modular*
|
||||
applications. Generates distribution files that follow the expected structure. Also, packages the distribution as a Zip.
|
||||
|
||||
== Packager Support
|
||||
@@ -50,6 +50,7 @@ applications. Generates distribution files that follow the expected structure. A
|
||||
|===
|
||||
| Packager | Supported
|
||||
| xref:configuration:packagers/chocolatey.adoc[] | {icon_req_y}
|
||||
| xref:configuration:packagers/docker.adoc[] | {icon_req_y}
|
||||
| xref:configuration:packagers/homebrew.adoc[] | {icon_req_y}
|
||||
| xref:configuration:packagers/jbang.adoc[] | {icon_req_n}
|
||||
| xref:configuration:packagers/scoop.adoc[] | {icon_req_y}
|
||||
|
||||
42
docs/modules/ROOT/pages/distributions/single-jar.adoc
Normal file
42
docs/modules/ROOT/pages/distributions/single-jar.adoc
Normal file
@@ -0,0 +1,42 @@
|
||||
= Single JAR
|
||||
|
||||
Distributions of this type are comprised of a single, executable JAR, with all their dependencies available inside
|
||||
the JAR. These JARs are also known as `fatjar` or `uber-jar`.
|
||||
|
||||
Single JAR distributions *require* a suitable Java runtime to be installed on the consumer side.
|
||||
|
||||
== Creating a Distribution
|
||||
|
||||
We recommend using the following plugins to create suitable Single JAR distributions:
|
||||
|
||||
.Maven
|
||||
|
||||
* link:https://maven.apache.org/plugins/maven-shade-plugin/[maven-shade-plugin]: packages a JAR and its dependencies as
|
||||
an uber-jar.
|
||||
* link:https://maven.apache.org/plugins/maven-jar-plugin/[maven-jar-plugin]: if the JAR has no additional dependencies.
|
||||
|
||||
Make sure to make the JAR executable by setting the `Main-Class` manifest entry.
|
||||
|
||||
.Gradle
|
||||
|
||||
* link:https://imperceptiblethoughts.com/shadow/introduction/[shadow]: packages a JAR and its dependencies as
|
||||
an uber-jar.
|
||||
* link:https://docs.gradle.org/current/userguide/java_plugin.html[java]: if the JAR has no additional dependencies.
|
||||
|
||||
Make sure to make the JAR executable by setting the `Main-Class` manifest entry.
|
||||
|
||||
== Packager Support
|
||||
|
||||
[%header, cols="<,^"]
|
||||
|===
|
||||
| Packager | Supported
|
||||
| xref:configuration:packagers/chocolatey.adoc[] | {icon_req_n}
|
||||
| xref:configuration:packagers/docker.adoc[] | {icon_req_y}
|
||||
| xref:configuration:packagers/homebrew.adoc[] | {icon_req_y}
|
||||
| xref:configuration:packagers/jbang.adoc[] | {icon_req_y}
|
||||
| xref:configuration:packagers/scoop.adoc[] | {icon_req_n}
|
||||
| xref:configuration:packagers/snap.adoc[] | {icon_req_y}
|
||||
|===
|
||||
|
||||
|
||||
|
||||
@@ -7,7 +7,7 @@ NOTE: At the moment, only artifacts with `.zip` extension may be packaged with C
|
||||
WARNING: Local publication of packages is currently not supported. Please set `remoteBuild` to `true` and trigger a
|
||||
build on CI. Local publication will be added at a later release.
|
||||
|
||||
WARNING: Snapshots are not supported.
|
||||
WARNING: Snapshots are *not* supported.
|
||||
|
||||
include::partial$legend.adoc[]
|
||||
|
||||
|
||||
@@ -2,9 +2,9 @@
|
||||
|
||||
Creates link:https://www.docker.com/[Docker] images.
|
||||
|
||||
NOTE: At the moment, only artifacts with `.zip` extension may be packaged with Docker.
|
||||
NOTE: Only artifacts with `.zip`, `.jar` extension may be packaged with Docker.
|
||||
|
||||
WARNING: Snapshots are not supported.
|
||||
WARNING: Snapshots are *not* supported.
|
||||
|
||||
IMPORTANT: Building and publishing docker images requires the `docker` command and a running Docker deamon.
|
||||
JReleaser will not install these tools.
|
||||
|
||||
@@ -4,9 +4,9 @@ The `brew` section specifies how the formula should be created. You can check th
|
||||
link:https://github.com/Homebrew/brew/blob/master/docs/How-to-Create-and-Maintain-a-Tap.md[Homebrew documentation] and the
|
||||
link:https://github.com/Homebrew/brew/blob/master/docs/Formula-Cookbook.md[formula cookbook] for more details.
|
||||
|
||||
NOTE: At the moment, only artifacts with `.zip` extension may be packaged with Homebrew.
|
||||
NOTE: Only artifacts with `.zip`, `.jar` extension may be packaged with Homebrew.
|
||||
|
||||
WARNING: Snapshots are not supported.
|
||||
WARNING: Snapshots are *not* supported.
|
||||
|
||||
include::partial$legend.adoc[]
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@ The `scoop` section specifies how the manifest should be created.
|
||||
|
||||
NOTE: At the moment, only artifacts with `.zip` extension may be packaged with Scoop.
|
||||
|
||||
WARNING: Snapshots are not supported.
|
||||
WARNING: Snapshots are *not* supported.
|
||||
|
||||
include::partial$legend.adoc[]
|
||||
|
||||
|
||||
@@ -6,9 +6,9 @@ with automatic and transactional updates.
|
||||
|
||||
You can read more about it in the link:https://snapcraft.io/docs/[snapcraft docs].
|
||||
|
||||
NOTE: At the moment, only artifacts with `.tar.gz` or `.tar` extension may be packaged with Snapcraft.
|
||||
NOTE: Only artifacts with `.tar.gz`, `.tar`, or `.jar` extension may be packaged with Snapcraft.
|
||||
|
||||
WARNING: Snapshots are not supported.
|
||||
WARNING: Snapshots are *not* supported.
|
||||
|
||||
IMPORTANT: Building local snaps requires `snapcraft` to be pre installed. JReleaser will not install it nor its
|
||||
dependencies.
|
||||
|
||||
@@ -6,7 +6,7 @@ site:
|
||||
content:
|
||||
sources:
|
||||
- url: ./
|
||||
branches: main
|
||||
branches: development
|
||||
start_path: docs
|
||||
|
||||
ui:
|
||||
|
||||
Reference in New Issue
Block a user