11// Copyright (c) SharpCrafters s.r.o. See the LICENSE.md file in the root directory of this repository root for details.
22
33using JetBrains . Annotations ;
4+ using PostSharp . Engineering . BuildTools . Build ;
45using PostSharp . Engineering . BuildTools . ContinuousIntegration . Model ;
56using PostSharp . Engineering . BuildTools . Dependencies . Model ;
67using PostSharp . Engineering . BuildTools . Tools . TeamCity ;
@@ -57,14 +58,6 @@ public MetalamaDependencyDefinition(
5758 UpstreamProductFamily = V2025_1 . Family , DownstreamProductFamily = V2026_0 . Family
5859 } ;
5960
60- public static DependencyDefinition Consolidated { get ; } =
61- new MetalamaDependencyDefinition (
62- ProductFamily . ConsolidatedProjectName ,
63- VcsProvider . AzureDevOps ,
64- null ,
65- false ,
66- customRepositoryName : "Metalama.Consolidated" ) ;
67-
6861 // The release build is intentionally used for the debug configuration because we want dependencies to consume the release
6962 // build, for performance reasons. The debug build will be used only locally, and for this we don't need a configuration here.
7063 public static DependencyDefinition MetalamaCompiler { get ; } =
@@ -108,6 +101,12 @@ public MetalamaDependencyDefinition(
108101 "Metalama.Testing.*" ,
109102 "Metalama.Tool" ,
110103 "Flashtrace*"
104+ ] ,
105+ Dependencies =
106+ [
107+ DevelopmentDependencies . PostSharpEngineering ,
108+ MetalamaCompiler . ToDependency (
109+ new ConfigurationSpecific < BuildConfiguration > ( BuildConfiguration . Release , BuildConfiguration . Release , BuildConfiguration . Public ) )
111110 ]
112111 } ;
113112
@@ -127,20 +126,37 @@ public MetalamaDependencyDefinition(
127126 "Metalama.Patterns.Caching.Backends.Azure" ,
128127 "Metalama.Patterns.Caching.Backends.Redis" ,
129128 "Metalama.Licensing"
130- ]
129+ ] ,
130+ Dependencies = [ DevelopmentDependencies . PostSharpEngineering , Metalama ]
131131 } ;
132132
133133 public static DependencyDefinition MetalamaVsx { get ; } =
134134 new MetalamaDependencyDefinition (
135135 "Metalama.Vsx" ,
136136 VcsProvider . AzureDevOps ,
137- null ) { PackagePatterns = [ "Metalama.Repacked" ] } ;
137+ null )
138+ {
139+ PackagePatterns = [ "Metalama.Repacked" ] ,
140+ Dependencies =
141+ [
142+ DevelopmentDependencies . PostSharpEngineering , Metalama ,
143+ PostSharpDependencies . V2025_1 . PostSharp . ToDependency ( new ConfigurationSpecific < BuildConfiguration > (
144+ BuildConfiguration . Release ,
145+ BuildConfiguration . Release ,
146+ BuildConfiguration . Release ) )
147+ ]
148+ } ;
138149
139150 public static DependencyDefinition MetalamaSamples { get ; } =
140151 new MetalamaDependencyDefinition (
141152 "Metalama.Samples" ,
142153 VcsProvider . GitHub ,
143- MetalamaGitHubOrganization . Metalama ) { CodeStyle = "Metalama.Samples" , PackagePatterns = [ "Metalama.Documentation.QuickStart" ] } ;
154+ MetalamaGitHubOrganization . Metalama )
155+ {
156+ CodeStyle = "Metalama.Samples" ,
157+ PackagePatterns = [ "Metalama.Documentation.QuickStart" ] ,
158+ Dependencies = [ DevelopmentDependencies . PostSharpEngineering , MetalamaPremium ]
159+ } ;
144160
145161 public static DependencyDefinition TimelessDotNetEngineer { get ; } =
146162 new MetalamaDependencyDefinition (
@@ -152,14 +168,17 @@ public MetalamaDependencyDefinition(
152168 new MetalamaDependencyDefinition (
153169 "Metalama.Community" ,
154170 VcsProvider . GitHub ,
155- MetalamaGitHubOrganization . PostSharp ) ;
171+ MetalamaGitHubOrganization . PostSharp ) { Dependencies = [ DevelopmentDependencies . PostSharpEngineering , Metalama ] } ;
156172
157173 public static DependencyDefinition MetalamaDocumentation { get ; } =
158174 new MetalamaDependencyDefinition (
159175 "Metalama.Documentation" ,
160176 VcsProvider . GitHub ,
161177 MetalamaGitHubOrganization . Metalama ,
162- false ) ;
178+ false )
179+ {
180+ Dependencies = [ DevelopmentDependencies . PostSharpEngineering , MetalamaSamples ] , SourceDependencies = [ MetalamaSamples , MetalamaCommunity ]
181+ } ;
163182
164183 public static DependencyDefinition NopCommerce { get ; } =
165184 new MetalamaDependencyDefinition (
@@ -169,7 +188,7 @@ public MetalamaDependencyDefinition(
169188 false ,
170189 parentCiProjectId : $ "Metalama_Metalama{ Family . VersionWithoutDots } _MetalamaTests",
171190 vcsRootProjectId : $ "Metalama_Metalama{ Family . VersionWithoutDots } ",
172- customBranch : $ "dev/{ Family . Version } " ) ;
191+ customBranch : $ "dev/{ Family . Version } " ) { Dependencies = [ DevelopmentDependencies . PostSharpEngineering , Metalama ] } ;
173192
174193 public static DependencyDefinition DotNetSdkTests { get ; } =
175194 new MetalamaDependencyDefinition (
@@ -178,13 +197,48 @@ public MetalamaDependencyDefinition(
178197 MetalamaGitHubOrganization . PostSharp ,
179198 false ,
180199 parentCiProjectId : $ "Metalama_Metalama{ Family . VersionWithoutDots } _MetalamaTests",
181- vcsRootProjectId : $ "Metalama_Metalama{ Family . VersionWithoutDots } " ) ;
200+ vcsRootProjectId : $ "Metalama_Metalama{ Family . VersionWithoutDots } " )
201+ {
202+ Dependencies = [ DevelopmentDependencies . PostSharpEngineering , MetalamaPremium ]
203+ } ;
182204
183205 public static DependencyDefinition MetalamaPerformance { get ; } =
184206 new MetalamaDependencyDefinition (
185207 "Metalama.Performance" ,
186208 VcsProvider . GitHub ,
187209 MetalamaGitHubOrganization . PostSharp ,
188- false ) ;
210+ false ) { Dependencies = [ DevelopmentDependencies . PostSharpEngineering , Metalama ] } ;
211+
212+ public static DependencyDefinition Consolidated { get ; } =
213+ new MetalamaDependencyDefinition (
214+ ProductFamily . ConsolidatedProjectName ,
215+ VcsProvider . AzureDevOps ,
216+ null ,
217+ false ,
218+ customRepositoryName : "Metalama.Consolidated" )
219+ {
220+ Dependencies =
221+ [
222+ DevelopmentDependencies . PostSharpEngineering ,
223+ MetalamaCompiler ,
224+ Metalama ,
225+ MetalamaCommunity ,
226+ MetalamaPremium ,
227+ MetalamaSamples ,
228+ MetalamaDocumentation ,
229+ MetalamaVsx
230+ ] ,
231+ SourceDependencies =
232+ [
233+ MetalamaCompiler ,
234+ Metalama ,
235+ MetalamaCommunity ,
236+ MetalamaPremium ,
237+ MetalamaSamples ,
238+ MetalamaDocumentation ,
239+ MetalamaVsx ,
240+ NopCommerce
241+ ]
242+ } ;
189243 }
190244}
0 commit comments