From 7365824ddc6ed66152cfc50f4c8508368953099c Mon Sep 17 00:00:00 2001
From: Omair Majid <omajid@redhat.com>
Date: Tue, 9 Nov 2021 08:39:27 -0500
Subject: [PATCH] Also publish non-portable RID runtime symbols tarball
This fixes a regression in .NET 6 source-build compared to the .NET
5 source-build.
source-build wants to publish runtime symbols tarball for portable (eg,
linux-x64) and non-portable (eg, fedora.33-x64) RIDs here after a build.
Following .NET 5 conventions, I expected to see:
./artifacts/x64/Release/runtime/dotnet-runtime-symbols-fedora.34-x64-6.0.0.tar.gz
./artifacts/x64/Release/runtime/dotnet-runtime-symbols-linux-x64-6.0.0.tar.gz
Unfortunately, only the portable RID (linux-x64) tarball is present
after a full source-build in .NET 6.
It turns out this is a bug in our build scripts. We try and copy
binaries - including the symbol tarballs - after building each of
runtime-portable and runtime. However, the target dependency is wrong:
after `Build`, the intermediate package doesn't exist from the
just-built repo.
What ends up happening is that nothing is copied after building
runtime-portable. However, after building runtime, the runtime-portable
intermediate artifacts are found and copied over. So the end
build has portable RID symbos, but not the non-portable ones.
Fix that by changing the dependency of this target so it runs after
intermediate packages are available.
---
src/SourceBuild/tarball/content/repos/runtime.common.targets | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/SourceBuild/tarball/content/repos/runtime.common.targets b/src/SourceBuild/tarball/content/repos/runtime.common.targets
index ca606b23d21..862b70dc832 100644
--- a/src/SourceBuild/tarball/content/repos/runtime.common.targets
+++ b/src/SourceBuild/tarball/content/repos/runtime.common.targets
@@ -23,7 +23,7 @@
</Target>
<Target Name="CopyBinariesToBinFolder"
- AfterTargets="Build"
+ AfterTargets="ExtractIntermediatePackages"
Inputs="$(MSBuildProjectFullPath)"
Outputs="$(RepoCompletedSemaphorePath)CopyBinariesToBinFolder.complete">
<ItemGroup>