Repository navigation
Add Cursor Cloud Agent environment (JDK 17 + Maven prefetch) - #383
Conversation
Pin JDK 17 and the repo Maven wrapper (3.9.6), prefetch the full reactor dependencies in install.sh, keep start.sh to a pom-hash stale warning, and document the layout in AGENTS.md. Co-authored-by: richard.e.jose <richard.e.jose@gmail.com>
Code Coverage Report
|
deweyjose
left a comment
There was a problem hiding this comment.
Summary
Purely additive Cloud-Agent infrastructure: four new .cursor/ files (Dockerfile, environment.json, install.sh, start.sh) plus a new "Cloud Agent environment" section in AGENTS.md. No Java, no pom.xml, no @Parameter, and no dependency changes. The scripts pin JDK 17 + Maven 3.9.6 (via ./mvnw), prefetch the reactor into ~/.m2 at environment-build time, and fingerprint the reactor POMs + wrapper so start.sh can warn on drift. Both scripts use set -euo pipefail and prefer the Java 17 home defensively.
Build result
Ran against the PR head (eee1eae):
./mvnw -B -ntp verify spotless:check -pl graphqlcodegen-maven-plugin→ BUILD SUCCESS- Tests: 68 run, 0 failures, 0 errors, 2 skipped
- Spotless: 29 files clean, 0 need changes
bash -nsyntax check: bothinstall.shandstart.shOK
(Note: this is a push-triggered repo; I built it myself rather than trusting checks. The initial wrapper download hit a transient Maven Central 429 and succeeded on retry — not a PR issue.)
Wiring completeness
N/A — this PR exposes no new codegen option, so there's no Codegen.java → CodegenConfigProvider → CodegenExecutor → CodeGenConfigBuilder → test → README chain to verify.
Backwards compatibility
Not breaking. Checked against every gate criterion: no @Parameter removed/renamed/retyped, no default changed, no generated-output change, no Java/Maven-minimum or goal/phase change, and no generation-path (or any) dependency bump — the PR touches zero pom.xml files. The Dockerfile's JDK 17 / Maven 3.9.6 pins match the existing java.version and wrapper pin rather than changing them.
Risks
- Low overall. The only coupling worth noting is the POM-fingerprint computation, which bakes
./-prefixed relative paths into the digest (see inline note on.cursor/install.sh:66); it works correctly today becauseinstall.shandstart.shcompute it identically from the sameROOT. install.sh/start.shrun only in the Cursor Cloud Agent environment — they are not on any build, test, or release path, so they cannot affect the published plugin or consumers.
Verdict
COMMENT. The change is clean, non-breaking, and builds green, with one cosmetic inline nit. I'm not approving/merging because this is an owner-authored (non-Dependabot) PR, which my review mandate treats as review-only — the merge decision is yours.
Generated by Claude Code
sha256sum now runs on ${f#./} in install.sh and start.sh so the path
column (and nested digest) is stable when find emits ./prefixed paths.
Co-authored-by: richard.e.jose <richard.e.jose@gmail.com>
Summary
Adds a repository-owned Cursor Cloud Agent environment modeled on the lumigraph cloud-env pattern (Dockerfile + install/start split), adapted for this Maven multi-module reactor.
What landed
.cursor/Dockerfile./mvnw).cursor/environment.jsoninstall/start.cursor/install.sh./mvnw -B -ntp dependency:go-offline+dependency:resolve-plugins; records a pom/wrapper SHA-256 fingerprint.cursor/start.shAGENTS.mdPins
java.version/ CI (actions/setup-javaTemurin 17).mvn/wrapper/maven-wrapper.properties(wrapperVersion=3.3.4)./mvnw— never a systemmvnValidation (this agent)
bash .cursor/install.shsucceeded twice (idempotent)bash -l .cursor/start.shhash-match + stale-hash warning paths exercised./mvnw -B -ntp verify -pl graphqlcodegen-maven-plugin— BUILD SUCCESSbld-20261101-e9bf201a-dff5-4606-b07c-c30cfa16e179SUCCEEDED (install exit 0; Java 17 + Maven 3.9.6)Review nit on path stripping addressed in
2a06c5d(sha256sum "${f#./}"in both scripts).No credentials are baked into the image or scripts.
After merge
Point the Cloud Agent environment at
.cursor/environment.json(or Save a dashboard config whoseinstall/startinvoke these scripts) so builds snapshot the warmed~/.m2and cut spin-up time. A promotable dashboard build must use default-branch refs (after this PR merges).