Skip to content

refactor: rename databind-metaschema module to databind-modules#617

Merged
david-waltermire merged 2 commits intometaschema-framework:developfrom
david-waltermire:feature/588-rename-databind-metaschema
Jan 4, 2026
Merged

refactor: rename databind-metaschema module to databind-modules#617
david-waltermire merged 2 commits intometaschema-framework:developfrom
david-waltermire:feature/588-rename-databind-metaschema

Conversation

@david-waltermire
Copy link
Contributor

@david-waltermire david-waltermire commented Jan 4, 2026

Summary

Renames the Maven module directory from databind-metaschema to databind-modules for better clarity and consistency.

Rationale

The current name databind-metaschema is confusing because:

  1. It contains Metaschema binding modules but the name implies it's a metaschema for databind
  2. databind-modules better describes the purpose - it holds the module bindings used by the databind layer

Changes

  • Rename directory databind-metaschema/ to databind-modules/
  • Update parent pom.xml module reference
  • Update .gitmodules submodule path
  • Update module pom.xml SCM URL
  • Update all documentation references (CLAUDE.md, .claude rules/skills)
  • Update PRD path references
  • Update test resource schema path

What Stays the Same

  • Maven artifact coordinates: metaschema-databind-modules (unchanged)
  • Java module name: gov.nist.secauto.metaschema.databind.modules (unchanged)
  • No relocation POM needed since artifact coordinates don't change

Test Plan

  • mvn clean install -PCI -Prelease -DskipTests - Build passes
  • mvn test - All 41 tests pass
  • Verify no remaining references to databind-metaschema

Fixes #588

Summary by CodeRabbit

  • Chores

    • Renamed a core module and updated references across build/configuration so tooling and project structure align with the new module name.
    • Added temporary ignore entries to suppress transient noise during the rename.
  • Documentation

    • Updated project docs, guides, and IDE/YAML validation references to reflect the reorganized module structure.

✏️ Tip: You can customize this high-level summary in your review settings.

…schema-framework#588)

Rename the Maven module directory from databind-metaschema to
databind-modules for better clarity. The module contains Metaschema
binding modules, not a metaschema for databind.

- Rename directory databind-metaschema/ to databind-modules/
- Update parent pom.xml module reference
- Update .gitmodules submodule path
- Update module pom.xml SCM URL
- Update all documentation references (CLAUDE.md, .claude rules/skills)
- Update PRD path references
- Update test resource schema path

Note: Maven artifact coordinates (metaschema-databind-modules) and
Java module name (gov.nist.secauto.metaschema.databind.modules)
remain unchanged - only the directory name changes.

Fixes metaschema-framework#588
@coderabbitai
Copy link

coderabbitai bot commented Jan 4, 2026

📝 Walkthrough

Walkthrough

Renamed module references from databind-metaschema to databind-modules across docs, Maven POMs, .gitmodules, and test resource YAML schema references; updated related paths and SCM/module entries. No functional code changes.

Changes

Cohort / File(s) Summary
Documentation
\.claude/rules/metaschema-authoring.md, \.claude/skills/metaschema-java-library.md, CLAUDE.md, PRDs/20251221-xmlbeans-removal/implementation-plan.md, PRDs/20251224-codegen-quality/implementation-plan.md
Updated textual module name and YAML/IDE schema path references from databind-metaschemadatabind-modules.
Maven modules & SCM
pom.xml, databind-modules/pom.xml
Replaced module entry databind-metaschemadatabind-modules in <modules> and adjusted SCM URL path.
Git submodule config
.gitmodules
Renamed submodule path/key from databind-metaschema/modulesdatabind-modules/modules.
Test resources
databind/src/test/resources/content/external-constraint.yml
Updated yaml-language-server schema reference path to point at databind-modules generated schema.
Ignore rules
.lycheeignore
Added transient ignore pattern referencing databind-modules and a comment for the module rename PR.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Possibly related PRs

Suggested reviewers

  • aj-stein
  • wandmagic

Poem

🐰 I hopped through paths, renamed each line,
From metaschema to modules — tidy and fine.
Docs and POMs gleam, submodules align,
A carrot of order, small and divine. 🥕

Pre-merge checks and finishing touches

❌ Failed checks (1 warning)
Check name Status Explanation Resolution
Linked Issues check ⚠️ Warning The PR accomplishes the core objectives of issue #588 (rename module directory, update paths/references, update pom.xml and .gitmodules) but does not implement the Maven relocation deprecation strategy specified in the issue. Create a final release of databind-metaschema with Maven relocation metadata as specified in issue #588 to provide a smooth migration path for downstream projects.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title 'refactor: rename databind-metaschema module to databind-modules' accurately describes the main change in the pull request.
Out of Scope Changes check ✅ Passed All changes in the PR are directly related to the module rename objective; no out-of-scope modifications were introduced.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment

📜 Recent review details

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between e310578 and 3ba6212.

📒 Files selected for processing (1)
  • .lycheeignore
