You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Project B
Has access to project A’s publication artifact
-- dependencies.yml
projects:
- project: A
-- project_b_publication.json
{
"project_name": "B""dependencies": ["A"]
}
Project C
Has access to project B’s publication artifact, but not project A’s
-- dependencies.yml
projects:
- project: B
-- project_c_publication.json
{
"project_name": "C""dependencies": ["B", "A"]
}
If A tries to add project C to its dependencies, it will pull down C’s publication artifact which includes itself in the dependencies → raise project cycle error.
If A tries to add project B to its dependencies, same thing.
If B tries to add project C to its dependencies, same thing.
Implementation Notes:
This could be done very early during parsing - as early as when publication artifacts are loaded, or could be deferred until compilation (assuming publication_dependencies are in the manifest) to keep a consistent location for cycle detection / error raising.
The text was updated successfully, but these errors were encountered:
github-actionsbot
changed the title
Detect and restrict project-level cycles in dependencies.yml
[CT-2494] Detect and restrict project-level cycles in dependencies.yml
Apr 26, 2023
Example:
Project A
(no dependencies.yml)
-- project_a_publication.json
Project B
Has access to project A’s publication artifact
-- dependencies.yml
-- project_b_publication.json
Project C
Has access to project B’s publication artifact, but not project A’s
-- dependencies.yml
-- project_c_publication.json
If A tries to add project C to its dependencies, it will pull down C’s publication artifact which includes itself in the
dependencies
→ raise project cycle error.If A tries to add project B to its dependencies, same thing.
If B tries to add project C to its dependencies, same thing.
Implementation Notes:
This could be done very early during parsing - as early as when publication artifacts are loaded, or could be deferred until compilation (assuming publication_dependencies are in the manifest) to keep a consistent location for cycle detection / error raising.
The text was updated successfully, but these errors were encountered: