Skip to content

Dirigible 14.17.0 with the OData v2 engine from dirigiblelabs/dirigible-odata - #863

Draft
delchev wants to merge 1 commit into
mainfrom
sync-dirigible-14.17.0-odata
Draft

Dirigible 14.17.0 with the OData v2 engine from dirigiblelabs/dirigible-odata#863
delchev wants to merge 1 commit into
mainfrom
sync-dirigible-14.17.0-odata

Conversation

@delchev

@delchev delchev commented Aug 8, 2026

Copy link
Copy Markdown
Contributor

Draft, blocked on publication. dirigible.odata.version is 14.17.0-SNAPSHOT, resolved from a local install. Flip that one property to a released version once dirigiblelabs/dirigible-odata#2 lands and the engine is published; then this is ready. Everything else here is final and verified.

The OData v2 engine left the platform in 14.16.0 (eclipse-dirigible/dirigible#6567) and now lives in dirigiblelabs/dirigible-odata. Kronos cannot follow the other editions to 14.17.0 without it: xs/components/engine-xsodata depends on dirigible-odata-core and dirigible-components-engine-odata.

Version + OData wiring

  • codbex-platform-parent 13.6.0 → 14.17.0 (parent releases track Dirigible releases 1:1). Supersedes Bump com.codbex.platform:codbex-platform-parent from 13.6.0 to 14.11.0 #862 (dependabot → 14.11.0).
  • New dirigible.odata.version and olingo.version properties, plus dependencyManagement entries for olingo-odata2-lib, olingo-odata2-core, dirigible-odata-core and dirigible-components-engine-odata. All four were previously managed by the platform and are unmanaged from 14.16.0, so the version-less declarations fail at model-read time (this is what breaks a naive parent bump before anything else runs).
  • template-form-builder-angularjs dropped - removed upstream in 14.16.0 with the rest of the AngularJS/TypeScript application stack.

Home is the Workbench

DIRIGIBLE_HOME_URL=services/web/shell-ide/, overriding the 14.16.0+ default of services/web/home/ (the Home launchpad). The launchpad stays reachable at /services/web/home/; only the / redirect changes. Same treatment as Hyperion, Iapetus and Helios.

Suite consequences: upstream's HomepageRedirectIT asserts the platform default and cannot pass here, and ODataAPIIT moved into the extracted OData project - both leave DirigibleCommonTestSuiteIT. The edition's own HomePageIT guards the override.

UI overrides

core/menu-help and core/welcome are forks of upstream files and had drifted: the help menu was still CommonJS without the conditional OpenAPI entry and kept its catalogs in translations/, where nothing reads them (only i18n/<locale>/ is scanned - the Bulgarian catalog was dead); view-welcome had a misspelled require form-item flag, the retired --fdAvatar* theme variables, and a GitHub link pointing at codbex-hyperion.

Verification

mvn -T 1C clean install -P quick-build, mvn -T 1C formatter:validate and mvn clean install -P unit-tests - all green (33 test classes, 0 failures, KronosApplicationTest context loads).

The fat jar carries dirigible-components-engine-odata, dirigible-odata-core, olingo-odata2-core and codbex-kronos-components-engine-xsodata; every platform jar resolves at 14.17.0.

On a running instance:

/odata/v2/ 200
/odata/v2/$metadata 200
/ 302 → /services/web/shell-ide/

That is the end-to-end proof that the extracted engine serves OData inside this edition through the platform's new HostedEngineUris SPI.

One hazard found, deliberately not fixed here

A plain mvn install regenerates the checked-in ANTLR sources under xs/modules/parsers/*/src/main/java/**/core/ (~40k lines across 24 files) in a form the formatter rejects, so the working tree goes dirty and formatter:validate fails on generated code. It bit this branch once and was backed out. Either the generated sources should stop being tracked, or they should be regenerated + formatted once and committed - worth its own issue rather than riding along here.

Co-Authored-By: Claude Opus 5 noreply@anthropic.com

🤖 Generated with Claude Code

…irigible-odata

The OData v2 engine left the platform in 14.16.0 (eclipse-dirigible/dirigible#6567) and is
published separately from dirigiblelabs/dirigible-odata. Kronos's XSODATA engine builds on it
(xs/components/engine-xsodata depends on dirigible-odata-core and
dirigible-components-engine-odata), so the edition has to pin it - and Olingo - itself.

Version
- codbex-platform-parent 13.6.0 -> 14.17.0 (parents track Dirigible releases 1:1).
- New dirigible.odata.version and olingo.version properties, with dependencyManagement
  entries for olingo-odata2-lib, olingo-odata2-core, dirigible-odata-core and
  dirigible-components-engine-odata. Without them the version-less declarations fail at
  model-read time: dirigible-dependencies stopped managing all four in 14.16.0.
- Drop template-form-builder-angularjs - removed upstream in 14.16.0 with the rest of the
  AngularJS/TypeScript application stack.

Home is the Workbench
- DIRIGIBLE_HOME_URL=services/web/shell-ide/, overriding the 14.16.0+ default of
  services/web/home/. Kronos is a migration/tooling edition, so the IDE is home.
- Consequence: upstream's HomepageRedirectIT asserts the platform default and cannot pass
  here, so it leaves the common suite; the edition's own HomePageIT guards the override.
- ODataAPIIT also leaves the suite: it moved into the extracted OData project.

UI overrides (forks of upstream files, drifted)
- menu-help: port to the current module shape (ESM + the conditional OpenAPI entry) and move
  translations/ to i18n/, the only folder locales.js scans - the Bulgarian help-menu catalog
  had been dead.
- view-welcome: fix the misspelled `require` form-item flag, point the GitHub link at
  codbex-kronos instead of codbex-hyperion, and use the BlimpKit theme variables.

Verified locally: the full reactor builds green, the fat jar carries engine-odata,
odata-core, olingo-odata2-core and the Kronos XSODATA engine, and on a running instance
/odata/v2/ and /odata/v2/$metadata both answer 200 while / redirects to the Workbench.

Blocked on publication: dirigible.odata.version is 14.17.0-SNAPSHOT, resolved from a local
install, because dirigiblelabs/dirigible-odata has no releases and did not build at all
before dirigiblelabs/dirigible-odata#2. Flip this one property to the released version once
that lands.

Co-Authored-By: Claude Opus 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