Draft
Conversation
- Updated maven.compiler.release from 11 to 17 - Updated maven-javadoc-plugin source from 11 to 17
- Removed tooling-ui from module list - Deleted tooling-ui/ directory entirely
Created a new tooling-core module containing shared infrastructure files extracted from the monolithic tooling module. Package structure is preserved (org.opencds.cqf.tooling.*) so no import changes needed anywhere. Files intentionally kept in tooling (too many external deps for core): IOUtils, ResourceUtils, BundleUtils, HttpClientUtils, FhirVersionEnumConverter, ResourceAndTypeConverter
Replaced the hand-rolled CLI (OperationFactory switch statement and custom arg parsing) with a picocli-based subcommand hierarchy. All ~40 operations are mapped to a clean command tree. Created tooling-cli/CLI_USAGE.md with documentation for all operations organized by command group, including argument tables and usage examples in the new picocli syntax. It covers all ~40 operations with their parameters, aliases, and defaults. Significantly more structured than the old comment block in Main.java.
The monolithic IOUtils had circular dependencies on LibraryProcessor, CqlProcessor, and CqlTranslatorException, preventing it from moving to tooling-core and blocking all domain module extraction.
Created tooling-terminology/pom.xml with dependencies on tooling-core, HAPI FHIR (base, dstu3, r4, r5, client), Apache POI, cql-to-elm, commons-compress, slf4j
Plugins activated: - Spotless (v2.39.0) — Palantir Java Format applied to all 406 Java files - Checkstyle (v3.6.0) — naming convention checks enforced - Animal Sniffer (v1.23) — Android API 34 compatibility verified - EditorConfig — created .editorconfig matching clinical-reasoning
Still got a lot to do, but getting closer. Old operation package deleted.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Modularization and Modernization
Description
This PR modernizes the cqf-tooling project infrastructure across four major areas: Java version upgrade, Maven multi-module decomposition, CLI modernization, and operation pattern migration. The monolithic tooling module is decomposed into 8 focused modules with proper dependency layering, and all 23 legacy operations are migrated to the new annotation-based ExecutableOperation pattern.
By creating this PR you acknowledge that your contribution will be licensed under Apache 2.0