Skip to content

Prevent parallel docs model generation from overwriting shared output #2227

Description

@coderabbitai

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

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions