Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
31 commits
Select commit Hold shift + click to select a range
e0bb7d6
issue #7547: marketplace plugin, lean client, optional Wave 1 plugins
mattcasters Jul 19, 2026
c13d65f
issue #7547: marketplace GUI and Wave 1 plugins for IT/Docker
mattcasters Jul 19, 2026
202061f
issue #7547: hop-env.yaml apply/validate and hop-run drift check
mattcasters Jul 19, 2026
6489579
issue #7547: provide Artifactory master key for local marketplace stack
mattcasters Jul 19, 2026
88b6d2c
issue #7547: add Artifactory join.key so local stack can start
mattcasters Jul 19, 2026
f44eb6c
issue #7547: run Artifactory OSS with PostgreSQL and env keys
mattcasters Jul 19, 2026
3c8a621
issue #7547: Basic auth for marketplace downloads (Artifactory 401)
mattcasters Jul 19, 2026
40d19e0
issue #7547: configure Artifactory anonymous read for marketplace ins…
mattcasters Jul 19, 2026
cbc5441
issue #7547: Artifactory OSS anonymous setup via UI (no Pro REST)
mattcasters Jul 19, 2026
f5f8a59
issue #7547: document Artifactory OSS UI-only repo/anonymous setup
mattcasters Jul 19, 2026
51bda71
issue #7547: JFrog Platform UI guide with deep links for OSS setup
mattcasters Jul 19, 2026
2c39263
issue #7547: replace JFrog local stack with Sonatype Nexus OSS
mattcasters Jul 19, 2026
14d24e1
issue #7547: fix Hop home when HOP_HOME is a relative path
mattcasters Jul 19, 2026
600c2af
issue #7547: simplify marketplace install root and add Nexus smoke test
mattcasters Jul 19, 2026
fce5953
issue #7547: ASF primary repos, marketplace repo CLI/GUI, install fal…
mattcasters Jul 19, 2026
bef7c39
issue #7547: document marketplace, release plugin zips, and size gate
mattcasters Jul 19, 2026
9f779b5
issue #7547: document hop marketplace apply/validate and hop-env.yaml
mattcasters Jul 19, 2026
4b6fea2
issue #7547: ship full-client-env.yaml from optional-plugins registry
mattcasters Jul 19, 2026
6faaa9d
issue #7547: GUI Apply/Validate for hop-env environment files
mattcasters Jul 19, 2026
9e96b96
issue #7547 : RAT
mattcasters Jul 19, 2026
b3c781e
issue #7547: move Beam SDKs to plugins/engines/beam/lib-beam
mattcasters Jul 19, 2026
2dafe91
issue #7547: add hop marketplace query for optional plugin catalog
mattcasters Jul 19, 2026
7ccdd99
issue #7547: document publishing third-party plugins to private Nexus
mattcasters Jul 19, 2026
b11d36c
issue #7547 : RAT
mattcasters Jul 19, 2026
ca1a471
issue #7547: tabbed marketplace GUI, projects integration, and docs
mattcasters Jul 20, 2026
c1c4d8e
issue #7547 : spotless
mattcasters Jul 20, 2026
0e0854a
Merge main into issue-7547
mattcasters Jul 20, 2026
8a39bd1
Merge upstream/main into issue-7547
mattcasters Jul 20, 2026
8421f12
issue #7547 : SNAPSHOT plugin zip publish path and CI confidence checks
mattcasters Jul 21, 2026
edc264b
Merge upstream/main into issue-7547
mattcasters Jul 21, 2026
d36f25e
Issue #7547 : marketplace improvements
mattcasters Jul 21, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -83,3 +83,6 @@ screenshots/
# Docker script leaving audit data
docker/local-data/
/docker/marketplace-nexus/.env

