Skip to content

REPL.4: default install = self-contained -all bundle (installer rework + bundle provenance disclosure) - #167

Draft
fupelaqu wants to merge 1 commit into
mainfrom
feature/REPL.4
Draft

REPL.4: default install = self-contained -all bundle (installer rework + bundle provenance disclosure)#167
fupelaqu wants to merge 1 commit into
mainfrom
feature/REPL.4

Conversation

@fupelaqu

@fupelaqu fupelaqu commented Jul 30, 2026

Copy link
Copy Markdown
Contributor

Story REPL.4 (epic REPL Hardening) — elasticsql side

The -all bundles themselves are built by the private softclient4es-repl BOM/packaging repo (companion PR there). This PR reworks the installer and adds the core provenance-disclosure surface.

install.sh

  • Dual artifact names: plain softclient4es{N}-cli (pure Apache-2.0) vs softclient4es{N}-cli-all (self-contained bundle, its OWN version line)
  • --list-versions / latest-resolution follow the artifact actually downloaded (bundle listing by default, plain under --no-extensions/fallbacks)
  • Bundle-selection block sets USE_BUNDLE; graceful fallbacks (no bundle published, engine-only -v, Java < 11, probe_url miss) → plain artifact + coursier extensions path, byte-identical legacy behavior incl. pre-0.20 community 0.1.x rule
  • Bundled installs skip coursier entirely; AC-4b licence notice on every path (never labeled "open source")
  • set -e hardening: empty listings no longer abort the installer (review finding, patched + live-tested)

core (Repl)

  • NEW BundleInfo: reads softclient4es-bundle-info.properties (stamped by -all bundles); property-key contract shared with the bundle build + BundleMain shim
  • Welcome banner discloses bundle provenance (fixed-width formatLigne line); new version meta-command in both dispatchers; 8 unit tests

docs

  • documentation/client/repl.md: dual-artifact + combined-licence + bundle-version-line + issue-tracker front door (MDX mirror to softclient4es-web = PD-5 companion follow-up, not a merge blocker)

Notes

Refs #163 (fix 4: -all bundle installer)

🤖 Generated with Claude Code

Part of epic #169 (REPL Hardening). Discovered during the bundle E2E smoke: #168 (es6 client closure excludes all log4j — plain es6 cli 0.20.1 broken; fix to ride 0.20.2).

…e; bundle provenance disclosure

Story REPL.4 (epic REPL Hardening) — elasticsql side of the -all bundle design
(the bundles themselves are built by the private softclient4es-repl BOM repo):

- install.sh: dual artifact names (plain cli / cli-all); version listing and
  latest-resolution follow the artifact actually downloaded (the -all bundle has
  its own version line); bundle-selection block sets USE_BUNDLE with graceful
  fallback to the plain artifact + coursier extensions path (no bundle published,
  engine-only -v, Java < 11, unreachable artifact via probe_url); bundled
  installs skip dependency resolution entirely; AC-4b licence notice on every
  path (bundle = Apache-2.0 engine + ELv2 extensions + proprietary JOIN engine,
  free to use — never labeled open source); bundle-aware VERSION file, summary
  and help; legacy pre-0.20 community 0.1.x path untouched
- set -e hardening: empty bundle listings (grep -v on no lines) no longer abort
  the installer — they fall back as designed
- core: new BundleInfo reads softclient4es-bundle-info.properties from the
  classpath (stamped by the -all bundles); welcome banner discloses bundle
  provenance via a fixed-width formatLigne line; new 'version' meta-command in
  both dispatchers prints engine + bundle/extension versions; 8 unit tests
  (resource injected via test ClassLoader)
- documentation/client/repl.md: dual-artifact, combined-licence, bundle version
  line and issue-tracker front-door sections
- version bump 0.20.1 -> 0.20.2-SNAPSHOT (shared REPL.x line; the same-line bump
  in sibling REPL PRs is an expected trivial conflict)

Refs #163 (fix 4: -all bundle installer)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
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