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>

Reply via email to