# Jenkins-style local deploy output (verify-ci-snapshot-zips.sh)
local-snapshots-dir/
11 changes: 11 additions & 0 deletions Jenkinsfile
Original file line number Diff line number Diff line change
Expand Up @@ -113,12 +113,23 @@ pipeline {
}
}
}
stage('Assembly size check') {
when {
anyOf { changeset pattern: "^(?!docs).*^(?!integration-tests).*" , comparator: "REGEXP" ; equals expected: true, actual: params.FORCE_BUILD }
}
steps {
// ASF Artifactory rejects packages over ~850MB; fail early with margin.
sh "./tools/check-assembly-size.sh"
}
}
stage('Unzip Apache Hop'){
when {
anyOf { changeset pattern: "^(?!docs).*^(?!integration-tests).*" , comparator: "REGEXP" ; equals expected: true, actual: params.FORCE_BUILD }
}
steps{
sh "unzip ./assemblies/client/target/hop-client-*.zip -d ./assemblies/client/target/"
// Optional Wave 1 plugins are marketplace-only; install into the extracted client for IT/Docker
sh "./tools/install-wave1-plugins.sh ./assemblies/client/target/hop"
sh "unzip ./assemblies/web/target/hop.war -d ./assemblies/web/target/webapp"
}
}
Expand Down
32 changes: 26 additions & 6 deletions assemblies/client/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -61,18 +61,17 @@
<version>${project.version}</version>
<type>zip</type>
</dependency>
<!-- Slim Beam-related libs only: lib/spark-client + shared lib/core extras.
Beam SDKs/runners ship with the marketplace plugin under plugins/engines/beam/lib-beam.
Use -Pbeam to bake the full Beam plugin (+ lib-beam) into hop-client (IT / fat Beam builds). -->
<dependency>
<groupId>org.apache.hop</groupId>
<artifactId>hop-engines-beam</artifactId>
<version>${project.version}</version>
<classifier>libs</classifier>
<type>zip</type>
</dependency>
<dependency>
<groupId>org.apache.hop</groupId>
<artifactId>hop-engines-spark</artifactId>
<version>${project.version}</version>
<type>zip</type>
</dependency>
<!-- hop-engines-spark is a marketplace-optional plugin (not bundled in the client). -->
<dependency>
<groupId>org.apache.hop</groupId>
<artifactId>hop-ui</artifactId>
Expand Down Expand Up @@ -144,4 +143,25 @@
</dependency>
</dependencies>

<!--
Opt-in Beam engine + SDKs in hop-client (plugins/engines/beam including lib-beam).
Analogous to HOP_SPARK_CLIENT_VERSION=native for Spark: default lean client has no Beam
runners on the classpath; use -Pbeam for IT / local full Beam installs.

./mvnw -pl assemblies/client -am package -Pbeam
-->
<profiles>
<profile>
<id>beam</id>
<dependencies>
<dependency>
<groupId>org.apache.hop</groupId>
<artifactId>hop-engines-beam</artifactId>
<version>${project.version}</version>
<type>zip</type>
</dependency>
</dependencies>
</profile>
</profiles>

</project>
3 changes: 3 additions & 0 deletions assemblies/client/src/assembly/assembly.xml
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,9 @@
<include>org.apache.hop:hop-core:zip</include>
<include>org.apache.hop:hop-engine:zip</include>
<include>org.apache.hop:hop-ui:zip</include>
<!-- Slim: spark-client + shared lib/core extras (no Beam SDKs) -->
<include>org.apache.hop:hop-engines-beam:zip:libs</include>
<!-- Full Beam plugin + lib-beam only when dependency present (-Pbeam) -->
<include>org.apache.hop:hop-engines-beam:zip</include>
<include>org.apache.hop:hop-ui-rcp:zip</include>
</includes>
Expand Down
186 changes: 28 additions & 158 deletions assemblies/plugins/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -618,12 +618,7 @@
<version>${project.version}</version>
<type>zip</type>
</dependency>
<dependency>
<groupId>org.apache.hop</groupId>
<artifactId>hop-engines-spark</artifactId>
<version>${project.version}</version>
<type>zip</type>
</dependency>
<!-- marketplace optional: hop-engines-spark -->
<dependency>
<groupId>org.apache.hop</groupId>
<artifactId>hop-misc-async</artifactId>
Expand All @@ -636,27 +631,18 @@
<version>${project.version}</version>
<type>zip</type>
</dependency>
<dependency>
<groupId>org.apache.hop</groupId>
<artifactId>hop-misc-documentation</artifactId>
<version>${project.version}</version>
<type>zip</type>
</dependency>
<!-- marketplace optional: hop-misc-documentation -->
<dependency>
<groupId>org.apache.hop</groupId>
<artifactId>hop-misc-git</artifactId>
<version>${project.version}</version>
<type>zip</type>
</dependency>
<!-- marketplace optional: hop-misc-import -->
<!-- marketplace optional: hop-misc-mail -->
<dependency>
<groupId>org.apache.hop</groupId>
<artifactId>hop-misc-import</artifactId>
<version>${project.version}</version>
<type>zip</type>
</dependency>
<dependency>
<groupId>org.apache.hop</groupId>
<artifactId>hop-misc-mail</artifactId>
<artifactId>hop-misc-marketplace</artifactId>
<version>${project.version}</version>
<type>zip</type>
</dependency>
Expand All @@ -672,18 +658,14 @@
<version>${project.version}</version>
<type>zip</type>
</dependency>
<dependency>
<groupId>org.apache.hop</groupId>
<artifactId>hop-misc-py4j</artifactId>
<version>2.19.0-SNAPSHOT</version>
<type>zip</type>
</dependency>
<!-- marketplace optional: hop-misc-py4j -->
<dependency>
<groupId>org.apache.hop</groupId>
<artifactId>hop-misc-reflection</artifactId>
<version>${project.version}</version>
<type>zip</type>
</dependency>
<!-- marketplace optional: hop-misc-rest -->
<dependency>
<groupId>org.apache.hop</groupId>
<artifactId>hop-misc-rest</artifactId>
Expand All @@ -708,97 +690,20 @@
<version>2.19.0-SNAPSHOT</version>
<type>zip</type>
</dependency>

