From 6484002438d9bb1fbcd11bee2ce867224c9e22e7 Mon Sep 17 00:00:00 2001 From: Andres Almiray Date: Mon, 26 Dec 2022 17:45:52 -0600 Subject: [PATCH] Document https://github.com/jreleaser/jreleaser/issues/1115 --- docs/modules/concepts/nav.adoc | 1 + .../pages/distributions/flat-binary.adoc | 47 +++++++++++++++++++ .../reference/pages/assemble/archive.adoc | 10 ++-- .../reference/pages/distributions.adoc | 11 +++-- .../reference/pages/packagers/appimage.adoc | 1 + .../reference/pages/packagers/asdf.adoc | 1 + .../reference/pages/packagers/chocolatey.adoc | 1 + .../reference/pages/packagers/docker.adoc | 1 + .../reference/pages/packagers/flatpak.adoc | 1 + .../reference/pages/packagers/homebrew.adoc | 11 +++-- .../reference/pages/packagers/jbang.adoc | 1 + .../reference/pages/packagers/macports.adoc | 1 + .../reference/pages/packagers/scoop.adoc | 1 + .../reference/pages/packagers/sdkman.adoc | 1 + .../reference/pages/packagers/snap.adoc | 1 + .../reference/pages/packagers/spec.adoc | 1 + 16 files changed, 76 insertions(+), 15 deletions(-) create mode 100644 docs/modules/concepts/pages/distributions/flat-binary.adoc diff --git a/docs/modules/concepts/nav.adoc b/docs/modules/concepts/nav.adoc index 152527b54..c89f5fb66 100644 --- a/docs/modules/concepts/nav.adoc +++ b/docs/modules/concepts/nav.adoc @@ -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[] diff --git a/docs/modules/concepts/pages/distributions/flat-binary.adoc b/docs/modules/concepts/pages/distributions/flat-binary.adoc new file mode 100644 index 000000000..c41721ecc --- /dev/null +++ b/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 +---- diff --git a/docs/modules/reference/pages/assemble/archive.adoc b/docs/modules/reference/pages/assemble/archive.adoc index 0a6616ed7..40ebbb1b9 100644 --- a/docs/modules/reference/pages/assemble/archive.adoc +++ b/docs/modules/reference/pages/assemble/archive.adoc @@ -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 @@ -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" @@ -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", @@ -132,7 +132,7 @@ include::partial$assemble/maven/common-head.adoc[] @@ -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' diff --git a/docs/modules/reference/pages/distributions.adoc b/docs/modules/reference/pages/distributions.adoc index 6176f9afc..d3dcb8915 100644 --- a/docs/modules/reference/pages/distributions.adoc +++ b/docs/modules/reference/pages/distributions.adoc @@ -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[] @@ -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 @@ -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" @@ -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", @@ -399,7 +400,7 @@ Maven:: JAVA_BINARY @@ -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' diff --git a/docs/modules/reference/pages/packagers/appimage.adoc b/docs/modules/reference/pages/packagers/appimage.adoc index b461f7b93..e878eceee 100644 --- a/docs/modules/reference/pages/packagers/appimage.adoc +++ b/docs/modules/reference/pages/packagers/appimage.adoc @@ -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} diff --git a/docs/modules/reference/pages/packagers/asdf.adoc b/docs/modules/reference/pages/packagers/asdf.adoc index 91e6c9f11..a5de437be 100644 --- a/docs/modules/reference/pages/packagers/asdf.adoc +++ b/docs/modules/reference/pages/packagers/asdf.adoc @@ -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} diff --git a/docs/modules/reference/pages/packagers/chocolatey.adoc b/docs/modules/reference/pages/packagers/chocolatey.adoc index fd514814b..49dac91f0 100644 --- a/docs/modules/reference/pages/packagers/chocolatey.adoc +++ b/docs/modules/reference/pages/packagers/chocolatey.adoc @@ -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} diff --git a/docs/modules/reference/pages/packagers/docker.adoc b/docs/modules/reference/pages/packagers/docker.adoc index 4b09b393e..e14f80da7 100644 --- a/docs/modules/reference/pages/packagers/docker.adoc +++ b/docs/modules/reference/pages/packagers/docker.adoc @@ -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} diff --git a/docs/modules/reference/pages/packagers/flatpak.adoc b/docs/modules/reference/pages/packagers/flatpak.adoc index 96b7d9649..d2035cdcc 100644 --- a/docs/modules/reference/pages/packagers/flatpak.adoc +++ b/docs/modules/reference/pages/packagers/flatpak.adoc @@ -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} diff --git a/docs/modules/reference/pages/packagers/homebrew.adoc b/docs/modules/reference/pages/packagers/homebrew.adoc index a78df618f..8a20c7678 100644 --- a/docs/modules/reference/pages/packagers/homebrew.adoc +++ b/docs/modules/reference/pages/packagers/homebrew.adoc @@ -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} @@ -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 @@ -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 @@ -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, @@ -371,7 +372,7 @@ include::partial$packagers/maven/tap.adoc[] @@ -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 diff --git a/docs/modules/reference/pages/packagers/jbang.adoc b/docs/modules/reference/pages/packagers/jbang.adoc index e8d618bde..587b35268 100644 --- a/docs/modules/reference/pages/packagers/jbang.adoc +++ b/docs/modules/reference/pages/packagers/jbang.adoc @@ -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} diff --git a/docs/modules/reference/pages/packagers/macports.adoc b/docs/modules/reference/pages/packagers/macports.adoc index 1ec2b50ce..d6187201d 100644 --- a/docs/modules/reference/pages/packagers/macports.adoc +++ b/docs/modules/reference/pages/packagers/macports.adoc @@ -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} diff --git a/docs/modules/reference/pages/packagers/scoop.adoc b/docs/modules/reference/pages/packagers/scoop.adoc index ab5393b7e..cf9f84466 100644 --- a/docs/modules/reference/pages/packagers/scoop.adoc +++ b/docs/modules/reference/pages/packagers/scoop.adoc @@ -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} diff --git a/docs/modules/reference/pages/packagers/sdkman.adoc b/docs/modules/reference/pages/packagers/sdkman.adoc index f0e159403..ce197357f 100644 --- a/docs/modules/reference/pages/packagers/sdkman.adoc +++ b/docs/modules/reference/pages/packagers/sdkman.adoc @@ -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} diff --git a/docs/modules/reference/pages/packagers/snap.adoc b/docs/modules/reference/pages/packagers/snap.adoc index 9b682dcd1..27b2b8c56 100644 --- a/docs/modules/reference/pages/packagers/snap.adoc +++ b/docs/modules/reference/pages/packagers/snap.adoc @@ -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} diff --git a/docs/modules/reference/pages/packagers/spec.adoc b/docs/modules/reference/pages/packagers/spec.adoc index 2ac2f1472..9dc9461bd 100644 --- a/docs/modules/reference/pages/packagers/spec.adoc +++ b/docs/modules/reference/pages/packagers/spec.adoc @@ -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}