From bc6f39e4c28df9d001d4ff1bf6c532f2b58926a1 Mon Sep 17 00:00:00 2001 From: Viktor Hofer Date: Sun, 23 Jan 2022 11:19:19 +0100 Subject: [PATCH 01/12] Use stable outputs in illink targets While building locally multiple times, I noticed that the incremental build of the illink-targets are now to aggressive and could cause the targets to either never run or too often. This could be the case when the linker doesn't trim anything and copies the inputs to the outputs directory with preserving the timestamps. In such cases the inputs would always be newer than the outputs and the step would alway run. Also the path that was used to construct the outputs was missing a trailing directory separator. Using a marker file instead to not be dependent on the freshness of the linker output. --- src/libraries/illink-sharedframework.targets | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/libraries/illink-sharedframework.targets b/src/libraries/illink-sharedframework.targets index 0cc83fb1c74677..2d368afccae1da 100644 --- a/src/libraries/illink-sharedframework.targets +++ b/src/libraries/illink-sharedframework.targets @@ -4,7 +4,8 @@ DependsOnTargets="PrepareForAssembliesTrim"> - $([MSBuild]::NormalizePath('$(ILLinkTrimAssemblyArtifactsRootDir)', 'trimmed-runtimepack')) + $([MSBuild]::NormalizeDirectory('$(ILLinkTrimAssemblyArtifactsRootDir)', 'trimmed-runtimepack')) + $(ILLinkTrimAssemblyArtifactsRootDir)sfx-marker.txt @@ -28,7 +29,7 @@ AfterTargets="Build" DependsOnTargets="GetSharedFrameworkAssembliesToTrim;PrepareForAssembliesTrim" Inputs="$(ILLinkTasksAssembly);@(SharedFrameworkAssemblyToTrim);@(SharedFrameworkSuppressionsXml)" - Outputs="@(SharedFrameworkAssemblyTrimmed)"> + Outputs="$(SharedFrameworkAssembliesMarkerFile)"> @@ -55,6 +56,10 @@ ToolExe="$(_DotNetHostFileName)" ToolPath="$(_DotNetHostDirectory)" /> + + + From 29d49836a4fa759e370e5274b1fbe03fd4f4bc6d Mon Sep 17 00:00:00 2001 From: Viktor Hofer Date: Sun, 23 Jan 2022 11:20:59 +0100 Subject: [PATCH 02/12] Update illink-oob.targets --- src/libraries/illink-oob.targets | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/libraries/illink-oob.targets b/src/libraries/illink-oob.targets index 4775c20bd93016..781bac0a7d0c80 100644 --- a/src/libraries/illink-oob.targets +++ b/src/libraries/illink-oob.targets @@ -5,6 +5,7 @@ $([MSBuild]::NormalizePath('$(ILLinkTrimAssemblyArtifactsRootDir)', 'trimmed-oobs')) + $(ILLinkTrimAssemblyArtifactsRootDir)oob-marker.txt @@ -56,7 +57,7 @@ AfterTargets="Build" DependsOnTargets="GetOOBAssembliesToTrim;PrepareForAssembliesTrim" Inputs="$(ILLinkTasksAssembly);@(OOBAssemblyToTrim);@(OOBAssemblyReference);@(OOBLibrarySuppressionsXml)" - Outputs="@(OOBLibraryTrimmed)"> + Outputs="$(OOBAssembliesMarkerFile)"> @@ -73,6 +74,10 @@ ToolExe="$(_DotNetHostFileName)" ToolPath="$(_DotNetHostDirectory)" /> + + + From 98b49ebd7fb5de955a04241fc48ea264122b5f29 Mon Sep 17 00:00:00 2001 From: Viktor Hofer Date: Sun, 23 Jan 2022 11:21:27 +0100 Subject: [PATCH 03/12] Update illink-oob.targets --- src/libraries/illink-oob.targets | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/libraries/illink-oob.targets b/src/libraries/illink-oob.targets index 781bac0a7d0c80..d1dbf5baef95ca 100644 --- a/src/libraries/illink-oob.targets +++ b/src/libraries/illink-oob.targets @@ -4,7 +4,7 @@ DependsOnTargets="PrepareForAssembliesTrim"> - $([MSBuild]::NormalizePath('$(ILLinkTrimAssemblyArtifactsRootDir)', 'trimmed-oobs')) + $([MSBuild]::NormalizeDirectory('$(ILLinkTrimAssemblyArtifactsRootDir)', 'trimmed-oobs')) $(ILLinkTrimAssemblyArtifactsRootDir)oob-marker.txt From 0e82185c8fe236a2768a215c3b423cd31cca9f0a Mon Sep 17 00:00:00 2001 From: Viktor Hofer Date: Sun, 23 Jan 2022 11:22:33 +0100 Subject: [PATCH 04/12] Update illink-oob.targets --- src/libraries/illink-oob.targets | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/libraries/illink-oob.targets b/src/libraries/illink-oob.targets index d1dbf5baef95ca..5829724ab68cf2 100644 --- a/src/libraries/illink-oob.targets +++ b/src/libraries/illink-oob.targets @@ -25,7 +25,7 @@ From 67f1795a9074447439d3c5787e26148965c842f9 Mon Sep 17 00:00:00 2001 From: Viktor Hofer Date: Tue, 25 Jan 2022 17:25:18 +0100 Subject: [PATCH 05/12] Update illink-oob.targets --- src/libraries/illink-oob.targets | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/libraries/illink-oob.targets b/src/libraries/illink-oob.targets index 5829724ab68cf2..2869cb00071f61 100644 --- a/src/libraries/illink-oob.targets +++ b/src/libraries/illink-oob.targets @@ -5,7 +5,7 @@ $([MSBuild]::NormalizeDirectory('$(ILLinkTrimAssemblyArtifactsRootDir)', 'trimmed-oobs')) - $(ILLinkTrimAssemblyArtifactsRootDir)oob-marker.txt + $(BaseIntermediateOutputPath)oob-linker-marker.txt From 34b263db892240efc1733d4424517e5444624681 Mon Sep 17 00:00:00 2001 From: Viktor Hofer Date: Tue, 25 Jan 2022 17:25:46 +0100 Subject: [PATCH 06/12] Update illink-sharedframework.targets --- src/libraries/illink-sharedframework.targets | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/libraries/illink-sharedframework.targets b/src/libraries/illink-sharedframework.targets index 2d368afccae1da..9e4c26f9d5eca5 100644 --- a/src/libraries/illink-sharedframework.targets +++ b/src/libraries/illink-sharedframework.targets @@ -5,7 +5,7 @@ $([MSBuild]::NormalizeDirectory('$(ILLinkTrimAssemblyArtifactsRootDir)', 'trimmed-runtimepack')) - $(ILLinkTrimAssemblyArtifactsRootDir)sfx-marker.txt + $(BaseIntermediateOutputPath)sfx-linker-marker.txt From 97bb64e523d29a43ec641c19df8fe7c9a37baea3 Mon Sep 17 00:00:00 2001 From: Viktor Hofer Date: Fri, 28 Jan 2022 12:16:45 +0100 Subject: [PATCH 07/12] Update illink-oob.targets --- src/libraries/illink-oob.targets | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/libraries/illink-oob.targets b/src/libraries/illink-oob.targets index 2869cb00071f61..eb2d0167a9716a 100644 --- a/src/libraries/illink-oob.targets +++ b/src/libraries/illink-oob.targets @@ -5,7 +5,7 @@ $([MSBuild]::NormalizeDirectory('$(ILLinkTrimAssemblyArtifactsRootDir)', 'trimmed-oobs')) - $(BaseIntermediateOutputPath)oob-linker-marker.txt + $(IntermediateOutputPath)oob-linker-$(TargetOS)-marker.txt From 2bbff13ff4f80c4adeab9b160ce6f64f5b175747 Mon Sep 17 00:00:00 2001 From: Viktor Hofer Date: Fri, 28 Jan 2022 12:17:14 +0100 Subject: [PATCH 08/12] Update illink-sharedframework.targets --- src/libraries/illink-sharedframework.targets | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/libraries/illink-sharedframework.targets b/src/libraries/illink-sharedframework.targets index 9e4c26f9d5eca5..a8d46595e0340c 100644 --- a/src/libraries/illink-sharedframework.targets +++ b/src/libraries/illink-sharedframework.targets @@ -5,7 +5,7 @@ $([MSBuild]::NormalizeDirectory('$(ILLinkTrimAssemblyArtifactsRootDir)', 'trimmed-runtimepack')) - $(BaseIntermediateOutputPath)sfx-linker-marker.txt + $(IntermediateOutputPath)sfx-linker-$(TargetOS)-marker.txt From 572315a2ce76c0db18c2bffd67c2f6f0627db6a0 Mon Sep 17 00:00:00 2001 From: Viktor Hofer Date: Fri, 28 Jan 2022 12:19:07 +0100 Subject: [PATCH 09/12] Update illink-oob.targets --- src/libraries/illink-oob.targets | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/libraries/illink-oob.targets b/src/libraries/illink-oob.targets index eb2d0167a9716a..76a84ad954c574 100644 --- a/src/libraries/illink-oob.targets +++ b/src/libraries/illink-oob.targets @@ -5,7 +5,7 @@ $([MSBuild]::NormalizeDirectory('$(ILLinkTrimAssemblyArtifactsRootDir)', 'trimmed-oobs')) - $(IntermediateOutputPath)oob-linker-$(TargetOS)-marker.txt + $(IntermediateOutputPath)oob-linker-$(TargetOS)-$(TargetArchitecture)-marker.txt From 05182f4d212bff14b9d8c8a8500f3e7449d8768d Mon Sep 17 00:00:00 2001 From: Viktor Hofer Date: Fri, 28 Jan 2022 12:19:26 +0100 Subject: [PATCH 10/12] Update illink-sharedframework.targets --- src/libraries/illink-sharedframework.targets | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/libraries/illink-sharedframework.targets b/src/libraries/illink-sharedframework.targets index a8d46595e0340c..f509d1583411a2 100644 --- a/src/libraries/illink-sharedframework.targets +++ b/src/libraries/illink-sharedframework.targets @@ -5,7 +5,7 @@ $([MSBuild]::NormalizeDirectory('$(ILLinkTrimAssemblyArtifactsRootDir)', 'trimmed-runtimepack')) - $(IntermediateOutputPath)sfx-linker-$(TargetOS)-marker.txt + $(IntermediateOutputPath)sfx-linker-$(TargetOS)-$(TargetArchitecture)-marker.txt From fe15f3a2a27a33fae71e149117d7824dc3a775a4 Mon Sep 17 00:00:00 2001 From: Viktor Hofer Date: Fri, 28 Jan 2022 13:31:08 +0100 Subject: [PATCH 11/12] Update illink-oob.targets --- src/libraries/illink-oob.targets | 1 + 1 file changed, 1 insertion(+) diff --git a/src/libraries/illink-oob.targets b/src/libraries/illink-oob.targets index 76a84ad954c574..d609c1d47bdf26 100644 --- a/src/libraries/illink-oob.targets +++ b/src/libraries/illink-oob.targets @@ -75,6 +75,7 @@ ToolPath="$(_DotNetHostDirectory)" /> + From f58af2f3e5995b8e203fc11db751690bc813bc74 Mon Sep 17 00:00:00 2001 From: Viktor Hofer Date: Fri, 28 Jan 2022 13:31:27 +0100 Subject: [PATCH 12/12] Update illink-sharedframework.targets --- src/libraries/illink-sharedframework.targets | 1 + 1 file changed, 1 insertion(+) diff --git a/src/libraries/illink-sharedframework.targets b/src/libraries/illink-sharedframework.targets index f509d1583411a2..8641657b9f58d0 100644 --- a/src/libraries/illink-sharedframework.targets +++ b/src/libraries/illink-sharedframework.targets @@ -57,6 +57,7 @@ ToolPath="$(_DotNetHostDirectory)" /> +