Skip to content

feat(manifest): default to Socket facts, delegate generation to Coana CLI#1352

Draft
Jeppe Fredsgaard Blaabjerg (jfblaa) wants to merge 1 commit into
v1.xfrom
jfblaa/rea-507-socket-cli-delegate-manifest-gradlescala-facts-generation-to
Draft

feat(manifest): default to Socket facts, delegate generation to Coana CLI#1352
Jeppe Fredsgaard Blaabjerg (jfblaa) wants to merge 1 commit into
v1.xfrom
jfblaa/rea-507-socket-cli-delegate-manifest-gradlescala-facts-generation-to

Conversation

@jfblaa
Copy link
Copy Markdown
Contributor

Summary

Make socket manifest {gradle,kotlin,scala,auto} emit .socket.facts.json by default and add --pom for the legacy pom.xml generation.

  • Facts generation now delegates to the Coana CLI's manifest gradle|sbt command via spawnCoanaDlx (which honors SOCKET_CLI_COANA_LOCAL_PATH). socket-cli no longer runs gradle/sbt itself for the facts path; the build-tool resolution scripts live in Coana.
  • New shared helper coana-manifest-facts.mts; convert-gradle-to-facts / convert-sbt-to-facts are now thin wrappers.
  • Default flip: facts is the default; --pom opts into pom.xml generation. --facts is still accepted (it's the default); socket.json facts: false still selects pom; passing --facts --pom together warns and generates facts. socket manifest auto flipped to match.
  • Removed the now-dead bundled socket-facts.init.gradle, the sbt plugin, their rollup copy steps, and the gradle-facts test fixtures (ported to Coana). The pom-path init.gradle is unchanged.

The resolved artifact-paths sidecar (file paths used for reachability) stays internal to Coana — socket manifest only requests the uploadable facts file.

Blocked — do not merge yet

Depends on the Coana side (REA-509) shipping the manifest commands. The currently pinned @coana-tech/cli does not have them, so this is mergeable only after:

  1. Coana publishes a release with manifest gradle|sbt, and
  2. @coana-tech/cli is bumped in this repo.

Until then it works locally via SOCKET_CLI_COANA_LOCAL_PATH.

Testing

  • check:tsc, check:lint, Biome clean; full unit suite passing (help snapshots + auto-manifest tests updated).
  • Live: socket manifest gradle (no flags) against a Gradle (Fabric Loom) test project delegates to a local Coana build and produces the expected .socket.facts.json.

Linear: REA-507 (related: REA-509)

… CLI

Make `socket manifest {gradle,kotlin,scala,auto}` emit `.socket.facts.json`
by default; add `--pom` for the legacy pom.xml generation. `--facts` is still
accepted (it is now the default) and socket.json `facts: false` still selects
pom generation.

Facts generation now delegates to the Coana CLI's `manifest gradle|sbt`
command (the Gradle init script and sbt plugin live in Coana now), forwarding
--bin/--configs/--ignore-unresolved/--gradle-opts/--sbt-opts via spawnCoanaDlx
(which honors SOCKET_CLI_COANA_LOCAL_PATH for local builds).

Remove the now-dead bundled socket-facts.init.gradle, the sbt plugin, their
rollup copy steps, and the ported gradle-facts test fixtures. The pom-path
init.gradle is unchanged.

REA-507
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

1 participant