Commit 394eed0
Dependencies: propagate LastSuccessful through transitive deps
When a parametrized dep is LastSuccessful, the consumer doesn't trigger
that dep's build — so chaining the build of its transitive deps is
pointless and ends up generating snapshot dependencies that needlessly
hold back the consumer's build/deploy.
Example seen on MetalamaVsx 2026.1: both Metalama 2026.1 and Metalama
2026.0 are LastSuccessful, but their transitive Metalama.Compiler ref
(its own ArtifactPickup defaults to Snapshot) caused a snapshot dep on
Metalama.Compiler in the deploy config.
Fix: GetAllDependencies now threads an `ancestorIsLastSuccessful` flag
through the recursion. Any dep reached via a LastSuccessful ancestor
gets EffectiveArtifactPickup = LastSuccessful in the returned
DependencyConfiguration. ArtifactPickup consults the effective value
first, so existing call sites (ConfigurationProperties snapshot dep
generation, deploy-config filtering) automatically pick up the
propagation without changes. EffectiveArtifactPickup is internal — it's
an implementation detail set by GetAllDependencies, not a consumer-side
override.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>1 parent e847964 commit 394eed0
2 files changed
Lines changed: 28 additions & 5 deletions
File tree
- src/PostSharp.Engineering.BuildTools/Dependencies/Model
Lines changed: 12 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
29 | 29 | | |
30 | 30 | | |
31 | 31 | | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
32 | 40 | | |
33 | 41 | | |
| 42 | + | |
| 43 | + | |
34 | 44 | | |
35 | | - | |
| 45 | + | |
| 46 | + | |
36 | 47 | | |
37 | 48 | | |
38 | 49 | | |
| |||
Lines changed: 16 additions & 4 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
76 | 76 | | |
77 | 77 | | |
78 | 78 | | |
79 | | - | |
| 79 | + | |
80 | 80 | | |
81 | 81 | | |
82 | 82 | | |
83 | | - | |
| 83 | + | |
84 | 84 | | |
85 | 85 | | |
86 | 86 | | |
87 | 87 | | |
88 | 88 | | |
89 | | - | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
90 | 102 | | |
91 | 103 | | |
92 | 104 | | |
93 | 105 | | |
94 | 106 | | |
95 | 107 | | |
96 | | - | |
| 108 | + | |
97 | 109 | | |
98 | 110 | | |
99 | 111 | | |
| |||
0 commit comments