This is an automated email from the ASF dual-hosted git repository.
hansva pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/hop.git
The following commit(s) were added to refs/heads/main by this push:
new 544d0ff593 [RELEASE] allow the zips to be published (#7912)
544d0ff593 is described below
commit 544d0ff59388a4e714492d5ad274be63f5fb5e72
Author: Hans Van Akelyen <[email protected]>
AuthorDate: Wed Aug 12 11:10:23 2026 +0200
[RELEASE] allow the zips to be published (#7912)
---
.github/workflows/pr_build_code.yml | 4 +--
core/pom.xml | 16 ++++++++++
.../pages/apache-release/creating-a-release.adoc | 35 ++++++++++++++++++----
engine/pom.xml | 20 ++++++++++---
pom.xml | 8 +----
rcp/pom.xml | 16 ++++++++++
ui/pom.xml | 16 ++++++++++
7 files changed, 96 insertions(+), 19 deletions(-)
diff --git a/.github/workflows/pr_build_code.yml
b/.github/workflows/pr_build_code.yml
index 4089925278..84babadd89 100644
--- a/.github/workflows/pr_build_code.yml
+++ b/.github/workflows/pr_build_code.yml
@@ -54,7 +54,7 @@ jobs:
- name: Spotless check
run: mvn spotless:check
- name: Build with Maven
- run: MAVEN_OPTS="-XX:+TieredCompilation -XX:TieredStopAtLevel=1"; mvn
clean install -T 1C -B -C -e -fae -V -Dmaven.compiler.fork=true
-Dsurefire.rerunFailingTestsCount=2 -Dassemblies=false -Djacoco.skip=true
--file pom.xml
+ run: MAVEN_OPTS="-XX:+TieredCompilation -XX:TieredStopAtLevel=1"; mvn
clean install -T 1C -B -C -e -fae -V -Dmaven.compiler.fork=true
-Dsurefire.rerunFailingTestsCount=2 -Dassemblies=false -Dmodule.zips=false
-Djacoco.skip=true --file pom.xml
# Add a UI and run the UI tests only
ui-tests:
@@ -81,7 +81,7 @@ jobs:
- name: Run SWTBot UI tests under Xvfb
run: >
xvfb-run -a --server-args="-screen 0 1280x1024x24"
- mvn -B -V -Puitest -Dassemblies=false -Djacoco.skip=true package
+ mvn -B -V -Puitest -Dassemblies=false -Dmodule.zips=false
-Djacoco.skip=true package
- name: Upload SWTBot failure screenshots
if: failure()
uses: actions/upload-artifact@v4
diff --git a/core/pom.xml b/core/pom.xml
index 6db2b52853..63336a12d0 100644
--- a/core/pom.xml
+++ b/core/pom.xml
@@ -29,6 +29,7 @@
<name>Hop Core</name>
<properties>
+ <assembly_package-phase>none</assembly_package-phase>
<batik.version>1.19</batik.version>
</properties>
@@ -523,4 +524,19 @@
</plugins>
</build>
+ <profiles>
+ <profile>
+ <id>assemblies</id>
+ <activation>
+ <property>
+ <name>assemblies</name>
+ <value>!false</value>
+ </property>
+ </activation>
+ <properties>
+ <assembly_package-phase>package</assembly_package-phase>
+ </properties>
+ </profile>
+ </profiles>
+
</project>
diff --git
a/docs/hop-dev-manual/modules/ROOT/pages/apache-release/creating-a-release.adoc
b/docs/hop-dev-manual/modules/ROOT/pages/apache-release/creating-a-release.adoc
index 048d1bd96d..8963845987 100644
---
a/docs/hop-dev-manual/modules/ROOT/pages/apache-release/creating-a-release.adoc
+++
b/docs/hop-dev-manual/modules/ROOT/pages/apache-release/creating-a-release.adoc
@@ -61,12 +61,35 @@ Large / lesser-used plugins are *not* bundled in the
hop-client zip (ASF package
Each plugin module with `src/assembly/assembly.xml` builds a standalone zip
(Maven
assembly with `appendAssemblyId=false`).
-The root `maven-release-plugin` is configured with `-P=-assemblies
-DskipTests`:
-
-* **`-assemblies`** — skip the `assemblies/` reactor (hop-client / hop-web
products go to
- dist.apache.org, not Maven Central).
-* **Do not** disable the per-module **`assembly`** profile — that would drop
plugin zips
- from staging and break the marketplace.
+Two independent switches control this, and mixing them up is what breaks the
marketplace:
+
+[cols="1,3"]
+|===
+|Property |Gates
+
+|`assemblies`
+|The `assemblies/` reactor — `hop-assemblies-plugins` and the hop-client /
hop-web
+products — plus the `hop-core` / `hop-engine` / `hop-ui` / `hop-ui-rcp` zips,
which exist
+only to be unpacked into those products. None of these are staged to Maven
Central; the
+client and the source release go to dist.apache.org. The release turns this
off via
+`-P=-assemblies`, so a normal build still produces everything
`assemblies/client` needs.
+
+|`module.zips`
+|The per-module `artifactId-version.zip` attached next to each plugin jar.
This is the
+artifact the marketplace installs, so a release must **never** disable it.
+|===
+
+Net effect on a release: every plugin zip is staged, and no `hop-assemblies-*`
or
+core/engine/ui/rcp zip is.
+
+They used to share the single `assemblies` property, so one
`-Dassemblies=false` silently
+dropped every plugin zip while the build still reported `BUILD SUCCESS`. That
is why the
+zips are missing from Maven Central for 2.12.0-2.14.0 and 2.16.0-2.18.1.
+
+WARNING: Do not add `-Dassemblies=false`, `-Dmodule.zips=false` or
`-P=-assembly` to the
+release commands, and do not pass `-Darguments="..."` on the command line — it
replaces the
+`<arguments>` configured in the root pom wholesale, taking the
`-P=-assemblies` with it.
+Older versions of this guide included both; that is the bug described above.
So `release:perform` publishes both the jar and the zip under the same GAV,
for example:
diff --git a/engine/pom.xml b/engine/pom.xml
index 1d2c450598..10b57b8282 100644
--- a/engine/pom.xml
+++ b/engine/pom.xml
@@ -29,9 +29,8 @@
<name>Hop Engine</name>
<properties>
+ <assembly_package-phase>none</assembly_package-phase>
<commons-validator.version>1.10.1</commons-validator.version>
- <!-- jakarta.* API versions are managed centrally in hop-libs -->
- <!-- mina override remove when updating jaas-->
<mina.core.version>2.2.8</mina.core.version>
<snappy-java.version>1.1.10.8</snappy-java.version>
</properties>
@@ -45,13 +44,11 @@
<type>pom</type>
<scope>import</scope>
</dependency>
- <!-- mina override remove when updating jaas-->
<dependency>
<groupId>org.apache.mina</groupId>
<artifactId>mina-core</artifactId>
<version>${mina.core.version}</version>
</dependency>
- <!-- commons-validator transitives; 1.11.0+ addresses
CVE-2025-48734 -->
<dependency>
<groupId>commons-beanutils</groupId>
<artifactId>commons-beanutils</artifactId>
@@ -262,4 +259,19 @@
</plugins>
</build>
+ <profiles>
+ <profile>
+ <id>assemblies</id>
+ <activation>
+ <property>
+ <name>assemblies</name>
+ <value>!false</value>
+ </property>
+ </activation>
+ <properties>
+ <assembly_package-phase>package</assembly_package-phase>
+ </properties>
+ </profile>
+ </profiles>
+
</project>
diff --git a/pom.xml b/pom.xml
index fd9e758429..e45a034bf2 100644
--- a/pom.xml
+++ b/pom.xml
@@ -267,12 +267,6 @@
<plugin>
<artifactId>maven-release-plugin</artifactId>
<configuration>
- <!--
- Skip the assemblies/ reactor (hop-client, hop-web, … go
to dist.apache.org).
- Keep the per-module "assembly" profile so plugin modules
with
- src/assembly/assembly.xml attach marketplace-installable
zips
- (artifactId-version.zip) for repository.apache.org /
Maven Central.
- -->
<arguments>-P=-assemblies -DskipTests</arguments>
</configuration>
</plugin>
@@ -658,7 +652,7 @@
<id>assembly</id>
<activation>
<property>
- <name>assemblies</name>
+ <name>module.zips</name>
<value>!false</value>
</property>
<file>
diff --git a/rcp/pom.xml b/rcp/pom.xml
index eb8c0d029f..374e8220fa 100644
--- a/rcp/pom.xml
+++ b/rcp/pom.xml
@@ -30,6 +30,7 @@
<name>Hop GUI (RCP fragment)</name>
<properties>
+ <assembly_package-phase>none</assembly_package-phase>
<jface.text.version>3.29.0</jface.text.version>
<tm4e.core.version>0.17.2</tm4e.core.version>
</properties>
@@ -90,4 +91,19 @@
<scope>test</scope>
</dependency>
</dependencies>
+
+ <profiles>
+ <profile>
+ <id>assemblies</id>
+ <activation>
+ <property>
+ <name>assemblies</name>
+ <value>!false</value>
+ </property>
+ </activation>
+ <properties>
+ <assembly_package-phase>package</assembly_package-phase>
+ </properties>
+ </profile>
+ </profiles>
</project>
diff --git a/ui/pom.xml b/ui/pom.xml
index 5ad623ad33..27c2f6d989 100644
--- a/ui/pom.xml
+++ b/ui/pom.xml
@@ -29,6 +29,7 @@
<name>Hop GUI</name>
<properties>
+ <assembly_package-phase>none</assembly_package-phase>
<jediterm.version>3.57</jediterm.version>
<pty4j.version>0.13.12</pty4j.version>
<xmlgraphics-commons.version>2.9</xmlgraphics-commons.version>
@@ -156,4 +157,19 @@
</plugin>
</plugins>
</build>
+
+ <profiles>
+ <profile>
+ <id>assemblies</id>
+ <activation>
+ <property>
+ <name>assemblies</name>
+ <value>!false</value>
+ </property>
+ </activation>
+ <properties>
+ <assembly_package-phase>package</assembly_package-phase>
+ </properties>
+ </profile>
+ </profiles>
</project>