Skip to content

Uniformize the JMEOS build with MobilitySpark and MobilityFlink - #26

Merged
estebanzimanyi merged 1 commit into
MobilityDB:mainfrom
estebanzimanyi:tooling/uniformize-jmeos-build
Jul 28, 2026
Merged

Uniformize the JMEOS build with MobilitySpark and MobilityFlink#26
estebanzimanyi merged 1 commit into
MobilityDB:mainfrom
estebanzimanyi:tooling/uniformize-jmeos-build

Conversation

@estebanzimanyi

Copy link
Copy Markdown
Member

What

MobilityKafka builds the JMEOS jar and consumes it the same way MobilitySpark and MobilityFlink do.

Why

Spark and Flink both check out JMEOS main, build it against the provisioned catalog + libmeos, and install jar/JMEOS.jar as org.jmeos:meos:1.0. Kafka instead built the jar through its own build-jmeos.sh and depended on it as com.mobilitydb:jmeos:1.4.0 — the last divergence in how the three JVM consumers build JMEOS.

Changes

  • .github/workflows/maven.yml — checks out JMEOS, builds it against the provisioned catalog + libmeos, and installs jar/JMEOS.jar as org.jmeos:meos:1.0 (verbatim the Spark/Flink step); the tests load libmeos from /usr/local/lib.
  • pom.xml / binding/pom.xml — the binding depends on org.jmeos:meos:1.0; meos.lib.dir is /usr/local/lib (where provision-meos installs libmeos), which the surefire config exposes as LD_LIBRARY_PATH.
  • build-jmeos.sh is removed — the shared build replaces it.
  • GENERATION.md, README.md, and the benchmark doc describe the shared build.

Uniformity

After this, all three JVM consumers build JMEOS identically — check out JMEOS main, build against the provisioned catalog, install org.jmeos:meos:1.0 — differing only in their own facade projection (codegen_jvm.py --engine spark|flink|kafka).

MobilityKafka built the JMEOS jar through its own build-jmeos.sh and depended on
it as com.mobilitydb:jmeos:1.4.0, while MobilitySpark and MobilityFlink build JMEOS
main directly and install the jar as org.jmeos:meos:1.0.

Adopt the same build and coordinates: CI checks out JMEOS, builds it against the
provisioned catalog and libmeos, and installs jar/JMEOS.jar as org.jmeos:meos:1.0;
the binding depends on those coordinates; the tests load libmeos from /usr/local/lib
where provision-meos installs it. build-jmeos.sh is removed; GENERATION.md, README
and the benchmark doc describe the shared build.
@estebanzimanyi
estebanzimanyi merged commit 4abc9c5 into MobilityDB:main Jul 28, 2026
1 check passed
@estebanzimanyi
estebanzimanyi deleted the tooling/uniformize-jmeos-build branch July 28, 2026 22:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant