From 96c7f3fe19c85fbdf787156125fc1547ed105577 Mon Sep 17 00:00:00 2001
From: Adeel <3840695+am11@users.noreply.github.com>
Date: Wed, 30 Oct 2024 18:42:29 +0200
Subject: [PATCH 1/2] Generate build metadata for illink
---
.../src/ILLink.Tasks/ILLink.Tasks.csproj | 23 +++++++++++++++++++
src/tools/illink/src/ILLink.Tasks/LinkTask.cs | 9 +++++++-
2 files changed, 31 insertions(+), 1 deletion(-)
diff --git a/src/tools/illink/src/ILLink.Tasks/ILLink.Tasks.csproj b/src/tools/illink/src/ILLink.Tasks/ILLink.Tasks.csproj
index 6332aeb7bc356c..8d7fa081202895 100644
--- a/src/tools/illink/src/ILLink.Tasks/ILLink.Tasks.csproj
+++ b/src/tools/illink/src/ILLink.Tasks/ILLink.Tasks.csproj
@@ -78,4 +78,27 @@
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/tools/illink/src/ILLink.Tasks/LinkTask.cs b/src/tools/illink/src/ILLink.Tasks/LinkTask.cs
index ce24b35de9e485..b54b2c7510df1d 100644
--- a/src/tools/illink/src/ILLink.Tasks/LinkTask.cs
+++ b/src/tools/illink/src/ILLink.Tasks/LinkTask.cs
@@ -268,8 +268,15 @@ public string ILLinkPath {
#pragma warning disable IL3000 // Avoid accessing Assembly file path when publishing as a single file
var taskDirectory = Path.GetDirectoryName (Assembly.GetExecutingAssembly ().Location);
#pragma warning restore IL3000 // Avoid accessing Assembly file path when publishing as a single file
+
// IL Linker always runs on .NET Core, even when using desktop MSBuild to host ILLink.Tasks.
- _illinkPath = Path.Combine (Path.GetDirectoryName (taskDirectory), "net9.0", "illink.dll");
+ // ILLinkImplFramework ()= NetCoreAppToolCurrent) was used to build the corresponding illink.dll
+ string path = Path.Combine (Path.GetDirectoryName (taskDirectory), BuildMetadata.ILLinkImplFramework, "illink.dll");
+
+ Log.LogMessage(MessageImportance.Normal, $"ILLink.Tasks path: {path}");
+
+ _illinkPath = path;
+
return _illinkPath;
}
set => _illinkPath = value;
From 81d59102ccfec5985dcf361f25dcd8877c00e3a2 Mon Sep 17 00:00:00 2001
From: Adeel <3840695+am11@users.noreply.github.com>
Date: Thu, 31 Oct 2024 10:27:20 +0200
Subject: [PATCH 2/2] Use [MSBuild]::Escape to improve readability
---
.../illink/src/ILLink.Tasks/ILLink.Tasks.csproj | 17 ++++++++++++-----
1 file changed, 12 insertions(+), 5 deletions(-)
diff --git a/src/tools/illink/src/ILLink.Tasks/ILLink.Tasks.csproj b/src/tools/illink/src/ILLink.Tasks/ILLink.Tasks.csproj
index 8d7fa081202895..155ed36c8bb0ee 100644
--- a/src/tools/illink/src/ILLink.Tasks/ILLink.Tasks.csproj
+++ b/src/tools/illink/src/ILLink.Tasks/ILLink.Tasks.csproj
@@ -82,15 +82,22 @@
Inputs="$(MSBuildProjectFile)"
Outputs="$(IntermediateOutputPath)Generated_BuildMetadata.cs">
-
+
+
+
+