Skip to content

Release/0.1.3 - #85

Open
khalilmalla95 wants to merge 9 commits into
mainfrom
release/0.1.3
Open

Release/0.1.3#85
khalilmalla95 wants to merge 9 commits into
mainfrom
release/0.1.3

Conversation

@khalilmalla95

@khalilmalla95 khalilmalla95 commented Jun 16, 2026

Copy link
Copy Markdown
Collaborator

closes #71 #69 #67 #65 #63 #56 #54 #48 #41 #40 #39 #38 #37 #36

v0.1.3 adds JSON-based issue exclusions, Spring bean validation for BPMN references, a required process-level message start event, improved FHIR/Task checks, and HTML reports with embedded source navigation. Several false positives and severity levels were fixed, plus Maven Central and CI updates.

@khalilmalla95 khalilmalla95 self-assigned this Jun 16, 2026
@khalilmalla95
khalilmalla95 requested review from jaboehri and schwzr June 16, 2026 14:41
@khalilmalla95 khalilmalla95 added this to the 0.1.3 milestone Jun 16, 2026
khalilmalla95 and others added 4 commits June 16, 2026 17:22
The maven-full job downloads only target/ directories from maven-quick,
so linter-core is not available in the local Maven repository when
javadoc:javadoc runs for linter-cli. Install the pre-built JAR with
install:install-file before the matrix steps so inter-module
dependencies resolve without hitting Maven Central.

Also replace an unescaped '&' in FhirAuthorizationCache Javadoc to
silence invalid-input warnings during Javadoc generation.
…or API v2

SpringConfigurationLinter only inspected @bean return types, which matches
API v1 but misses API v2 plugins that register BPMN activities through
ActivityPrototypeBeanCreator. That produced false
PLUGIN_DEFINITION_SPRING_CONFIGURATION_MISSING errors (e.g. on
dsf-process-ping-pong API v2).

Extract activity Class literals from static ActivityPrototypeBeanCreator
@bean methods and treat them as prototype-covered. Split lint types and
messages by API version so v1 (@bean) and v2 (APBC / prototype activity)
findings are not mixed: add
PLUGIN_DEFINITION_ACTIVITY_PROTOTYPE_BEAN_MISSING and
SPRING_ACTIVITY_PROTOTYPE_BEAN_CREATOR. Extend unit tests for v1/v2
positive and negative cases.
For API V2 plugins, SpringConfigurationLinter now distinguishes how a
BPMN-referenced activity is registered in the plugin's @configuration
classes. Only registration exclusively via ActivityPrototypeBeanCreator
(APBC) is reported as SUCCESS. Any @Bean-based registration triggers a
WARN, because V2 plugins are expected to register activities through APBC
rather than individual @bean factory methods.

Behavior (API V2 only; V1 and UNKNOWN unchanged):
- Activity in APBC only
  -> SUCCESS (SPRING_ACTIVITY_PROTOTYPE_BEAN_CREATOR)
- Activity in APBC and as @bean
  -> WARN (SPRING_ACTIVITY_REGISTERED_TWICE)
- Activity as @bean only (not in APBC)
  -> WARN (SPRING_ACTIVITY_REGISTERED_AS_BEAN)
- Activity in neither APBC nor @bean
  -> ERROR (PLUGIN_DEFINITION_ACTIVITY_PROTOTYPE_BEAN_MISSING, unchanged)

Implementation details:
- Step 5.5 now computes inApbc and inBean per BPMN reference using the
  existing APBC extraction and configProvidesClass() bean coverage check.
- Added providedByBean() helper to reuse the same bean-type matching logic
  across all registered @configuration classes.
- V2 dual/@Bean-only cases skip the APBC SUCCESS item and the existing
  @Scope/mutability pass, since the registration style itself is the issue.
- Overall coverage summary (SUCCESS) is still emitted when all references
  are covered, even if some are WARN-level registration-style findings.

New LintingType values:
- SPRING_ACTIVITY_REGISTERED_TWICE
- SPRING_ACTIVITY_REGISTERED_AS_BEAN

Tests:
- v2Covered_viaApbcAndBean_reportsRegisteredTwiceWarn
- v2Covered_viaBeanOnly_reportsRegisteredAsBeanWarn
- Existing APBC-only V2 success and V1 @Bean/scope tests remain unchanged
…iguration-linter-falsely-reports-missing-bean-for-api-v2-plugins-that-use-activityprototypebeancreator

fix: recognize ActivityPrototypeBeanCreator in Spring config checks f…
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.

Maintain DSF linter: improve log messages and review BPMN types

1 participant