[msbuild] Share more code between XI and XM Archive tasks (#10517)

Xamarin.Mac was already simplified for dSYM in a previous PR.

Additional sharing will require to determine what Catalyst needs.
This commit is contained in:
Sebastien Pouliot 2021-01-26 11:15:06 -05:00 коммит произвёл GitHub
Родитель f98b901d53
Коммит 6604bd4b9d
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 4AEE18F83AFDEB23
2 изменённых файлов: 15 добавлений и 32 удалений

Просмотреть файл

@ -90,6 +90,14 @@ namespace Xamarin.MacDev.Tasks
}
}
protected void ArchiveMSym (string msymDir, string archiveDir)
{
if (Directory.Exists (msymDir)) {
var destDir = Path.Combine (archiveDir, "mSYMs", Path.GetFileName (msymDir));
Ditto (msymDir, destDir);
}
}
protected static int Ditto (string source, string destination)
{
var args = new CommandLineArgumentBuilder ();

Просмотреть файл

@ -83,18 +83,10 @@ namespace Xamarin.iOS.Tasks
// Note: App Extension dSYM dirs exist alongside the main app bundle now that they are generated from the main app's MSBuild targets
var dsymDir = Path.Combine (Path.GetDirectoryName (AppBundleDir.ItemSpec), Path.GetFileName (appex.ItemSpec) + ".dSYM");
if (Directory.Exists (dsymDir)) {
var destDir = Path.Combine (archiveDir, "dSYMs", Path.GetFileName (dsymDir));
Ditto (dsymDir, destDir);
}
ArchiveDSym (dsymDir, archiveDir);
var msymDir = appex.ItemSpec + ".mSYM";
if (Directory.Exists (msymDir)) {
var destDir = Path.Combine (archiveDir, "mSYMs", Path.GetFileName (msymDir));
Ditto (msymDir, destDir);
}
ArchiveMSym (msymDir, archiveDir);
}
void ArchiveWatchApp (ITaskItem watchApp, string archiveDir)
@ -108,18 +100,10 @@ namespace Xamarin.iOS.Tasks
}
var dsymDir = watchApp.ItemSpec + ".dSYM";
if (Directory.Exists (dsymDir)) {
var destDir = Path.Combine (archiveDir, "dSYMs", Path.GetFileName (dsymDir));
Ditto (dsymDir, destDir);
}
ArchiveDSym (dsymDir, archiveDir);
var msymDir = watchApp.ItemSpec + ".mSYM";
if (Directory.Exists (msymDir)) {
var destDir = Path.Combine (archiveDir, "mSYMs", Path.GetFileName (msymDir));
Ditto (msymDir, destDir);
}
ArchiveMSym (msymDir, archiveDir);
}
void AddIconPaths (PArray icons, PArray iconFiles, string productsDir)
@ -168,10 +152,7 @@ namespace Xamarin.iOS.Tasks
Ditto (AppBundleDir.ItemSpec, appDestDir);
// Archive the dSYMs...
if (Directory.Exists (DSYMDir)) {
var destDir = Path.Combine (archiveDir, "dSYMs", Path.GetFileName (DSYMDir));
Ditto (DSYMDir, destDir);
}
ArchiveDSym (DSYMDir, archiveDir);
// for each user framework that is bundled inside the app we must also archive their dSYMs, if available
var fwks = Path.Combine (AppBundleDir.ItemSpec, "Frameworks");
@ -179,18 +160,12 @@ namespace Xamarin.iOS.Tasks
foreach (var fx in Directory.GetDirectories (fwks, "*.framework")) {
var dsym = Path.GetFileName (fx) + ".dSYM";
var fq_dsym = Path.Combine (AppBundleDir.ItemSpec, "..", dsym);
if (Directory.Exists (fq_dsym)) {
var destDir = Path.Combine (archiveDir, "dSYMs", dsym);
Ditto (fq_dsym, destDir);
}
ArchiveDSym (fq_dsym, archiveDir);
}
}
// Archive the mSYMs...
if (Directory.Exists (MSYMDir)) {
var destDir = Path.Combine (archiveDir, "mSYMs", Path.GetFileName (MSYMDir));
Ditto (MSYMDir, destDir);
}
ArchiveMSym (MSYMDir, archiveDir);
// Archive the Bitcode symbol maps
var bcSymbolMaps = Directory.GetFiles (Path.GetDirectoryName (DSYMDir), "*.bcsymbolmap");