This is an automated email from the ASF dual-hosted git repository.

mattcasters 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 2be0bd393e fixes #7748: stop Docker Hop Web COPY of removed lib-beam 
path (#7749)
2be0bd393e is described below

commit 2be0bd393ee2a28fdb7bdcb0afd8d641a2f99ba4
Author: Matt Casters <[email protected]>
AuthorDate: Sat Aug 1 20:35:03 2026 +0200

    fixes #7748: stop Docker Hop Web COPY of removed lib-beam path (#7749)
    
    After #7721/#7722 the Beam marketplace plugin unpacks SDKs into lib/core
    instead of plugins/engines/beam/lib-beam. docker/web.Dockerfile still
    unconditionally COPY'd the old path, so main CI failed at Build Hop Web
    Docker Image and never reached Deploy (blocking SNAPSHOT publish).
    
    Drop the obsolete COPY (lib/core already includes Beam when the plugin is
    installed), remove the no-op lib-beam copy from unified.Dockerfile, and
    align Hop Web / marketplace docs and comments with the current layout.
---
 assemblies/static/src/main/resources/hop                    |  5 +++--
 docker/unified.Dockerfile                                   |  3 ++-
 docker/web.Dockerfile                                       |  5 ++++-
 docs/hop-dev-manual/modules/ROOT/pages/hopweb/index.adoc    | 13 ++++++-------
 .../modules/ROOT/pages/hop-tools/hop-marketplace.adoc       |  4 ++--
 .../org/apache/hop/marketplace/optional-plugins.yaml        |  2 +-
 .../misc/marketplace/src/main/samples/hop-env.example.yaml  |  2 +-
 tools/install-wave1-plugins.sh                              |  2 +-
 8 files changed, 20 insertions(+), 16 deletions(-)

diff --git a/assemblies/static/src/main/resources/hop 
b/assemblies/static/src/main/resources/hop
index ed52c6936f..d96dd77b4c 100755
--- a/assemblies/static/src/main/resources/hop
+++ b/assemblies/static/src/main/resources/hop
@@ -108,8 +108,9 @@ if [ -n "${HOP_SPARK_CLIENT_VERSION:-}" ] && [ -d 
"lib/spark-clients/${HOP_SPARK
   CLASSPATH="${CLASSPATH}:lib/spark-clients/${HOP_SPARK_CLIENT_VERSION}/*"
 fi
 
-# Beam SDKs/runners live with the optional Beam plugin (not lib/beam).
-# Only on the system classpath when marketplace (or -Pbeam) has installed them.
+# Beam plugin jar (and any legacy lib-beam/ tree). Current marketplace 
packaging (#7721/#7722)
+# unpacks Beam SDKs into lib/core (already on CLASSPATH above); lib-beam is 
kept only for older
+# installs that still have that layout.
 if [ -d "plugins/engines/beam/lib-beam" ]; then
   CLASSPATH="${CLASSPATH}:plugins/engines/beam/lib-beam/*"
 fi
diff --git a/docker/unified.Dockerfile b/docker/unified.Dockerfile
index 037a3915e5..71effa7a45 100644
--- a/docker/unified.Dockerfile
+++ b/docker/unified.Dockerfile
@@ -243,7 +243,8 @@ RUN mkdir -p /build/hop-web-prepared/webapps/ROOT && \
     cp -r /build/assemblies/client/target/hop/config 
/build/hop-web-prepared/webapps/ROOT/ && \
     cp -r /build/assemblies/client/target/hop/plugins /build/hop-web-prepared/ 
&& \
     cp -r /build/assemblies/client/target/hop/lib/jdbc/ 
/build/hop-web-prepared/jdbc-drivers && \
-    if [ -d /build/assemblies/client/target/hop/plugins/engines/beam/lib-beam 
]; then cp -r 
/build/assemblies/client/target/hop/plugins/engines/beam/lib-beam/* 
/build/hop-web-prepared/webapps/ROOT/WEB-INF/lib/; fi && \
+    # Beam SDKs unpack under lib/core when the marketplace Beam plugin is 
installed (#7721/#7722).
+    # Legacy plugins/engines/beam/lib-beam is no longer produced; do not 
require it (apache/hop#7748).
     cp -r /build/assemblies/client/target/hop/lib/core/* 
/build/hop-web-prepared/webapps/ROOT/WEB-INF/lib/ && \
     rm /build/hop-web-prepared/webapps/ROOT/WEB-INF/lib/hop-ui-rcp* && \
     cp /build/docker/resources/run-web.sh /build/hop-web-prepared/run-web.sh 
&& \
diff --git a/docker/web.Dockerfile b/docker/web.Dockerfile
index abe4a9ae07..93a681e243 100644
--- a/docker/web.Dockerfile
+++ b/docker/web.Dockerfile
@@ -74,10 +74,13 @@ RUN groupadd -r hop -g ${HOP_GID} \
     && mkdir "${HOP_AUDIT_FOLDER}"
 
 # Copy resources
+# lib/core includes Beam SDKs when the Beam marketplace plugin is installed 
into the client
+# (e.g. tools/install-wave1-plugins.sh). Do not COPY 
plugins/engines/beam/lib-beam: that path
+# was removed in #7721 / #7722 (SDKs now unpack under lib/core). An 
unconditional COPY fails
+# docker buildx when the directory is missing (apache/hop#7748).
 COPY ./assemblies/web/target/webapp/ "${CATALINA_HOME}"/webapps/ROOT/
 COPY ./assemblies/client/target/hop/config 
"${CATALINA_HOME}"/webapps/ROOT/config
 COPY ./assemblies/client/target/hop/lib/core 
"${CATALINA_HOME}"/webapps/ROOT/WEB-INF/lib
-COPY ./assemblies/client/target/hop/plugins/engines/beam/lib-beam 
"${CATALINA_HOME}"/webapps/ROOT/WEB-INF/lib
 COPY ./assemblies/client/target/hop/plugins "${CATALINA_HOME}"/plugins
 COPY ./assemblies/client/target/hop/lib/jdbc/ "${CATALINA_HOME}"/jdbc-drivers
 COPY --chown=hop ./docker/resources/run-web.sh /tmp/
diff --git a/docs/hop-dev-manual/modules/ROOT/pages/hopweb/index.adoc 
b/docs/hop-dev-manual/modules/ROOT/pages/hopweb/index.adoc
index 5af4905ea6..cd79496385 100644
--- a/docs/hop-dev-manual/modules/ROOT/pages/hopweb/index.adoc
+++ b/docs/hop-dev-manual/modules/ROOT/pages/hopweb/index.adoc
@@ -74,22 +74,21 @@ unzip -o assemblies/client/target/hop-client-*.zip -d 
/tmp/hop-client/
 cp -r /tmp/hop-client/hop/config $CATALINA_HOME/webapps/ROOT/
 
 # Step 4: Copy core libraries
+# lib/core already includes Beam SDKs when the Beam marketplace plugin is 
installed into the
+# client (plugins/engines/beam/lib-beam is a legacy path and is no longer 
created).
 cp -r /tmp/hop-client/hop/lib/core/* $CATALINA_HOME/webapps/ROOT/WEB-INF/lib/
 
 # Step 4b: Remove RCP jar (RCP is for desktop GUI, not web)
 rm -f $CATALINA_HOME/webapps/ROOT/WEB-INF/lib/hop-ui-rcp-*.jar
 
-# Step 5: Copy beam libraries
-cp -r /tmp/hop-client/hop/plugins/engines/beam/lib-beam/* 
$CATALINA_HOME/webapps/ROOT/WEB-INF/lib/
-
-# Step 6: Copy plugins
+# Step 5: Copy plugins
 cp -r /tmp/hop-client/hop/plugins $CATALINA_HOME/
 
-# Step 7: Copy JDBC drivers
+# Step 6: Copy JDBC drivers
 mkdir -p $CATALINA_HOME/jdbc-drivers
 cp -r /tmp/hop-client/hop/lib/jdbc/* $CATALINA_HOME/jdbc-drivers/
 
-# Step 8: Cleanup
+# Step 7: Cleanup
 rm -rf /tmp/hop-client
 ----
 
@@ -200,7 +199,7 @@ sed -i '' 
's&lib/core/*&../../lib/*:WEB-INF/lib/*:lib/core/*&g' ${CATALINA_HOME}
 
 The `CLASSPATH` lines in the various scripts should look similar to the one 
below after editing: 
 
-`CLASSPATH="../../lib/*:WEB-INF/lib/*:lib/core/**:plugins/engines/beam/lib-beam/*:lib/swt/osx/arm64/*"`
+`CLASSPATH="../../lib/*:WEB-INF/lib/*:lib/core/**:lib/swt/osx/arm64/*"`
 
 Once the classpaths have been updated, make sure to make the scripts 
executable: 
 
diff --git 
a/docs/hop-user-manual/modules/ROOT/pages/hop-tools/hop-marketplace.adoc 
b/docs/hop-user-manual/modules/ROOT/pages/hop-tools/hop-marketplace.adoc
index f80049a632..e22f7be2a1 100644
--- a/docs/hop-user-manual/modules/ROOT/pages/hop-tools/hop-marketplace.adoc
+++ b/docs/hop-user-manual/modules/ROOT/pages/hop-tools/hop-marketplace.adoc
@@ -46,7 +46,7 @@ cd /path/to/hop
 * Do *NOT* pass `--prune` unless you also want other marketplace installs 
removed.
 * `full-client-env.yaml` is generated at build time from marketplace plugin 
source file `optional-plugins.yaml` (source of truth).
 
-Beam SDKs/runners live under `plugins/engines/beam/lib-beam` (installed with 
the Beam plugin), not under `lib/beam`. Launch scripts add that folder to the 
classpath only when it exists. Developers who want Beam baked into a local 
hop-client build can use Maven profile `-Pbeam` (for example `./mvnw -pl 
assemblies/client -am package -Pbeam`).
+Beam SDKs/runners install with the Beam marketplace plugin into top-level 
`lib/core` (and Spark client jars into `lib/spark-client`). The older 
`plugins/engines/beam/lib-beam` layout is no longer produced. Developers who 
want Beam baked into a local hop-client build can use Maven profile `-Pbeam` 
(for example `./mvnw -pl assemblies/client -am package -Pbeam`).
 
 == Defaults
 
@@ -364,7 +364,7 @@ plugins:
   - groupId: org.apache.hop    # optional; default org.apache.hop
     artifactId: hop-engines-spark
     version: "2.19.0"
-  # Beam engine plugin only (Beam SDKs ship under 
plugins/engines/beam/lib-beam with the plugin):
+  # Beam engine plugin only (Beam SDKs unpack into lib/core with the plugin):
   # - artifactId: hop-engines-beam
   #   version: "2.19.0"
 
diff --git 
a/plugins/misc/marketplace/src/main/resources/org/apache/hop/marketplace/optional-plugins.yaml
 
b/plugins/misc/marketplace/src/main/resources/org/apache/hop/marketplace/optional-plugins.yaml
index d38681230d..4c4c8fd68b 100644
--- 
a/plugins/misc/marketplace/src/main/resources/org/apache/hop/marketplace/optional-plugins.yaml
+++ 
b/plugins/misc/marketplace/src/main/resources/org/apache/hop/marketplace/optional-plugins.yaml
@@ -32,7 +32,7 @@ plugins:
   - artifactId: hop-engines-beam
     name: Apache Beam engine
     category: Engines
-    description: Beam pipeline engine and transforms; SDKs under 
plugins/engines/beam/lib-beam.
+    description: Beam pipeline engine and transforms; SDKs unpack into 
lib/core with the plugin.
     installPath: plugins/engines/beam
     modulePath: plugins/engines/beam
   #
diff --git a/plugins/misc/marketplace/src/main/samples/hop-env.example.yaml 
b/plugins/misc/marketplace/src/main/samples/hop-env.example.yaml
index 740c04ff62..9d66611fc0 100644
--- a/plugins/misc/marketplace/src/main/samples/hop-env.example.yaml
+++ b/plugins/misc/marketplace/src/main/samples/hop-env.example.yaml
@@ -42,7 +42,7 @@ plugins:
     version: "2.19.0-SNAPSHOT"
   - artifactId: hop-engines-spark
     version: "2.19.0-SNAPSHOT"
-  # Beam engine plugin only (Beam SDKs ship under 
plugins/engines/beam/lib-beam with the plugin):
+  # Beam engine plugin only (Beam SDKs unpack into lib/core with the plugin):
   # - artifactId: hop-engines-beam
   #   version: "2.19.0-SNAPSHOT"
 
diff --git a/tools/install-wave1-plugins.sh b/tools/install-wave1-plugins.sh
index 56869a781e..2e258232ec 100755
--- a/tools/install-wave1-plugins.sh
+++ b/tools/install-wave1-plugins.sh
@@ -67,4 +67,4 @@ for entry in ${PLUGINS[@]+"${PLUGINS[@]}"}; do
 done
 
 echo "Marketplace plugins: installed=${installed} skipped=${skipped} into 
${INSTALL_DIR}"
-# Note: beam plugin zip includes lib-beam (Beam SDKs).
+# Note: the Beam plugin zip unpacks SDKs into lib/core (and Spark client jars 
into lib/spark-client).

Reply via email to