Skip to content

chore: switch to released xmi 0.7.0, drop compatibility guard - #34

Merged
ronaldtse merged 1 commit into
mainfrom
chore/xmi-0.7-released-cleanup
Aug 25, 2026
Merged

chore: switch to released xmi 0.7.0, drop compatibility guard#34
ronaldtse merged 1 commit into
mainfrom
chore/xmi-0.7-released-cleanup

Conversation

@ronaldtse

Copy link
Copy Markdown
Contributor

Summary

xmi 0.7.0 is live on RubyGems (tag v0.7.0, published today). This completes the post-release cleanup that #33 planned for in its own comments:

  • Gemfile: remove the temporary companion-branch pin (lutaml/xmi feat/nested-classifier-mapping); xmi now resolves from RubyGems in CI and for gem installs.
  • ea.gemspec: tighten xmi from >= 0.6.2 to ~> 0.7. Bundler now enforces the real floor, so silent nested-class loss is impossible on any resolvable version.
  • Delete lib/ea/xmi_guard.rb and its require in lib/ea.rb (plus its spec). The boot-time guard existed only to turn silent data loss into a loud error while 0.6.x still satisfied the loose floor; with ~> 0.7 the constraint itself does that job.

Also removes the guard's use of method_defined?, which is on this repo's banned-patterns list.

Verification

Both resolution modes tested locally:

  • EA_FORCE_RUBYGEMS=1: lock resolves xmi 0.7.0 from RubyGems, Xmi::Uml::PackagedElement#nested_classifier is defined, basic.qea export produces 130 packagedElements.
  • Sibling-path mode: full suite 2331 examples, 0 failures, 56 pending (4 guard specs removed).
  • Parity ratchet: 247 examples, 0 failures.

Test plan

xmi 0.7.0 is live on RubyGems (published today, tag v0.7.0), so the
temporary compatibility scaffolding is no longer needed:

- Gemfile: remove the companion-branch pin (feat/nested-classifier-
  mapping); xmi now resolves from RubyGems in CI and gem installs.
- ea.gemspec: tighten xmi dependency from ">= 0.6.2" to "~> 0.7".
  Bundler now enforces the real floor; no silent nested-class loss
  is possible on any resolvable version.
- Delete lib/ea/xmi_guard.rb and its require in lib/ea.rb. The
  boot-time guard existed only to turn silent data loss into a loud
  error while 0.6.x satisfied the loose floor; with "~> 0.7" the
  constraint does that job.

Verified locally in both resolution modes:
- EA_FORCE_RUBYGEMS=1: xmi 0.7.0 from RubyGems, nested_classifier
  defined, basic.qea export produces 130 packagedElements.
- Sibling-path mode: full suite 2331 examples, 0 failures (4 guard
  specs removed).
@ronaldtse
ronaldtse merged commit c8d1bdc into main Aug 25, 2026
14 checks passed
@ronaldtse
ronaldtse deleted the chore/xmi-0.7-released-cleanup branch August 25, 2026 07:32
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