<dependency>
<groupId>org.apache.hop</groupId>
<artifactId>hop-tech-arrow</artifactId>
<version>${project.version}</version>
<type>zip</type>
</dependency>
<dependency>
<groupId>org.apache.hop</groupId>
<artifactId>hop-tech-avro</artifactId>
<version>${project.version}</version>
<type>zip</type>
</dependency>
<dependency>
<groupId>org.apache.hop</groupId>
<artifactId>hop-tech-aws</artifactId>
<version>${project.version}</version>
<type>zip</type>
</dependency>
<dependency>
<groupId>org.apache.hop</groupId>
<artifactId>hop-tech-azure</artifactId>
<version>${project.version}</version>
<type>zip</type>
</dependency>
<dependency>
<groupId>org.apache.hop</groupId>
<artifactId>hop-tech-cassandra</artifactId>
<version>${project.version}</version>
<type>zip</type>
</dependency>
<dependency>
<groupId>org.apache.hop</groupId>
<artifactId>hop-tech-databricks</artifactId>
<version>${project.version}</version>
<type>zip</type>
</dependency>
<dependency>
<groupId>org.apache.hop</groupId>
<artifactId>hop-tech-dropbox</artifactId>
<version>${project.version}</version>
<type>zip</type>
</dependency>
<dependency>
<groupId>org.apache.hop</groupId>
<artifactId>hop-tech-elastic</artifactId>
<version>${project.version}</version>
<type>zip</type>
</dependency>
<dependency>
<groupId>org.apache.hop</groupId>
<artifactId>hop-tech-google</artifactId>
<version>${project.version}</version>
<type>zip</type>
</dependency>
<dependency>
<groupId>org.apache.hop</groupId>
<artifactId>hop-tech-minio</artifactId>
<version>${project.version}</version>
<type>zip</type>
</dependency>
<dependency>
<groupId>org.apache.hop</groupId>
<artifactId>hop-tech-mongodb</artifactId>
<version>${project.version}</version>
<type>zip</type>
</dependency>
<dependency>
<groupId>org.apache.hop</groupId>
<artifactId>hop-tech-neo4j</artifactId>
<version>${project.version}</version>
<type>zip</type>
</dependency>
<dependency>
<groupId>org.apache.hop</groupId>
<artifactId>hop-tech-opensearch</artifactId>
<version>${project.version}</version>
<type>zip</type>
</dependency>
<dependency>
<groupId>org.apache.hop</groupId>
<artifactId>hop-tech-parquet</artifactId>
<version>${project.version}</version>
<type>zip</type>
</dependency>
<dependency>
<groupId>org.apache.hop</groupId>
<artifactId>hop-tech-salesforce</artifactId>
<version>${project.version}</version>
<type>zip</type>
</dependency>
<!-- marketplace optional: hop-tech-arrow -->
<!-- marketplace optional: hop-tech-avro -->
<!-- marketplace optional: hop-tech-aws -->
<!-- marketplace optional: hop-tech-azure -->
<!-- marketplace optional: hop-tech-cassandra -->
<!-- marketplace optional: hop-tech-databricks -->
<!-- marketplace optional: hop-tech-dropbox -->
<!-- marketplace optional: hop-tech-elastic -->
<!-- marketplace optional: hop-tech-minio -->
<!-- marketplace optional: hop-tech-mongodb -->
<!-- marketplace optional: hop-tech-neo4j -->
<!-- marketplace optional: hop-tech-opensearch -->
<!-- marketplace optional: hop-tech-parquet -->
<!-- marketplace optional: hop-tech-salesforce -->
<dependency>
<groupId>org.apache.hop</groupId>
<artifactId>hop-tech-vault</artifactId>
Expand Down Expand Up @@ -1009,24 +914,14 @@
<version>${project.version}</version>
<type>zip</type>
</dependency>
<dependency>
<groupId>org.apache.hop</groupId>
<artifactId>hop-transform-drools</artifactId>
<version>${project.version}</version>
<type>zip</type>
</dependency>
<!-- marketplace optional: hop-transform-drools -->
<dependency>
<groupId>org.apache.hop</groupId>
<artifactId>hop-transform-dynamicsqlrow</artifactId>
<version>${project.version}</version>
<type>zip</type>
</dependency>
<dependency>
<groupId>org.apache.hop</groupId>
<artifactId>hop-transform-edi2xml</artifactId>
<version>${project.version}</version>
<type>zip</type>
</dependency>
<!-- marketplace optional: hop-transform-edi2xml -->
<dependency>
<groupId>org.apache.hop</groupId>
<artifactId>hop-transform-excel</artifactId>
Expand All @@ -1051,12 +946,7 @@
<version>${project.version}</version>
<type>zip</type>
</dependency>
<dependency>
<groupId>org.apache.hop</groupId>
<artifactId>hop-transform-fake</artifactId>
<version>${project.version}</version>
<type>zip</type>
</dependency>
<!-- marketplace optional: hop-transform-fake -->
<dependency>
<groupId>org.apache.hop</groupId>
<artifactId>hop-transform-fieldschangesequence</artifactId>
Expand Down Expand Up @@ -1417,12 +1307,7 @@
<version>${project.version}</version>
<type>zip</type>
</dependency>
<dependency>
<groupId>org.apache.hop</groupId>
<artifactId>hop-transform-script</artifactId>
<version>${project.version}</version>
<type>zip</type>
</dependency>
<!-- marketplace optional: hop-transform-script -->
<dependency>
<groupId>org.apache.hop</groupId>
<artifactId>hop-transform-selectvalues</artifactId>
Expand Down Expand Up @@ -1507,12 +1392,7 @@
<version>${project.version}</version>
<type>zip</type>
</dependency>
<dependency>
<groupId>org.apache.hop</groupId>
<artifactId>hop-transform-stanfordnlp</artifactId>
<version>${project.version}</version>
<type>zip</type>
</dependency>
<!-- marketplace optional: hop-transform-stanfordnlp -->
<dependency>
<groupId>org.apache.hop</groupId>
<artifactId>hop-transform-streamlookup</artifactId>
Expand Down Expand Up @@ -1591,12 +1471,7 @@
<version>${project.version}</version>
<type>zip</type>
</dependency>
<dependency>
<groupId>org.apache.hop</groupId>
<artifactId>hop-transform-tika</artifactId>
<version>${project.version}</version>
<type>zip</type>
</dependency>
<!-- marketplace optional: hop-transform-tika -->
<dependency>
<groupId>org.apache.hop</groupId>
<artifactId>hop-transform-tokenreplacement</artifactId>
Expand Down Expand Up @@ -1633,12 +1508,7 @@
<version>${project.version}</version>
<type>zip</type>
</dependency>
<dependency>
<groupId>org.apache.hop</groupId>
<artifactId>hop-transform-vcard</artifactId>
<version>${project.version}</version>
<type>zip</type>
</dependency>
<!-- marketplace optional: hop-transform-vcard -->
<dependency>
<groupId>org.apache.hop</groupId>
<artifactId>hop-transform-webserviceavailable</artifactId>
Expand Down
Loading
Loading