Summary
make -j docs/models can execute the phony PlantUML model targets concurrently. Each underlying pyreverse command writes its intermediate result to the same docs/models/classes.puml path before it is renamed, so diagrams can be overwritten, mismatched, or cause a target to fail.
Required changes
Update the documentation model generation rules in Makefile so each of these targets has isolated intermediate output or is explicitly serialized:
docs/models/requests.puml
docs/models/responses.puml
docs/models/common.puml
docs/models/database.puml
Preserve the existing final generated filenames and the existing docs/models interface.
Rationale
The model targets are declared .PHONY, which allows GNU Make to schedule them in parallel. Sharing docs/models/classes.puml makes the recipes unsafe under parallel execution.
Affected area
Makefile documentation model-generation targets
Acceptance criteria
- Running
make -j docs/models does not share or overwrite an intermediate classes.puml file between targets.
- Each target produces its matching final
.puml diagram.
- The target behavior remains compatible with the SVG generation targets.
Backlinks
Summary
make -j docs/modelscan execute the phony PlantUML model targets concurrently. Each underlyingpyreversecommand writes its intermediate result to the samedocs/models/classes.pumlpath before it is renamed, so diagrams can be overwritten, mismatched, or cause a target to fail.Required changes
Update the documentation model generation rules in
Makefileso each of these targets has isolated intermediate output or is explicitly serialized:docs/models/requests.pumldocs/models/responses.pumldocs/models/common.pumldocs/models/database.pumlPreserve the existing final generated filenames and the existing
docs/modelsinterface.Rationale
The model targets are declared
.PHONY, which allows GNU Make to schedule them in parallel. Sharingdocs/models/classes.pumlmakes the recipes unsafe under parallel execution.Affected area
Makefiledocumentation model-generation targetsAcceptance criteria
make -j docs/modelsdoes not share or overwrite an intermediateclasses.pumlfile between targets..pumldiagram.Backlinks