🧰 Additional context used
🧠 Learnings (4)
📓 Common learnings
Learnt from: david-waltermire
Repo: metaschema-framework/metaschema-java PR: 567
File: metaschema-testing/src/main/java/gov/nist/secauto/metaschema/model/testing/testsuite/Metaschema.java:41-47
Timestamp: 2025-12-24T21:21:56.361Z
Learning: In metaschema-testing, generated binding classes under gov.nist.secauto.metaschema.model.testing.testsuite are produced by metaschema-maven-plugin from YAML metaschema definitions. Javadoc issues in these generated classes should not be flagged for manual fixes; improvements are tracked and handled through code generator enhancements rather than manual edits to the generated source.
Learnt from: david-waltermire
Repo: metaschema-framework/metaschema-java PR: 567
File: metaschema-testing/src/main/java/gov/nist/secauto/metaschema/model/testing/testsuite/GenerationCase.java:74-80
Timestamp: 2025-12-24T21:22:07.082Z
Learning: Files in the package gov.nist.secauto.metaschema.model.testing.testsuite in metaschema-testing are generated binding classes created from Metaschema definitions. Documentation and style improvements for these files should be made at the code generator level (metaschema-maven-plugin) rather than by manually editing the generated code.
Learnt from: david-waltermire
Repo: metaschema-framework/metaschema-java PR: 567
File: metaschema-testing/src/main/java/gov/nist/csrc/ns/metaschema/test_suite/_1_0/Metaschema.java:41-47
Timestamp: 2025-12-24T21:21:40.208Z
Learning: In metaschema-framework/metaschema-java, generated binding classes in package gov.nist.csrc.ns.metaschema.test_suite._1_0 (and similar generated binding packages) are pre-generated by metaschema-maven-plugin and checked into source control. Javadoc coverage issues in these generated classes should be tracked as code generator improvements rather than file-level issues, and improvements are deferred to generator enhancements.
Learnt from: david-waltermire
Repo: metaschema-framework/metaschema-java PR: 605
File: databind/src/main/java/gov/nist/secauto/metaschema/databind/codegen/typeinfo/DefaultMetaschemaClassFactory.java:480-484
Timestamp: 2025-12-30T04:19:49.192Z
Learning: In metaschema-framework/metaschema-java, when users configure custom superinterfaces via binding configuration, david-waltermire prefers both documentation (explaining how to add dependencies to the Maven plugin) and validation mechanisms (warnings when classes aren't on classpath) to prevent redundant IBoundObject interface additions during code generation.
Learnt from: CR
Repo: metaschema-framework/metaschema PR: 0
File: CLAUDE.md:0-0
Timestamp: 2025-12-13T21:16:12.281Z
Learning: When adding or modifying datatypes, update `schema/json/metaschema-datatypes.json`, `schema/xml/metaschema-datatypes.xsd`, and `website/content/specification/datatypes.md` in sync
Learnt from: CR
Repo: metaschema-framework/metaschema PR: 0
File: CLAUDE.md:0-0
Timestamp: 2025-12-13T21:16:12.281Z
Learning: Use semantic versioning. Version must be tracked in `package.json` and `schema/metaschema/metaschema-module-metaschema.xml`
📚 Learning: 2025-12-24T21:21:40.208Z
Learnt from: david-waltermire
Repo: metaschema-framework/metaschema-java PR: 567
File: metaschema-testing/src/main/java/gov/nist/csrc/ns/metaschema/test_suite/_1_0/Metaschema.java:41-47
Timestamp: 2025-12-24T21:21:40.208Z
Learning: In metaschema-framework/metaschema-java, generated binding classes in package gov.nist.csrc.ns.metaschema.test_suite._1_0 (and similar generated binding packages) are pre-generated by metaschema-maven-plugin and checked into source control. Javadoc coverage issues in these generated classes should be tracked as code generator improvements rather than file-level issues, and improvements are deferred to generator enhancements.

Applied to files:

  • .lycheeignore
📚 Learning: 2025-12-13T15:29:03.112Z
Learnt from: david-waltermire
Repo: metaschema-framework/liboscal-java PR: 222
File: .github/workflows/build.yml:30-32
Timestamp: 2025-12-13T15:29:03.112Z
Learning: In the liboscal-java repository, nightly builds are managed independently using GitHub Actions schedule triggers (cron), not via repository_dispatch from metaschema-java. Each repo in the metaschema-framework manages its own nightly builds.

Applied to files:

  • .lycheeignore
📚 Learning: 2025-12-30T19:08:21.896Z
Learnt from: david-waltermire
Repo: metaschema-framework/metaschema-java PR: 605
File: src/site/markdown/index.md.vm:3-3
Timestamp: 2025-12-30T19:08:21.896Z
Learning: In the metaschema-framework/metaschema-java repository, https://framework.metaschema.dev/ is the project's preferred and canonical documentation URL for the Metaschema framework. While https://pages.nist.gov/metaschema/ is an alternative, the project uses framework.metaschema.dev as the official reference in documentation and should not be changed to pages.nist.gov URLs.

Applied to files:

  • .lycheeignore
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (2)
  • GitHub Check: Website
  • GitHub Check: Code
🔇 Additional comments (1)
.lycheeignore (1)

72-73: LGTM! Transient 404 workaround is appropriate.

The addition of a temporary ignore pattern for transient 404s during the module rename is the correct approach. The pattern is specific to the new databind-modules path, and the comment clearly indicates this should be removed after the PR is merged. This is a standard practice for handling temporary link checker issues during refactoring.


Comment @coderabbitai help to get the list of available commands and usage tips.

@david-waltermire david-waltermire merged commit 648bbd1 into metaschema-framework:develop Jan 4, 2026
6 checks passed
@david-waltermire david-waltermire deleted the feature/588-rename-databind-metaschema branch January 4, 2026 14:37
@david-waltermire david-waltermire linked an issue Jan 4, 2026 that may be closed by this pull request
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.

Rename databind-metaschema module to databind-modules

1 participant