Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
  • Loading branch information
aalmiray committed Dec 26, 2022
1 parent f9d519b commit 6484002
Show file tree
Hide file tree
Showing 16 changed files with 76 additions and 15 deletions.
1 change: 1 addition & 0 deletions docs/modules/concepts/nav.adoc
Expand Up @@ -2,6 +2,7 @@
** xref:workflow.adoc[]
** xref:distributions/index.adoc[]
*** xref:distributions/binary.adoc[]
*** xref:distributions/flat-binary.adoc[]
*** xref:distributions/java-binary.adoc[]
*** xref:distributions/jlink.adoc[]
*** xref:distributions/native-image.adoc[]
Expand Down
47 changes: 47 additions & 0 deletions docs/modules/concepts/pages/distributions/flat-binary.adoc
@@ -0,0 +1,47 @@
= Flat Binary

Distributions of this type provide a platform specific native binary, as a consequence you *must* specify a platform value
for each one of their artifacts.

Distributions of this type only provide a single executable binary with no additional files. Should you require more than
oone file then have a look at the xref:distributions/binary.adoc[] distribution.

== Creating a Distribution

You can use any tool/language at your disposal to create binary executables.

== Packager Support

[%header, cols="<,^"]
|===
| Packager | Supported
| xref:reference:packagers/appimage.adoc[] | {icon_req_y}
| xref:reference:packagers/asdf.adoc[] | {icon_req_y}
| xref:reference:packagers/chocolatey.adoc[] | {icon_req_n}
| xref:reference:packagers/docker.adoc[] | {icon_req_y}
| xref:reference:packagers/flatpak.adoc[] | {icon_req_y}
| xref:reference:packagers/homebrew.adoc[] | {icon_req_y}
| xref:reference:packagers/jbang.adoc[] | {icon_req_n}
| xref:reference:packagers/macports.adoc[] | {icon_req_y}
| xref:reference:packagers/scoop.adoc[] | {icon_req_y}
| xref:reference:packagers/sdkman.adoc[] | {icon_req_n}
| xref:reference:packagers/snap.adoc[] | {icon_req_y}
| xref:reference:packagers/spec.adoc[] | {icon_req_y}
|===

== Universal Binaries

Binary distributions are expected to deliver platform specific binaries thus every artifact must have a value set for their
respective `platform` property. However, it's possible to skip validating this setting by defining an extra property named
`universal`, like it's shown in the following snippet:

[source,yaml]
----
distributions:
app:
type: FLAT_BINARY
artifacts:
- path: target/distributions/{{distributionName}}/{{distributionName}}-{{projectVersion}}
extraProperties:
universal: true
----
10 changes: 5 additions & 5 deletions docs/modules/reference/pages/assemble/archive.adoc
Expand Up @@ -24,7 +24,7 @@ include::partial$assemble/yaml/common-head.adoc[]
# The distribution type.
# Used to determine packager templates.
# Supported values are: [JAVA_BINARY, SINGLE_JAR, JLINK, NATIVE_IMAGE, NATIVE_PACKAGE, BINARY].
# Supported values are: [`JAVA_BINARY`, `SINGLE_JAR`, `JLINK`, `BINARY`, `NATIVE_PACKAGE`].
# Defaults to `BINARY`.
# icon:dot-circle[]
distributionType: JAVA_BINARY
Expand Down Expand Up @@ -59,7 +59,7 @@ include::partial$assemble/toml/common-head.adoc[]
# The distribution type.
# Used to determine packager templates.
# Supported values are: [JAVA_BINARY, SINGLE_JAR, JLINK, NATIVE_IMAGE, NATIVE_PACKAGE, BINARY].
# Supported values are: [`JAVA_BINARY`, `SINGLE_JAR`, `JLINK`, `BINARY`, `NATIVE_PACKAGE`].
# Defaults to `BINARY`.
# icon:dot-circle[]
distributionType = "JAVA_BINARY"
Expand Down Expand Up @@ -92,7 +92,7 @@ include::partial$assemble/json/common-head.adoc[]
// The distribution type.
// Used to determine packager templates.
// Supported values are: [JAVA_BINARY, SINGLE_JAR, JLINK, NATIVE_IMAGE, NATIVE_PACKAGE, BINARY].
// Supported values are: [`JAVA_BINARY`, `SINGLE_JAR`, `JLINK`, `BINARY`, `NATIVE_PACKAGE`].
// Defaults to `BINARY`.
// icon:dot-circle[]
"distributionType": "JAVA_BINARY",
Expand Down Expand Up @@ -132,7 +132,7 @@ include::partial$assemble/maven/common-head.adoc[]
<!--
The distribution type.
Used to determine packager templates.
Supported values are>[JAVA_BINARY, SINGLE_JAR, JLINK, NATIVE_IMAGE, NATIVE_PACKAGE, BINARY].
Supported values are>[`JAVA_BINARY`, `SINGLE_JAR`, `JLINK`, `BINARY`, `NATIVE_PACKAGE`].
Defaults to `BINARY`.
icon:dot-circle[]
-->
Expand Down Expand Up @@ -174,7 +174,7 @@ include::partial$assemble/gradle/common-head.adoc[]
// The distribution type.
// Used to determine packager templates.
// Supported values are = [JAVA_BINARY, SINGLE_JAR, JLINK, NATIVE_IMAGE, NATIVE_PACKAGE, BINARY].
// Supported values are = [`JAVA_BINARY`, `SINGLE_JAR`, `JLINK`, `BINARY`, `NATIVE_PACKAGE`].
// Defaults to `BINARY`.
// icon:dot-circle[]
distributionType = 'JAVA_BINARY'
Expand Down
11 changes: 6 additions & 5 deletions docs/modules/reference/pages/distributions.adoc
Expand Up @@ -11,6 +11,7 @@ Distributions inherit the configuration specified in the xref:reference:packager
Distributions have a type that enables or disables additional features. These types are:

