Skip to content

Commit 7b40d09

Browse files
gfraiteurclaude
andcommitted
Fix dependency resolution for repos under source-dependencies on TeamCity
When a repo is checked out under source-dependencies/<repo>, walk up to the TC work directory root to locate the dependencies/ folder. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1 parent fbd6099 commit 7b40d09

File tree

1 file changed

+12
-1
lines changed

1 file changed

+12
-1
lines changed

src/PostSharp.Engineering.BuildTools/Build/Files/DependenciesConfigurationFile.cs

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -228,9 +228,20 @@ bool TryGetBuildId( out string? versionFile1, out ICiBuildSpec? ciBuildSpec )
228228

229229
var dependencySource = DependencySource.CreateRestoredDependency( (CiBuildId) buildSpec, origin );
230230

231+
// On TeamCity, the repo may be checked out under source-dependencies/<repo>.
232+
// In that case, dependencies/ is at the work directory root (parent of source-dependencies).
233+
var dependenciesBaseDir = context.RepoDirectory;
234+
var parentDir = Path.GetDirectoryName( context.RepoDirectory );
235+
236+
if ( parentDir != null &&
237+
string.Equals( Path.GetFileName( parentDir ), "source-dependencies", StringComparison.OrdinalIgnoreCase ) )
238+
{
239+
dependenciesBaseDir = Path.GetDirectoryName( parentDir )!;
240+
}
241+
231242
dependencySource.VersionFile = Path.GetFullPath(
232243
Path.Combine(
233-
context.RepoDirectory,
244+
dependenciesBaseDir,
234245
"dependencies",
235246
name,
236247
name + ".version.props" ) );

0 commit comments

Comments
 (0)