Migrate to dev.metaschema namespace (breaking change)#219
Conversation
Document the --no-color flag for users on legacy consoles that do not support ANSI escape codes. This includes older Windows cmd.exe, certain CI/CD environments, or when redirecting output to files. Updated both: - README.md (main documentation) - src/main/distro/README.txt (bundled with CLI distribution)
…s/no-color-usage docs: add --no-color usage documentation for legacy consoles
📝 WalkthroughWalkthroughThis PR renames Java packages from Changes
Sequence Diagram(s)(omitted — changes are package/manifest refactors and minor utility swap; no new multi-component control flow introduced) Estimated code review effort🎯 3 (Moderate) | ⏱️ ~25 minutes Possibly related issues
Possibly related PRs
Poem
Pre-merge checks and finishing touches❌ Failed checks (1 warning)
✅ Passed checks (2 passed)
✨ Finishing touches
🧪 Generate unit tests (beta)
Comment |
BREAKING CHANGE: This is a major version bump (v3.0.0) that migrates all Java packages to align with upstream metaschema-java and liboscal-java namespace changes. Package migrations: - gov.nist.secauto.metaschema.* -> dev.metaschema.* - gov.nist.secauto.oscal.* -> dev.metaschema.oscal.* Dependency updates: - metaschema-java: 3.0.0.M1 -> 3.0.0-SNAPSHOT - liboscal-java: 6.0.0 -> 7.0.0-SNAPSHOT - oscal-cli: 2.6.0 -> 3.0.0-SNAPSHOT - log4j2: 2.25.2 -> 2.25.3 - org.json: 20250517 -> 20251224 Other changes: - Update CallingContext import (now top-level class) - Replace Saxon TransformerFactoryImpl with standard Java TransformerFactory - Remove unused xmlresolver and xmlbeans dependencies - Fix pom.xml indentation inconsistencies Related upstream PRs: - metaschema-java#618 - liboscal-java#232
9611327 to
a50d985
Compare
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Fix all issues with AI Agents
In @pom.xml:
- Line 77: The pom property dependency.liboscal-java.version references a
non-existent snapshot (7.0.0-SNAPSHOT); update it to a valid published snapshot
(e.g., set dependency.liboscal-java.version to 6.1.0-SNAPSHOT) or replace the
dependency version for dev.metaschema.oscal:liboscal-java with an available
release, then run mvn -U to refresh metadata and ensure the dependency resolves.
📜 Review details
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (43)
.gitignoreREADME.mdpom.xmlsrc/main/distro/README.txtsrc/main/java-templates/dev/metaschema/oscal/tools/cli/core/OscalCliVersion.javasrc/main/java/dev/metaschema/oscal/tools/cli/core/CLI.javasrc/main/java/dev/metaschema/oscal/tools/cli/core/commands/AbstractDeprecatedOscalValidationSubcommand.javasrc/main/java/dev/metaschema/oscal/tools/cli/core/commands/AbstractOscalConvertCommand.javasrc/main/java/dev/metaschema/oscal/tools/cli/core/commands/AbstractOscalValidationCommand.javasrc/main/java/dev/metaschema/oscal/tools/cli/core/commands/AbstractResolveCommand.javasrc/main/java/dev/metaschema/oscal/tools/cli/core/commands/ConvertCommand.javasrc/main/java/dev/metaschema/oscal/tools/cli/core/commands/ListAllowedValuesCommand.javasrc/main/java/dev/metaschema/oscal/tools/cli/core/commands/ResolveCommand.javasrc/main/java/dev/metaschema/oscal/tools/cli/core/commands/ValidateCommand.javasrc/main/java/dev/metaschema/oscal/tools/cli/core/commands/assessmentplan/AssessmentPlanCommand.javasrc/main/java/dev/metaschema/oscal/tools/cli/core/commands/assessmentplan/ConvertSubcommand.javasrc/main/java/dev/metaschema/oscal/tools/cli/core/commands/assessmentplan/ValidateSubcommand.javasrc/main/java/dev/metaschema/oscal/tools/cli/core/commands/assessmentresults/AssessmentResultsCommand.javasrc/main/java/dev/metaschema/oscal/tools/cli/core/commands/assessmentresults/ConvertSubcommand.javasrc/main/java/dev/metaschema/oscal/tools/cli/core/commands/assessmentresults/ValidateSubcommand.javasrc/main/java/dev/metaschema/oscal/tools/cli/core/commands/catalog/CatalogCommand.javasrc/main/java/dev/metaschema/oscal/tools/cli/core/commands/catalog/ConvertSubcommand.javasrc/main/java/dev/metaschema/oscal/tools/cli/core/commands/catalog/ValidateSubcommand.javasrc/main/java/dev/metaschema/oscal/tools/cli/core/commands/componentdefinition/ComponentDefinitionCommand.javasrc/main/java/dev/metaschema/oscal/tools/cli/core/commands/componentdefinition/ConvertSubcommand.javasrc/main/java/dev/metaschema/oscal/tools/cli/core/commands/componentdefinition/ValidateSubcommand.javasrc/main/java/dev/metaschema/oscal/tools/cli/core/commands/metaschema/MetaschemaCommand.javasrc/main/java/dev/metaschema/oscal/tools/cli/core/commands/metaschema/package-info.javasrc/main/java/dev/metaschema/oscal/tools/cli/core/commands/poam/ConvertSubcommand.javasrc/main/java/dev/metaschema/oscal/tools/cli/core/commands/poam/PlanOfActionsAndMilestonesCommand.javasrc/main/java/dev/metaschema/oscal/tools/cli/core/commands/poam/ValidateSubcommand.javasrc/main/java/dev/metaschema/oscal/tools/cli/core/commands/profile/ConvertSubcommand.javasrc/main/java/dev/metaschema/oscal/tools/cli/core/commands/profile/ProfileCommand.javasrc/main/java/dev/metaschema/oscal/tools/cli/core/commands/profile/ResolveSubcommand.javasrc/main/java/dev/metaschema/oscal/tools/cli/core/commands/profile/ValidateSubcommand.javasrc/main/java/dev/metaschema/oscal/tools/cli/core/commands/ssp/ConvertSubcommand.javasrc/main/java/dev/metaschema/oscal/tools/cli/core/commands/ssp/SystemSecurityPlanCommand.javasrc/main/java/dev/metaschema/oscal/tools/cli/core/commands/ssp/ValidateSubcommand.javasrc/main/java/dev/metaschema/oscal/tools/cli/core/utils/PrettyPrinter.javasrc/test/java/dev/metaschema/oscal/tools/cli/core/CLITest.javasrc/test/java/dev/metaschema/oscal/tools/cli/core/NullYamlValuesTest.javasrc/test/java/dev/metaschema/oscal/tools/cli/core/commands/Issue96ClassLoaderTest.javasrc/test/java/dev/metaschema/oscal/tools/cli/core/utils/PrettyPrinterTest.java
✅ Files skipped from review due to trivial changes (4)
- .gitignore
- README.md
- src/main/java/dev/metaschema/oscal/tools/cli/core/commands/ValidateCommand.java
- src/main/java/dev/metaschema/oscal/tools/cli/core/commands/poam/PlanOfActionsAndMilestonesCommand.java
🚧 Files skipped from review as they are similar to previous changes (19)
- src/main/java/dev/metaschema/oscal/tools/cli/core/commands/assessmentplan/ConvertSubcommand.java
- src/main/java/dev/metaschema/oscal/tools/cli/core/utils/PrettyPrinter.java
- src/main/java/dev/metaschema/oscal/tools/cli/core/commands/ssp/ValidateSubcommand.java
- src/main/java/dev/metaschema/oscal/tools/cli/core/commands/poam/ConvertSubcommand.java
- src/main/java/dev/metaschema/oscal/tools/cli/core/commands/assessmentplan/ValidateSubcommand.java
- src/main/java/dev/metaschema/oscal/tools/cli/core/commands/ResolveCommand.java
- src/main/java/dev/metaschema/oscal/tools/cli/core/commands/assessmentresults/ConvertSubcommand.java
- src/main/java/dev/metaschema/oscal/tools/cli/core/commands/AbstractOscalConvertCommand.java
- src/main/java/dev/metaschema/oscal/tools/cli/core/commands/catalog/ValidateSubcommand.java
- src/main/java/dev/metaschema/oscal/tools/cli/core/commands/ssp/SystemSecurityPlanCommand.java
- src/main/java/dev/metaschema/oscal/tools/cli/core/commands/componentdefinition/ComponentDefinitionCommand.java
- src/main/java/dev/metaschema/oscal/tools/cli/core/commands/componentdefinition/ConvertSubcommand.java
- src/main/java/dev/metaschema/oscal/tools/cli/core/commands/metaschema/package-info.java
- src/main/java/dev/metaschema/oscal/tools/cli/core/commands/AbstractOscalValidationCommand.java
- src/main/java/dev/metaschema/oscal/tools/cli/core/commands/assessmentresults/AssessmentResultsCommand.java
- src/main/java/dev/metaschema/oscal/tools/cli/core/commands/ssp/ConvertSubcommand.java
- src/main/java/dev/metaschema/oscal/tools/cli/core/commands/poam/ValidateSubcommand.java
- src/main/java/dev/metaschema/oscal/tools/cli/core/CLI.java
- src/main/java/dev/metaschema/oscal/tools/cli/core/commands/catalog/CatalogCommand.java
🧰 Additional context used
🧠 Learnings (14)
📓 Common learnings
Learnt from: david-waltermire
Repo: metaschema-framework/metaschema-java PR: 618
File: core/src/main/java-templates/dev/metaschema/core/MetaschemaJavaVersion.java:2-2
Timestamp: 2026-01-05T16:08:37.155Z
Learning: In metaschema-framework/metaschema-java, the canonical Java package naming convention is dev.metaschema.* (renamed from gov.nist.secauto.metaschema.* as of PR #618).
Learnt from: david-waltermire
Repo: metaschema-framework/metaschema-java PR: 618
File: core/src/main/java/dev/metaschema/core/datatype/package-info.java:52-52
Timestamp: 2026-01-05T18:03:33.537Z
Learning: In metaschema-framework/metaschema-java, CLAUDE.md is the canonical coding-guidelines document and now specifies dev.metaschema.* as the Java package convention (updated in PR #618).
Learnt from: david-waltermire
Repo: metaschema-framework/metaschema-java PR: 0
File: :0-0
Timestamp: 2026-01-05T16:33:59.206Z
Learning: In metaschema-framework/metaschema-java, the core/metaschema submodule is owned by this project's maintainers; updates to it are coordinated within this repository, so no follow-up issues should be opened in external repositories for submodule changes.
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: 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/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.
📚 Learning: 2025-12-24T21:22:07.082Z
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.
Applied to files:
src/test/java/dev/metaschema/oscal/tools/cli/core/commands/Issue96ClassLoaderTest.javasrc/main/java/dev/metaschema/oscal/tools/cli/core/commands/AbstractDeprecatedOscalValidationSubcommand.javasrc/main/java/dev/metaschema/oscal/tools/cli/core/commands/profile/ValidateSubcommand.javasrc/main/java/dev/metaschema/oscal/tools/cli/core/commands/assessmentresults/ValidateSubcommand.javasrc/main/java/dev/metaschema/oscal/tools/cli/core/commands/AbstractResolveCommand.javasrc/main/java/dev/metaschema/oscal/tools/cli/core/commands/metaschema/MetaschemaCommand.javasrc/test/java/dev/metaschema/oscal/tools/cli/core/CLITest.javasrc/main/java-templates/dev/metaschema/oscal/tools/cli/core/OscalCliVersion.javapom.xmlsrc/test/java/dev/metaschema/oscal/tools/cli/core/NullYamlValuesTest.javasrc/main/java/dev/metaschema/oscal/tools/cli/core/commands/ListAllowedValuesCommand.javasrc/test/java/dev/metaschema/oscal/tools/cli/core/utils/PrettyPrinterTest.javasrc/main/java/dev/metaschema/oscal/tools/cli/core/commands/componentdefinition/ValidateSubcommand.javasrc/main/java/dev/metaschema/oscal/tools/cli/core/commands/ConvertCommand.java
📚 Learning: 2025-12-24T21:21:56.361Z
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.
Applied to files:
src/test/java/dev/metaschema/oscal/tools/cli/core/commands/Issue96ClassLoaderTest.javasrc/main/java/dev/metaschema/oscal/tools/cli/core/commands/metaschema/MetaschemaCommand.javasrc/test/java/dev/metaschema/oscal/tools/cli/core/CLITest.javapom.xmlsrc/test/java/dev/metaschema/oscal/tools/cli/core/NullYamlValuesTest.javasrc/main/java/dev/metaschema/oscal/tools/cli/core/commands/ListAllowedValuesCommand.javasrc/test/java/dev/metaschema/oscal/tools/cli/core/utils/PrettyPrinterTest.java
📚 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:
src/test/java/dev/metaschema/oscal/tools/cli/core/commands/Issue96ClassLoaderTest.javasrc/main/java/dev/metaschema/oscal/tools/cli/core/commands/metaschema/MetaschemaCommand.javapom.xmlsrc/test/java/dev/metaschema/oscal/tools/cli/core/NullYamlValuesTest.javasrc/test/java/dev/metaschema/oscal/tools/cli/core/utils/PrettyPrinterTest.java
📚 Learning: 2026-01-05T16:08:37.155Z
Learnt from: david-waltermire
Repo: metaschema-framework/metaschema-java PR: 618
File: core/src/main/java-templates/dev/metaschema/core/MetaschemaJavaVersion.java:2-2
Timestamp: 2026-01-05T16:08:37.155Z
Learning: In metaschema-framework/metaschema-java, the canonical Java package naming convention is dev.metaschema.* (renamed from gov.nist.secauto.metaschema.* as of PR #618).
Applied to files:
src/test/java/dev/metaschema/oscal/tools/cli/core/commands/Issue96ClassLoaderTest.javasrc/main/java/dev/metaschema/oscal/tools/cli/core/commands/AbstractDeprecatedOscalValidationSubcommand.javasrc/main/java/dev/metaschema/oscal/tools/cli/core/commands/profile/ValidateSubcommand.javasrc/main/java/dev/metaschema/oscal/tools/cli/core/commands/AbstractResolveCommand.javasrc/main/java/dev/metaschema/oscal/tools/cli/core/commands/metaschema/MetaschemaCommand.javasrc/test/java/dev/metaschema/oscal/tools/cli/core/CLITest.javasrc/main/java-templates/dev/metaschema/oscal/tools/cli/core/OscalCliVersion.javasrc/main/java/dev/metaschema/oscal/tools/cli/core/commands/assessmentplan/AssessmentPlanCommand.javasrc/main/java/dev/metaschema/oscal/tools/cli/core/commands/catalog/ConvertSubcommand.javapom.xmlsrc/main/java/dev/metaschema/oscal/tools/cli/core/commands/ListAllowedValuesCommand.javasrc/test/java/dev/metaschema/oscal/tools/cli/core/utils/PrettyPrinterTest.javasrc/main/java/dev/metaschema/oscal/tools/cli/core/commands/ConvertCommand.java
📚 Learning: 2026-01-05T16:33:59.206Z
Learnt from: david-waltermire
Repo: metaschema-framework/metaschema-java PR: 0
File: :0-0
Timestamp: 2026-01-05T16:33:59.206Z
Learning: In metaschema-framework/metaschema-java, the core/metaschema submodule is owned by this project's maintainers; updates to it are coordinated within this repository, so no follow-up issues should be opened in external repositories for submodule changes.
Applied to files:
src/test/java/dev/metaschema/oscal/tools/cli/core/commands/Issue96ClassLoaderTest.javasrc/main/java/dev/metaschema/oscal/tools/cli/core/commands/metaschema/MetaschemaCommand.javapom.xml
📚 Learning: 2026-01-05T18:03:33.537Z
Learnt from: david-waltermire
Repo: metaschema-framework/metaschema-java PR: 618
File: core/src/main/java/dev/metaschema/core/datatype/package-info.java:52-52
Timestamp: 2026-01-05T18:03:33.537Z
Learning: In metaschema-framework/metaschema-java, CLAUDE.md is the canonical coding-guidelines document and now specifies dev.metaschema.* as the Java package convention (updated in PR #618).
Applied to files:
src/test/java/dev/metaschema/oscal/tools/cli/core/commands/Issue96ClassLoaderTest.javasrc/main/java/dev/metaschema/oscal/tools/cli/core/commands/AbstractResolveCommand.javasrc/main/java/dev/metaschema/oscal/tools/cli/core/commands/metaschema/MetaschemaCommand.javasrc/test/java/dev/metaschema/oscal/tools/cli/core/CLITest.javasrc/main/java-templates/dev/metaschema/oscal/tools/cli/core/OscalCliVersion.javapom.xmlsrc/test/java/dev/metaschema/oscal/tools/cli/core/utils/PrettyPrinterTest.java
📚 Learning: 2024-11-15T20:00:59.203Z
Learnt from: david-waltermire
Repo: metaschema-framework/metaschema-java PR: 245
File: cli-processor/src/main/java/gov/nist/secauto/metaschema/cli/processor/command/impl/DefaultExtraArgument.java:15-15
Timestamp: 2024-11-15T20:00:59.203Z
Learning: The `DefaultExtraArgument` class in `cli-processor/src/main/java/gov/nist/secauto/metaschema/cli/processor/command/impl/DefaultExtraArgument.java` is currently a stub for future exploration.
Applied to files:
src/main/java/dev/metaschema/oscal/tools/cli/core/commands/AbstractResolveCommand.javasrc/main/java/dev/metaschema/oscal/tools/cli/core/commands/ListAllowedValuesCommand.java
📚 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:
pom.xml
📚 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:
pom.xml
📚 Learning: 2025-12-30T04:19:49.192Z
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.
Applied to files:
pom.xml
📚 Learning: 2025-12-17T13:27:43.679Z
Learnt from: CR
Repo: metaschema-framework/metaschema-java PR: 0
File: CLAUDE.md:0-0
Timestamp: 2025-12-17T13:27:43.679Z
Learning: Applies to core/metaschema/schema/xml/** : XMLBeans code is generated from XSD schemas in core/metaschema/schema/xml during Maven build. Generated sources are placed in target/generated-sources/
Applied to files:
pom.xml
📚 Learning: 2026-01-05T18:03:23.064Z
Learnt from: david-waltermire
Repo: metaschema-framework/metaschema-java PR: 618
File: core/src/main/java/dev/metaschema/core/metapath/format/IPathSegment.java:0-0
Timestamp: 2026-01-05T18:03:23.064Z
Learning: In metaschema-framework/metaschema-java, avoid duplicating SpotBugs nullability annotations on overrides when the superinterface (e.g., dev.metaschema.core.model.IMetapathQueryable#getNodeItem()) already declares the null contract; rely on the inherited annotation instead.
Applied to files:
src/test/java/dev/metaschema/oscal/tools/cli/core/NullYamlValuesTest.java
📚 Learning: 2025-12-30T04:37:04.944Z
Learnt from: david-waltermire
Repo: metaschema-framework/metaschema-java PR: 0
File: :0-0
Timestamp: 2025-12-30T04:37:04.944Z
Learning: In metaschema-framework/metaschema-java, assert statements on loop variables (e.g., `assert item != null;`) are intentionally kept to satisfy Eclipse's null-safety analysis when the list elements have a `NonNull` contract, ensuring static analysis tools recognize the non-null guarantee for subsequent method calls.
Applied to files:
src/test/java/dev/metaschema/oscal/tools/cli/core/NullYamlValuesTest.javasrc/test/java/dev/metaschema/oscal/tools/cli/core/utils/PrettyPrinterTest.java
🧬 Code graph analysis (7)
src/main/java/dev/metaschema/oscal/tools/cli/core/commands/AbstractDeprecatedOscalValidationSubcommand.java (7)
src/main/java/gov/nist/secauto/oscal/tools/cli/core/commands/AbstractOscalConvertCommand.java (1)
AbstractOscalConvertCommand(35-80)src/main/java/gov/nist/secauto/oscal/tools/cli/core/commands/assessmentplan/ConvertSubcommand.java (1)
ConvertSubcommand(19-30)src/main/java/gov/nist/secauto/oscal/tools/cli/core/commands/poam/ConvertSubcommand.java (1)
ConvertSubcommand(19-30)src/main/java/gov/nist/secauto/oscal/tools/cli/core/commands/componentdefinition/ComponentDefinitionCommand.java (1)
ComponentDefinitionCommand(14-36)src/main/java/gov/nist/secauto/oscal/tools/cli/core/commands/assessmentresults/ConvertSubcommand.java (1)
ConvertSubcommand(19-30)src/main/java/gov/nist/secauto/oscal/tools/cli/core/commands/AbstractOscalValidationCommand.java (2)
OscalValidationCommandExecutor(65-122)AbstractOscalValidationCommand(36-123)src/test/java/gov/nist/secauto/oscal/tools/cli/core/commands/Issue96ClassLoaderTest.java (1)
Issue96ClassLoaderTest(12-58)
src/main/java/dev/metaschema/oscal/tools/cli/core/commands/profile/ResolveSubcommand.java (2)
src/main/java/gov/nist/secauto/oscal/tools/cli/core/commands/AbstractResolveCommand.java (1)
AbstractResolveCommand(48-264)src/main/java/gov/nist/secauto/oscal/tools/cli/core/commands/profile/ResolveSubcommand.java (1)
ResolveSubcommand(18-36)
src/main/java/dev/metaschema/oscal/tools/cli/core/commands/profile/ValidateSubcommand.java (1)
src/main/java/dev/metaschema/oscal/tools/cli/core/commands/AbstractDeprecatedOscalValidationSubcommand.java (1)
AbstractDeprecatedOscalValidationSubcommand(22-47)
src/main/java/dev/metaschema/oscal/tools/cli/core/commands/assessmentresults/ValidateSubcommand.java (1)
src/main/java/dev/metaschema/oscal/tools/cli/core/commands/AbstractDeprecatedOscalValidationSubcommand.java (1)
AbstractDeprecatedOscalValidationSubcommand(22-47)
src/main/java/dev/metaschema/oscal/tools/cli/core/commands/AbstractResolveCommand.java (1)
src/main/java/dev/metaschema/oscal/tools/cli/core/utils/PrettyPrinter.java (1)
PrettyPrinter(39-100)
src/main/java/dev/metaschema/oscal/tools/cli/core/commands/catalog/ConvertSubcommand.java (2)
src/main/java/dev/metaschema/oscal/tools/cli/core/commands/AbstractOscalConvertCommand.java (1)
AbstractOscalConvertCommand(35-80)src/main/java/dev/metaschema/oscal/tools/cli/core/commands/ConvertCommand.java (1)
ConvertCommand(33-82)
src/main/java/dev/metaschema/oscal/tools/cli/core/commands/profile/ConvertSubcommand.java (1)
src/main/java/dev/metaschema/oscal/tools/cli/core/commands/AbstractOscalConvertCommand.java (1)
AbstractOscalConvertCommand(35-80)
🪛 GitHub Actions: Build and Test
pom.xml
[error] 1-1: Command failed: mvn -B -e -PCI -Prelease install site site:stage -Dmaven.test.skip=true. Build failed due to dependency resolution error: Could not resolve artifact dev.metaschema.oscal:liboscal-java:jar:7.0.0-SNAPSHOT in repo-snapshot (https://raw.githubusercontent.com/metaschema-framework/maven2/refs/heads/main).
🔇 Additional comments (22)
src/main/distro/README.txt (1)
31-42: Documentation addition is clear and well-integrated.The new "Disabling Color Output" section provides helpful guidance with practical examples. The explanation covers relevant scenarios (legacy consoles, CI/CD, file redirection) and the usage example is concise and actionable.
One note: This documentation change appears orthogonal to the main PR objective (namespace migration). If this feature (
--no-colorflag) is new or being enhanced as part of this PR, consider clarifying in the PR description whether this is a related CLI improvement or if it should be a separate PR to keep the namespace migration changes isolated.src/main/java/dev/metaschema/oscal/tools/cli/core/commands/assessmentplan/AssessmentPlanCommand.java (1)
6-8: LGTM! Clean namespace migration.The package and import declarations have been correctly updated to align with the upstream namespace migration from
gov.nist.secauto.*todev.metaschema.*. The changes are mechanical and consistent with the PR objectives.Based on learnings,
dev.metaschema.*is the canonical Java package naming convention as of the upstream migration in metaschema-framework/metaschema-java#618.src/main/java/dev/metaschema/oscal/tools/cli/core/commands/componentdefinition/ValidateSubcommand.java (2)
6-15: Namespace migration correctly applied.The package declaration and all import statements have been consistently migrated to the
dev.metaschema.*namespace, aligning with the canonical Java package naming convention. Based on learnings, this follows the established convention from the upstream metaschema-java project.
24-47: Implementation unchanged, looks good.The class implementation remains functionally identical after the namespace migration. Resource paths are correctly unchanged since they refer to resource locations rather than package names.
src/main/java/dev/metaschema/oscal/tools/cli/core/commands/assessmentresults/ValidateSubcommand.java (1)
6-15: LGTM! Namespace migration correctly applied.The package declaration and all imports have been properly migrated from
gov.nist.secauto.*todev.metaschema.*namespaces. The changes align with the canonical naming convention and the broader namespace migration across the codebase.Based on learnings, dev.metaschema.* is the canonical Java package naming convention for this framework.
src/test/java/dev/metaschema/oscal/tools/cli/core/utils/PrettyPrinterTest.java (1)
6-6: LGTM: Namespace migration correctly applied.The package declaration has been correctly updated to the new
dev.metaschema.*namespace, consistent with the upstream metaschema-java migration.Based on learnings, the canonical Java package naming convention is
dev.metaschema.*as of metaschema-java PR #618.src/main/java/dev/metaschema/oscal/tools/cli/core/commands/AbstractResolveCommand.java (1)
6-30: LGTM: Complete namespace migration for imports.All package and import declarations have been consistently updated to the new
dev.metaschema.*namespace. The migration covers CLI processor, core metapath, databind, and OSCAL library imports.Based on learnings, this aligns with the canonical namespace convention established in metaschema-java PR #618.
src/main/java/dev/metaschema/oscal/tools/cli/core/commands/AbstractDeprecatedOscalValidationSubcommand.java (1)
6-10: LGTM: Namespace migration correctly applied.Package declaration and CLI processor imports have been correctly updated to the new
dev.metaschema.*namespace. The deprecation warning functionality remains unchanged.src/main/java/dev/metaschema/oscal/tools/cli/core/commands/ListAllowedValuesCommand.java (1)
6-35: LGTM: Comprehensive namespace migration.All package and import declarations have been consistently updated to the new
dev.metaschema.*namespace. The migration covers a wide range of dependencies including CLI commands, processor, metapath, model constraints, databind, and OSCAL library utilities.src/test/java/dev/metaschema/oscal/tools/cli/core/commands/Issue96ClassLoaderTest.java (1)
6-56: LGTM: Test namespace migration correctly applied.The package declaration and all fully-qualified class names in test instantiations have been correctly updated to the new
dev.metaschema.*namespace. The test logic remains unchanged and continues to verify classloader behavior for all OSCAL subcommands (assessment plan, assessment results, catalog, POAM, SSP, and component definition).src/main/java-templates/dev/metaschema/oscal/tools/cli/core/OscalCliVersion.java (1)
27-27: LGTM! Namespace migration is correct.The package declaration and import statement have been correctly updated to the new
dev.metaschema.*namespace, consistent with the PR objectives and framework standards. Based on learnings, the canonical Java package naming convention is nowdev.metaschema.*.Also applies to: 29-29
src/main/java/dev/metaschema/oscal/tools/cli/core/commands/metaschema/MetaschemaCommand.java (1)
6-6: LGTM! Namespace migration is correct.Package and import statements have been correctly updated to the new
dev.metaschema.*namespace. The changes align with the PR objectives and framework standards.Also applies to: 8-9
pom.xml (2)
11-11: LGTM! Version bump is appropriate.The project version bump to
3.0.0-SNAPSHOTis correct for this breaking change involving namespace migration.
407-407: LGTM! Main class references correctly updated.The
mainClassentries have been correctly updated fromgov.nist.secauto.oscal.tools.cli.core.CLItodev.metaschema.oscal.tools.cli.core.CLI, consistent with the namespace migration.Also applies to: 423-423
src/main/java/dev/metaschema/oscal/tools/cli/core/commands/ConvertCommand.java (1)
6-18: LGTM! Namespace migration is correct.Package declaration and all import statements have been correctly updated to the new
dev.metaschema.*namespace. The changes are consistent across the file and align with the PR objectives.src/main/java/dev/metaschema/oscal/tools/cli/core/commands/catalog/ConvertSubcommand.java (1)
6-11: LGTM! Namespace migration is correct.Package declaration and all import statements have been correctly updated to the new
dev.metaschema.*namespace. The changes align with the broader namespace migration across the codebase.src/main/java/dev/metaschema/oscal/tools/cli/core/commands/profile/ResolveSubcommand.java (1)
6-10: LGTM!The package declaration and imports are correctly migrated to the
dev.metaschema.*namespace, aligning with the canonical package naming convention established in metaschema-java PR #618. Based on learnings, this is the expected namespace structure.src/main/java/dev/metaschema/oscal/tools/cli/core/commands/profile/ConvertSubcommand.java (1)
6-10: LGTM!Package and imports correctly migrated to
dev.metaschema.*namespace. The class logic remains unchanged, properly returningProfile.classfor OSCAL profile conversion operations.src/test/java/dev/metaschema/oscal/tools/cli/core/NullYamlValuesTest.java (1)
6-14: LGTM!Package and imports correctly migrated to
dev.metaschema.*namespace. Test logic remains unchanged, validating YAML null value handling across the three test variants.src/main/java/dev/metaschema/oscal/tools/cli/core/commands/profile/ProfileCommand.java (1)
6-8: LGTM!Package and import correctly migrated. The parent command structure remains unchanged, properly registering the
ValidateSubcommand,ConvertSubcommand, andResolveSubcommandhandlers.src/test/java/dev/metaschema/oscal/tools/cli/core/CLITest.java (1)
6-19: LGTM!Package and imports correctly migrated to
dev.metaschema.*namespace. The comprehensive CLI test suite remains unchanged, covering validation, conversion, profile resolution, and pretty-print functionality.src/main/java/dev/metaschema/oscal/tools/cli/core/commands/profile/ValidateSubcommand.java (1)
6-15: LGTM!Package and imports correctly migrated to
dev.metaschema.*namespace. The validation logic remains unchanged, properly providing XML and JSON schema validators for OSCAL Profile validation.
1c4d487
into
metaschema-framework:develop
Summary
Breaking Changes
Package migrations:
gov.nist.secauto.metaschema.*→dev.metaschema.*gov.nist.secauto.oscal.*→dev.metaschema.oscal.*Dependency Updates
Other Changes
CallingContextimport (now top-level class per metaschema-java#563)TransformerFactoryImplwith standard JavaTransformerFactoryxmlresolverandxmlbeansdependenciesRelated PRs
Test Plan
-PCI -PreleaseprofilesSummary by CodeRabbit
Chores
Refactor
Documentation
✏️ Tip: You can customize this high-level summary in your review settings.