Resolve Gumbo from JitPack instead of a hand-built local install - #21
Open
contrasam wants to merge 1 commit into
Open
Resolve Gumbo from JitPack instead of a hand-built local install#21contrasam wants to merge 1 commit into
contrasam wants to merge 1 commit into
Conversation
Catalyst depended on com.cajunsystems:gumbo, which is the coordinate Gumbo's
own pom declares and not the one anybody can actually fetch. JitPack rewrites
the groupId to com.github.{owner} when it publishes, so the same jar is
com.github.CajunSystems:gumbo once it leaves the build that made it. The
practical consequence is that this build resolved only on a machine where
someone had run `mvn install` on a Gumbo checkout by hand, and failed
everywhere else — including on a clean clone — with a message that points at
Maven Central rather than at the actual cause:
Could not find artifact com.cajunsystems:gumbo:jar:0.3.0 in central
That was measured here, not inferred: the build fails that way before this
change, and after it Maven downloads
com/github/CajunSystems/gumbo/0.3.0/gumbo-0.3.0.jar from jitpack.io and the
full reactor compiles — 11 modules SUCCESS, catalyst-gumbo's own tests 9/9,
with nothing installed locally.
The comment this replaces said jitpack.io was blocked by egress policy and
that Gumbo therefore had to come from the local repository. That was true of
one sandboxed environment, not of the delivery mechanism, and it had hardened
into a property of the build. jitpack.io answers normally from a machine with
ordinary network access. The new comment explains why two coordinates exist
at all, so the next reader does not "correct" this back to the one in Gumbo's
pom.
Version stays 0.3.0. Gumbo 0.4.0 is cut but not yet tagged, so it is not on
JitPack; bumping is a separate change once it is.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Greptile SummaryThis PR makes Gumbo publicly resolvable through JitPack.
Confidence Score: 3/5The incompatible documented fallback for JitPack-blocked environments should be corrected before merging. A local Gumbo build installs com.cajunsystems:gumbo, but Catalyst now requires com.github.CajunSystems:gumbo, so users following the existing egress-restricted build instructions still receive a dependency-resolution failure. Files Needing Attention: pom.xml, catalyst-gumbo/pom.xml, README.md, and CLAUDE.md Important Files Changed
Reviews (1): Last reviewed commit: "Resolve Gumbo from JitPack instead of a ..." | Re-trigger Greptile |
| </dependency> | ||
| <dependency> | ||
| <groupId>com.cajunsystems</groupId> | ||
| <groupId>com.github.CajunSystems</groupId> |
There was a problem hiding this comment.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Catalyst depended on
com.cajunsystems:gumbo— the coordinate Gumbo's own pom declares, and not one anybody can fetch. JitPack rewrites the groupId tocom.github.{owner}when it publishes, so the same jar iscom.github.CajunSystems:gumboonce it leaves the build that made it.The practical consequence: this build resolved only on a machine where someone had run
mvn installon a Gumbo checkout by hand, and failed everywhere else with a message that points at Maven Central rather than at the cause.Measured, not inferred
From a machine with ordinary network access, before and after:
Nothing was installed locally for the second run. Other modules' suites also pass on the way through — events 18, core 53, runtime 63, agent 15.
What changed
pom.xml— added thejitpack.iorepository; managedgumbodependency switched tocom.github.CajunSystemscatalyst-gumbo/pom.xml— same groupIdVersion stays 0.3.0 — Gumbo 0.4.0 is cut but not yet tagged, so it isn't on JitPack. Bumping is a separate change once it is.
Two things for the reviewer
1. The CI bootstrap step is now redundant, and I could not include its removal.
.github/workflows/ci.ymlclones Gumbo at the pinned tag andmvn installs it before building. That installscom.cajunsystems:gumbo, which nothing references after this change, so the step costs a clone and a build per run and its comment is stale. Removing it is the natural follow-up — I can't push workflow files with the token I have (refusing to allow an OAuth App to create or update workflow ... without workflow scope), so it isn't in this PR.2. It trades one dependency for another, and that's a real call. The clone-and-install step exists to keep CI deterministic and independent of JitPack availability. Switching coordinates means CI resolves from jitpack.io — a third-party service — on a cache miss;
cache: mavenis already configured, so it's hit rarely, but it is a new external dependency for the build.If you'd rather CI not depend on JitPack at all, the alternative is to publish Gumbo under its declared
com.cajunsystemscoordinate to Maven Central or GitHub Packages. Then the pom's coordinate is the resolvable one, this PR becomes unnecessary, and the ambiguity ends rather than being documented. That's more work and it belongs in Gumbo, not here.Unrelated, noticed while verifying
catalyst-toolsfails 4 tests on macOS —SecureDirectoryStream is unavailable on this platform; refusing plain-path traversal ...fromFilesystemTool. That module has no Gumbo dependency and compiles fine; the failure predates this change and reproduces without it. Worth its own issue: on macOS those tests can't pass as written unless they opt intoallowInsecureFallback.🤖 Generated with Claude Code