* xref:concepts:distributions/binary.adoc[]
* xref:concepts:distributions/flat-binary.adoc[]
* xref:concepts:distributions/java-binary.adoc[]
* xref:concepts:distributions/jlink.adoc[]
* xref:concepts:distributions/native-image.adoc[]
Expand Down Expand Up @@ -41,7 +42,7 @@ distributions:
# The distribution type.
# Used to determine packager templates.
# Supported values are: [`JAVA_BINARY`, `SINGLE_JAR`, `JLINK`, `NATIVE_IMAGE`, `NATIVE_PACKAGE`, `BINARY`].
# Supported values are: [`JAVA_BINARY`, `SINGLE_JAR`, `JLINK`, `BINARY`, `FLAT-BINARY`, `NATIVE_PACKAGE`].
# icon:exclamation-triangle[]
type: JAVA_BINARY
Expand Down Expand Up @@ -153,7 +154,7 @@ TOML::
# The distribution type.
# Used to determine packager templates.
# Supported values are: [`JAVA_BINARY`, `SINGLE_JAR`, `JLINK`, `NATIVE_IMAGE`, `NATIVE_PACKAGE`, `BINARY`].
# Supported values are: [`JAVA_BINARY`, `SINGLE_JAR`, `JLINK`, `BINARY`, `FLAT-BINARY`, `NATIVE_PACKAGE`].
# icon:exclamation-triangle[]
type = "JAVA_BINARY"
Expand Down Expand Up @@ -260,7 +261,7 @@ JSON::
// The distribution type.
// Used to determine packager templates.
// Supported values are: [`JAVA_BINARY`, `SINGLE_JAR`, `JLINK`, `NATIVE_IMAGE`, `NATIVE_PACKAGE`, `BINARY`].
// Supported values are: [`JAVA_BINARY`, `SINGLE_JAR`, `JLINK`, `BINARY`, `FLAT-BINARY`, `NATIVE_PACKAGE`].
// icon:exclamation-triangle[]
"type": "JAVA_BINARY",
Expand Down Expand Up @@ -399,7 +400,7 @@ Maven::
<!--
The distribution type.
Used to determine packager templates.
Supported values are>[`JAVA_BINARY`, `SINGLE_JAR`, `JLINK`, `NATIVE_IMAGE`, `NATIVE_PACKAGE`, `BINARY`].
Supported values are>[`JAVA_BINARY`, `SINGLE_JAR`, `JLINK`, `BINARY`, `FLAT-BINARY`, `NATIVE_PACKAGE`].
icon:exclamation-triangle[]
-->
<type>JAVA_BINARY</type>
Expand Down Expand Up @@ -571,7 +572,7 @@ jreleaser {
// The distribution type.
// Used to determine packager templates.
// Supported values are = [`JAVA_BINARY`, `SINGLE_JAR`, `JLINK`, `NATIVE_IMAGE`, `NATIVE_PACKAGE`, `BINARY`].
// Supported values are = [`JAVA_BINARY`, `SINGLE_JAR`, `JLINK`, `BINARY`, `FLAT-BINARY`, `NATIVE_PACKAGE`].
// icon:exclamation-triangle[]
distributionType = 'JAVA_BINARY'
Expand Down
1 change: 1 addition & 0 deletions docs/modules/reference/pages/packagers/appimage.adoc
Expand Up @@ -28,6 +28,7 @@ The following artifact extensions are supported by this packager:
|===
| Distribution | Supported
| xref:concepts:distributions/binary.adoc[] | {icon_req_y}
| xref:concepts:distributions/flat-binary.adoc[] | {icon_req_y}
| xref:concepts:distributions/java-binary.adoc[] | {icon_req_y}
| xref:concepts:distributions/jlink.adoc[] | {icon_req_y}
| xref:concepts:distributions/native-image.adoc[] | {icon_req_y}
Expand Down
1 change: 1 addition & 0 deletions docs/modules/reference/pages/packagers/asdf.adoc
Expand Up @@ -24,6 +24,7 @@ The following artifact extensions are supported by this packager:
|===
| Distribution | Supported
| xref:concepts:distributions/binary.adoc[] | {icon_req_y}
| xref:concepts:distributions/flat-binary.adoc[] | {icon_req_y}
| xref:concepts:distributions/java-binary.adoc[] | {icon_req_y}
| xref:concepts:distributions/jlink.adoc[] | {icon_req_y}
| xref:concepts:distributions/native-image.adoc[] | {icon_req_y}
Expand Down
1 change: 1 addition & 0 deletions docs/modules/reference/pages/packagers/chocolatey.adoc
Expand Up @@ -21,6 +21,7 @@ The following artifact extensions are supported by this packager:
|===
| Distribution | Supported
| xref:concepts:distributions/binary.adoc[] | {icon_req_y}
| xref:concepts:distributions/flat-binary.adoc[] | {icon_req_n}
| xref:concepts:distributions/java-binary.adoc[] | {icon_req_y}
| xref:concepts:distributions/jlink.adoc[] | {icon_req_y}
| xref:concepts:distributions/native-image.adoc[] | {icon_req_y}
Expand Down
1 change: 1 addition & 0 deletions docs/modules/reference/pages/packagers/docker.adoc
Expand Up @@ -20,6 +20,7 @@ The following artifact extensions are supported by this packager:
|===
| Distribution | Supported | Buildx
| xref:concepts:distributions/binary.adoc[] | {icon_req_y} | {icon_req_n}
| xref:concepts:distributions/flat-binary.adoc[] | {icon_req_y} | {icon_req_y}
| xref:concepts:distributions/java-binary.adoc[] | {icon_req_y} | {icon_req_y}
| xref:concepts:distributions/jlink.adoc[] | {icon_req_y} | {icon_req_n}
| xref:concepts:distributions/native-image.adoc[] | {icon_req_y} | {icon_req_n}
Expand Down
1 change: 1 addition & 0 deletions docs/modules/reference/pages/packagers/flatpak.adoc
Expand Up @@ -29,6 +29,7 @@ The following artifact extensions are supported by this packager:
|===
| Distribution | Supported
| xref:concepts:distributions/binary.adoc[] | {icon_req_y}
| xref:concepts:distributions/flat-binary.adoc[] | {icon_req_y}
| xref:concepts:distributions/java-binary.adoc[] | {icon_req_y}
| xref:concepts:distributions/jlink.adoc[] | {icon_req_y}
| xref:concepts:distributions/native-image.adoc[] | {icon_req_y}
Expand Down
11 changes: 6 additions & 5 deletions docs/modules/reference/pages/packagers/homebrew.adoc
Expand Up @@ -28,6 +28,7 @@ The following artifact extensions are supported by this packager for creating ca
|===
| Distribution | Supported
| xref:concepts:distributions/binary.adoc[] | {icon_req_y}
| xref:concepts:distributions/flat-binary.adoc[] | {icon_req_y}
| xref:concepts:distributions/java-binary.adoc[] | {icon_req_y}
| xref:concepts:distributions/jlink.adoc[] | {icon_req_y}
| xref:concepts:distributions/native-image.adoc[] | {icon_req_y}
Expand Down Expand Up @@ -61,7 +62,7 @@ include::partial$packagers/yaml/tap.adoc[]
formulaName: App
# Create a formula that supports OSX & Linux.
# Applicable to distributions of type [JLINK, NATIVE_IMAGE, BINARY].
# Applicable to distributions of type [`JLINK`, `BINARY`, `FLAT_BIINARY`].
# Default is `false`.
# icon:dot-circle[]
multiPlatform: false
Expand Down Expand Up @@ -163,7 +164,7 @@ include::partial$packagers/toml/tap.adoc[]
formulaName = "App"
# Create a formula that supports OSX & Linux.
# Applicable to distributions of type [JLINK, NATIVE_IMAGE, BINARY].
# Applicable to distributions of type [`JLINK`, `BINARY`, `FLAT_BIINARY`].
# Default is `false`.
# icon:dot-circle[]
multiPlatform = false
Expand Down Expand Up @@ -258,7 +259,7 @@ include::partial$packagers/json/tap.adoc[]
"formulaName": "App",
// Create a formula that supports OSX & Linux.
// Applicable to distributions of type [JLINK, NATIVE_IMAGE, BINARY].
// Applicable to distributions of type [`JLINK`, `BINARY`, `FLAT_BIINARY`].
// Default is `false`.
// icon:dot-circle[]
"multiPlatform": false,
Expand Down Expand Up @@ -371,7 +372,7 @@ include::partial$packagers/maven/tap.adoc[]
<!--
Create a formula that supports OSX & Linux.
Applicable to distributions of type [JLINK, NATIVE_IMAGE, BINARY].
Applicable to distributions of type [`JLINK`, `BINARY`, `FLAT_BIINARY`].
Default is `false`.
icon:dot-circle[]
-->
Expand Down Expand Up @@ -521,7 +522,7 @@ include::partial$packagers/gradle/tap.adoc[]
formulaName = 'App'
// Create a formula that supports OSX & Linux.
// Applicable to distributions of type [JLINK, NATIVE_IMAGE, BINARY].
// Applicable to distributions of type [`JLINK`, `BINARY`, `FLAT_BIINARY`].
// Default is `false`.
// icon:dot-circle[]
multiPlatform = false
Expand Down
1 change: 1 addition & 0 deletions docs/modules/reference/pages/packagers/jbang.adoc
Expand Up @@ -20,6 +20,7 @@ Publications of snapshots is supported, in which case executables will bear the
|===
| Distribution | Supported
| xref:concepts:distributions/binary.adoc[] | {icon_req_n}
| xref:concepts:distributions/flat-binary.adoc[] | {icon_req_n}
| xref:concepts:distributions/java-binary.adoc[] | {icon_req_y}
| xref:concepts:distributions/jlink.adoc[] | {icon_req_n}
| xref:concepts:distributions/native-image.adoc[] | {icon_req_n}
Expand Down
1 change: 1 addition & 0 deletions docs/modules/reference/pages/packagers/macports.adoc
Expand Up @@ -27,6 +27,7 @@ The following artifact extensions are supported by this packager:
|===
| Distribution | Supported
| xref:concepts:distributions/binary.adoc[] | {icon_req_y}
| xref:concepts:distributions/flat-binary.adoc[] | {icon_req_y}
| xref:concepts:distributions/java-binary.adoc[] | {icon_req_y}
| xref:concepts:distributions/jlink.adoc[] | {icon_req_y}
| xref:concepts:distributions/native-image.adoc[] | {icon_req_y}
Expand Down
1 change: 1 addition & 0 deletions docs/modules/reference/pages/packagers/scoop.adoc
Expand Up @@ -23,6 +23,7 @@ The following artifact extensions are supported by this packager:
|===
| Distribution | Supported
| xref:concepts:distributions/binary.adoc[] | {icon_req_y}
| xref:concepts:distributions/flat-binary.adoc[] | {icon_req_y}
| xref:concepts:distributions/java-binary.adoc[] | {icon_req_y}
| xref:concepts:distributions/jlink.adoc[] | {icon_req_y}
| xref:concepts:distributions/native-image.adoc[] | {icon_req_y}
Expand Down
1 change: 1 addition & 0 deletions docs/modules/reference/pages/packagers/sdkman.adoc
Expand Up @@ -16,6 +16,7 @@ The following artifact extensions are supported by this packager:
|===
| Distribution | Supported
| xref:concepts:distributions/binary.adoc[] | {icon_req_n}
| xref:concepts:distributions/flat-binary.adoc[] | {icon_req_n}
| xref:concepts:distributions/java-binary.adoc[] | {icon_req_y}
| xref:concepts:distributions/jlink.adoc[] | {icon_req_y}
| xref:concepts:distributions/native-image.adoc[] | {icon_req_y}
Expand Down
1 change: 1 addition & 0 deletions docs/modules/reference/pages/packagers/snap.adoc
Expand Up @@ -32,6 +32,7 @@ The following artifact extensions are supported by this packager:
|===
| Distribution | Supported
| xref:concepts:distributions/binary.adoc[] | {icon_req_y}
| xref:concepts:distributions/flat-binary.adoc[] | {icon_req_y}
| xref:concepts:distributions/java-binary.adoc[] | {icon_req_y}
| xref:concepts:distributions/jlink.adoc[] | {icon_req_y}
| xref:concepts:distributions/native-image.adoc[] | {icon_req_y}
Expand Down
1 change: 1 addition & 0 deletions docs/modules/reference/pages/packagers/spec.adoc
Expand Up @@ -29,6 +29,7 @@ The following artifact extensions are supported by this packager:
|===
| Distribution | Supported
| xref:concepts:distributions/binary.adoc[] | {icon_req_y}
| xref:concepts:distributions/flat-binary.adoc[] | {icon_req_y}
| xref:concepts:distributions/java-binary.adoc[] | {icon_req_y}
| xref:concepts:distributions/jlink.adoc[] | {icon_req_y}
| xref:concepts:distributions/native-image.adoc[] | {icon_req_y}
Expand Down

0 comments on commit 6484002

Please sign in to comment.