This issue is a follow-up to PR #389.
Problem statement
Verify/enforce expected behavior for paths-ignore in the CDS extractor when compiling from CAP entrypoints (for example index.cds) to model.cds.json.
Potential gap: even if paths-ignore correctly excludes certain .cds files from initial target selection, an included entrypoint may still reference those ignored files transitively. If the CDS compiler resolves those dependencies from disk without an extractor-level guard, ignored files could still influence model.cds.json.
Scope
This issue is intentionally limited to the index.cds -> model.cds.json flow and transitive dependency resolution behavior.
Expected behavior (to decide and enforce)
When index.cds references a .cds file matched by paths-ignore, we should have one clear, tested behavior:
- Strict exclusion mode (preferred candidate): compilation fails with a clear diagnostic indicating an ignored dependency was referenced; or
- Soft exclusion mode: compilation succeeds, but artifacts from ignored files are guaranteed not to appear in
model.cds.json.
Whichever mode we choose, behavior must be deterministic and documented.
Acceptance criteria
Suggested test matrix (minimal)
Context
PR #389 improved honoring paths-ignore during target selection and no-project diagnostics.
This issue tracks whether transitive dependency resolution can still bypass intended ignore semantics for the index.cds compilation flow.
This issue is a follow-up to PR #389.
Problem statement
Verify/enforce expected behavior for
paths-ignorein the CDS extractor when compiling from CAP entrypoints (for exampleindex.cds) tomodel.cds.json.Potential gap: even if
paths-ignorecorrectly excludes certain.cdsfiles from initial target selection, an included entrypoint may still reference those ignored files transitively. If the CDS compiler resolves those dependencies from disk without an extractor-level guard, ignored files could still influencemodel.cds.json.Scope
This issue is intentionally limited to the
index.cds->model.cds.jsonflow and transitive dependency resolution behavior.Expected behavior (to decide and enforce)
When
index.cdsreferences a.cdsfile matched bypaths-ignore, we should have one clear, tested behavior:model.cds.json.Whichever mode we choose, behavior must be deterministic and documented.
Acceptance criteria
index.cdsreferences ignored.cdsfiles.using from/ include patterns relevant to CAP CDS dependencies.model.cds.jsonbehavior matches the chosen policy (strict fail or guaranteed exclusion).Suggested test matrix (minimal)
index.cds(included) -> direct reference toignored.cds(ignored bypaths-ignore)index.cds->a.cds->ignored.cds)Context
PR #389 improved honoring
paths-ignoreduring target selection and no-project diagnostics.This issue tracks whether transitive dependency resolution can still bypass intended ignore semantics for the
index.cdscompilation flow.