From c04a03779d3442e948726a041964a01f4e890fd5 Mon Sep 17 00:00:00 2001 From: Jared Parsons Date: Fri, 9 Aug 2019 11:17:40 -0700 Subject: [PATCH] Move to new ilasm version The latest version of ilasm produced by coreclr is now a fully independent executable; it no longer depends on having a full runtime laid down next to it. This means we can vastly simplify how it is deployde in our infrastructure. The package can now be included and have ilasm manually copied out. This is similar to the approach that we take for our diasymreader native dependencies. closes #37582 related #25930, #25144 --- Compilers.sln | 7 -- Roslyn.sln | 7 -- eng/Versions.props | 5 ++ eng/targets/ILTools.targets | 37 +++++++++ ....CodeAnalysis.CSharp.Emit.UnitTests.csproj | 1 + ...eAnalysis.CSharp.Semantic.UnitTests.csproj | 1 + ...odeAnalysis.CSharp.Symbol.UnitTests.csproj | 1 + ...CodeAnalysis.CSharp.WinRT.UnitTests.csproj | 1 + ...Analysis.VisualBasic.Emit.UnitTests.vbproj | 1 + ...ysis.VisualBasic.Semantic.UnitTests.vbproj | 1 + ...alysis.VisualBasic.Symbol.UnitTests.vbproj | 1 + .../Portable/Metadata/IlasmUtilities.cs | 42 +++++----- .../Portable/Roslyn.Test.Utilities.csproj | 7 -- src/Tools/ILTools/ILTools.proj | 76 ------------------- 14 files changed, 68 insertions(+), 120 deletions(-) create mode 100644 eng/targets/ILTools.targets delete mode 100644 src/Tools/ILTools/ILTools.proj diff --git a/Compilers.sln b/Compilers.sln index 2d80a270c17..f64f8fed7d4 100644 --- a/Compilers.sln +++ b/Compilers.sln @@ -142,8 +142,6 @@ Project("{D954291E-2A0B-460D-934E-DC6B0785DB48}") = "CSharpAnalyzerDriver", "src EndProject Project("{D954291E-2A0B-460D-934E-DC6B0785DB48}") = "BasicAnalyzerDriver", "src\Compilers\VisualBasic\BasicAnalyzerDriver\BasicAnalyzerDriver.shproj", "{E8F0BAA5-7327-43D1-9A51-644E81AE55F1}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ILAsm", "src\Tools\ILTools\ILTools.proj", "{46B3E63A-C462-4133-9F27-3B85DA5E7D37}" -EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Packages", "Packages", "{274B96B7-F815-47E3-9CA4-4024A57A478F}" EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.NETCore.Compilers.Package", "src\NuGet\Microsoft.NETCore.Compilers\Microsoft.NETCore.Compilers.Package.csproj", "{15FEBD1B-55CE-4EBD-85E3-04898260A25B}" @@ -405,10 +403,6 @@ Global {E512C6C1-F085-4AD7-B0D9-E8F1A0A2A510}.Debug|Any CPU.Build.0 = Debug|Any CPU {E512C6C1-F085-4AD7-B0D9-E8F1A0A2A510}.Release|Any CPU.ActiveCfg = Release|Any CPU {E512C6C1-F085-4AD7-B0D9-E8F1A0A2A510}.Release|Any CPU.Build.0 = Release|Any CPU - {46B3E63A-C462-4133-9F27-3B85DA5E7D37}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {46B3E63A-C462-4133-9F27-3B85DA5E7D37}.Debug|Any CPU.Build.0 = Debug|Any CPU - {46B3E63A-C462-4133-9F27-3B85DA5E7D37}.Release|Any CPU.ActiveCfg = Release|Any CPU - {46B3E63A-C462-4133-9F27-3B85DA5E7D37}.Release|Any CPU.Build.0 = Release|Any CPU {15FEBD1B-55CE-4EBD-85E3-04898260A25B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {15FEBD1B-55CE-4EBD-85E3-04898260A25B}.Debug|Any CPU.Build.0 = Debug|Any CPU {15FEBD1B-55CE-4EBD-85E3-04898260A25B}.Release|Any CPU.ActiveCfg = Release|Any CPU @@ -506,7 +500,6 @@ Global {E512C6C1-F085-4AD7-B0D9-E8F1A0A2A510} = {B20208C3-D3A6-4020-A274-6BE3786D29FB} {54E08BF5-F819-404F-A18D-0AB9EA81EA04} = {32A48625-F0AD-419D-828B-A50BDABA38EA} {E8F0BAA5-7327-43D1-9A51-644E81AE55F1} = {C65C6143-BED3-46E6-869E-9F0BE6E84C37} - {46B3E63A-C462-4133-9F27-3B85DA5E7D37} = {FD0FAF5F-1DED-485C-99FA-84B97F3A8EEC} {15FEBD1B-55CE-4EBD-85E3-04898260A25B} = {274B96B7-F815-47E3-9CA4-4024A57A478F} {27B1EAE2-2E06-48EF-8A67-06D6FB3DC275} = {274B96B7-F815-47E3-9CA4-4024A57A478F} {E0756C89-603F-4B48-8E64-1D53E62654C8} = {274B96B7-F815-47E3-9CA4-4024A57A478F} diff --git a/Roslyn.sln b/Roslyn.sln index 7c72ff077d3..3c9536c94ef 100644 --- a/Roslyn.sln +++ b/Roslyn.sln @@ -342,8 +342,6 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.CodeAnalysis.Edit EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AnalyzerRunner", "src\Tools\AnalyzerRunner\AnalyzerRunner.csproj", "{60166C60-813C-46C4-911D-2411B4ABBC0F}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ILTools", "src\Tools\ILTools\ILTools.proj", "{DA8522ED-02BC-499C-AC71-1DF884F63987}" -EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.CodeAnalysis.Debugging.Package", "src\Dependencies\CodeAnalysis.Debugging\Microsoft.CodeAnalysis.Debugging.Package.csproj", "{FC2AE90B-2E4B-4045-9FDD-73D4F5ED6C89}" EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.CodeAnalysis.PooledObjects.Package", "src\Dependencies\PooledObjects\Microsoft.CodeAnalysis.PooledObjects.Package.csproj", "{49E7C367-181B-499C-AC2E-8E17C81418D6}" @@ -983,10 +981,6 @@ Global {60166C60-813C-46C4-911D-2411B4ABBC0F}.Debug|Any CPU.Build.0 = Debug|Any CPU {60166C60-813C-46C4-911D-2411B4ABBC0F}.Release|Any CPU.ActiveCfg = Release|Any CPU {60166C60-813C-46C4-911D-2411B4ABBC0F}.Release|Any CPU.Build.0 = Release|Any CPU - {DA8522ED-02BC-499C-AC71-1DF884F63987}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {DA8522ED-02BC-499C-AC71-1DF884F63987}.Debug|Any CPU.Build.0 = Debug|Any CPU - {DA8522ED-02BC-499C-AC71-1DF884F63987}.Release|Any CPU.ActiveCfg = Release|Any CPU - {DA8522ED-02BC-499C-AC71-1DF884F63987}.Release|Any CPU.Build.0 = Release|Any CPU {FC2AE90B-2E4B-4045-9FDD-73D4F5ED6C89}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {FC2AE90B-2E4B-4045-9FDD-73D4F5ED6C89}.Debug|Any CPU.Build.0 = Debug|Any CPU {FC2AE90B-2E4B-4045-9FDD-73D4F5ED6C89}.Release|Any CPU.ActiveCfg = Release|Any CPU @@ -1293,7 +1287,6 @@ Global {2D36C343-BB6A-4CB5-902B-E2145ACCB58F} = {FD0FAF5F-1DED-485C-99FA-84B97F3A8EEC} {FFB00FB5-8C8C-4A02-B67D-262B9D28E8B1} = {EE97CB90-33BB-4F3A-9B3D-69375DEC6AC6} {60166C60-813C-46C4-911D-2411B4ABBC0F} = {FD0FAF5F-1DED-485C-99FA-84B97F3A8EEC} - {DA8522ED-02BC-499C-AC71-1DF884F63987} = {FD0FAF5F-1DED-485C-99FA-84B97F3A8EEC} {FC2AE90B-2E4B-4045-9FDD-73D4F5ED6C89} = {C2D1346B-9665-4150-B644-075CF1636BAA} {49E7C367-181B-499C-AC2E-8E17C81418D6} = {C2D1346B-9665-4150-B644-075CF1636BAA} {037F06F0-3BE8-42D0-801E-2F74FC380AB8} = {55A62CFA-1155-46F1-ADF3-BEEE51B58AB5} diff --git a/eng/Versions.props b/eng/Versions.props index e2ed25d9b42..00ed3c67a4e 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -24,6 +24,7 @@ 1.0.0-beta1-63310-01 3.3.0-beta2-19376-02 16.1.101 + 5.0.0-alpha1.19409.1 + + + + <_ILToolsVersion>5.0.0-dev.19379.1 + + + + + + PreserveNewest + runtime + false + false + + + PreserveNewest + runtime + false + false + + + PreserveNewest + runtime + false + false + + + + + + + \ No newline at end of file diff --git a/src/Compilers/CSharp/Test/Emit/Microsoft.CodeAnalysis.CSharp.Emit.UnitTests.csproj b/src/Compilers/CSharp/Test/Emit/Microsoft.CodeAnalysis.CSharp.Emit.UnitTests.csproj index 7f7628868bc..a3ff8e5010a 100644 --- a/src/Compilers/CSharp/Test/Emit/Microsoft.CodeAnalysis.CSharp.Emit.UnitTests.csproj +++ b/src/Compilers/CSharp/Test/Emit/Microsoft.CodeAnalysis.CSharp.Emit.UnitTests.csproj @@ -41,4 +41,5 @@ + \ No newline at end of file diff --git a/src/Compilers/CSharp/Test/Semantic/Microsoft.CodeAnalysis.CSharp.Semantic.UnitTests.csproj b/src/Compilers/CSharp/Test/Semantic/Microsoft.CodeAnalysis.CSharp.Semantic.UnitTests.csproj index 5e0fda3a968..dc9307fff86 100644 --- a/src/Compilers/CSharp/Test/Semantic/Microsoft.CodeAnalysis.CSharp.Semantic.UnitTests.csproj +++ b/src/Compilers/CSharp/Test/Semantic/Microsoft.CodeAnalysis.CSharp.Semantic.UnitTests.csproj @@ -22,4 +22,5 @@ + \ No newline at end of file diff --git a/src/Compilers/CSharp/Test/Symbol/Microsoft.CodeAnalysis.CSharp.Symbol.UnitTests.csproj b/src/Compilers/CSharp/Test/Symbol/Microsoft.CodeAnalysis.CSharp.Symbol.UnitTests.csproj index bc7d8b342bd..41c0f83c0d4 100644 --- a/src/Compilers/CSharp/Test/Symbol/Microsoft.CodeAnalysis.CSharp.Symbol.UnitTests.csproj +++ b/src/Compilers/CSharp/Test/Symbol/Microsoft.CodeAnalysis.CSharp.Symbol.UnitTests.csproj @@ -20,4 +20,5 @@ + diff --git a/src/Compilers/CSharp/Test/WinRT/Microsoft.CodeAnalysis.CSharp.WinRT.UnitTests.csproj b/src/Compilers/CSharp/Test/WinRT/Microsoft.CodeAnalysis.CSharp.WinRT.UnitTests.csproj index c1ff143e4dd..15cb3cbdf3a 100644 --- a/src/Compilers/CSharp/Test/WinRT/Microsoft.CodeAnalysis.CSharp.WinRT.UnitTests.csproj +++ b/src/Compilers/CSharp/Test/WinRT/Microsoft.CodeAnalysis.CSharp.WinRT.UnitTests.csproj @@ -22,4 +22,5 @@ + diff --git a/src/Compilers/VisualBasic/Test/Emit/Microsoft.CodeAnalysis.VisualBasic.Emit.UnitTests.vbproj b/src/Compilers/VisualBasic/Test/Emit/Microsoft.CodeAnalysis.VisualBasic.Emit.UnitTests.vbproj index 2648689316e..26d732953b5 100644 --- a/src/Compilers/VisualBasic/Test/Emit/Microsoft.CodeAnalysis.VisualBasic.Emit.UnitTests.vbproj +++ b/src/Compilers/VisualBasic/Test/Emit/Microsoft.CodeAnalysis.VisualBasic.Emit.UnitTests.vbproj @@ -186,4 +186,5 @@ + diff --git a/src/Compilers/VisualBasic/Test/Semantic/Microsoft.CodeAnalysis.VisualBasic.Semantic.UnitTests.vbproj b/src/Compilers/VisualBasic/Test/Semantic/Microsoft.CodeAnalysis.VisualBasic.Semantic.UnitTests.vbproj index 8be6050d100..7210a1624f9 100644 --- a/src/Compilers/VisualBasic/Test/Semantic/Microsoft.CodeAnalysis.VisualBasic.Semantic.UnitTests.vbproj +++ b/src/Compilers/VisualBasic/Test/Semantic/Microsoft.CodeAnalysis.VisualBasic.Semantic.UnitTests.vbproj @@ -94,4 +94,5 @@ + \ No newline at end of file diff --git a/src/Compilers/VisualBasic/Test/Symbol/Microsoft.CodeAnalysis.VisualBasic.Symbol.UnitTests.vbproj b/src/Compilers/VisualBasic/Test/Symbol/Microsoft.CodeAnalysis.VisualBasic.Symbol.UnitTests.vbproj index 4b59721e8d6..9671c3e8991 100644 --- a/src/Compilers/VisualBasic/Test/Symbol/Microsoft.CodeAnalysis.VisualBasic.Symbol.UnitTests.vbproj +++ b/src/Compilers/VisualBasic/Test/Symbol/Microsoft.CodeAnalysis.VisualBasic.Symbol.UnitTests.vbproj @@ -32,4 +32,5 @@ + \ No newline at end of file diff --git a/src/Test/Utilities/Portable/Metadata/IlasmUtilities.cs b/src/Test/Utilities/Portable/Metadata/IlasmUtilities.cs index 6a65c53010d..11280443d99 100644 --- a/src/Test/Utilities/Portable/Metadata/IlasmUtilities.cs +++ b/src/Test/Utilities/Portable/Metadata/IlasmUtilities.cs @@ -21,36 +21,32 @@ public static DisposableFile CreateTempAssembly(string declarations, bool prepen private static string GetIlasmPath() { - if (ExecutionConditionUtil.IsWindowsDesktop) - { - return Path.Combine( - Path.GetDirectoryName(RuntimeUtilities.GetAssemblyLocation(typeof(object))), - "ilasm.exe"); - } - else - { - var ilasmExeName = PlatformInformation.IsWindows ? "ilasm.exe" : "ilasm"; + var ilasmExeName = PlatformInformation.IsWindows ? "ilasm.exe" : "ilasm"; + var directory = Path.GetDirectoryName(RuntimeUtilities.GetAssemblyLocation(typeof(RuntimeUtilities))); + string ridName = null; - var directory = Path.GetDirectoryName(RuntimeUtilities.GetAssemblyLocation(typeof(RuntimeUtilities))); - string path = null; -#if DEBUG - const string configuration = "Debug"; -#else - const string configuration = "Release"; -#endif - - while (directory != null && !File.Exists(path = Path.Combine(directory, "artifacts", "tools", "ILTools", configuration, ilasmExeName))) + if (ExecutionConditionUtil.Architecture == ExecutionArchitecture.x64) + { + if (ExecutionConditionUtil.IsWindows) { - directory = Path.GetDirectoryName(directory); + ridName = "win-x64"; } - - if (directory == null) + else if (ExecutionConditionUtil.IsUnix) { - throw new NotSupportedException("Unable to find CoreCLR ilasm tool. Has the Microsoft.NETCore.ILAsm package been published to /artifacts/tools?"); + ridName = "linux-x64"; } + else if (ExecutionConditionUtil.IsMacOS) + { + ridName = "osx-x64"; + } + } - return path; + if (ridName is null) + { + throw new Exception("Runtime platform not supported for testing"); } + + return Path.Combine(directory, "runtime", ridName, "native", ilasmExeName); } private static readonly string IlasmPath = GetIlasmPath(); diff --git a/src/Test/Utilities/Portable/Roslyn.Test.Utilities.csproj b/src/Test/Utilities/Portable/Roslyn.Test.Utilities.csproj index df73aa6fe04..f58c419f9e7 100644 --- a/src/Test/Utilities/Portable/Roslyn.Test.Utilities.csproj +++ b/src/Test/Utilities/Portable/Roslyn.Test.Utilities.csproj @@ -13,13 +13,6 @@ - - - diff --git a/src/Tools/ILTools/ILTools.proj b/src/Tools/ILTools/ILTools.proj deleted file mode 100644 index 775833885d0..00000000000 --- a/src/Tools/ILTools/ILTools.proj +++ /dev/null @@ -1,76 +0,0 @@ - - - netcoreapp2.1 - - - true - true - true - false - false - false - - - false - None - - $(ArtifactsDir)tools\ILTools\$(Configuration)\ - - - - - - win-x64 - - - - - osx-x64 - - - - - linux-x64 - - - - - - - - - - - <_IlasmIncrementalBuildMarker>$(PublishDir).v$(MicrosoftNETCoreILAsmVersion) - - - - - - - - - - - - - - - - - $(MSBuildExtensionsPath)\Microsoft\VisualStudio\Managed\Microsoft.Managed.DesignTime.targets - - - - - - - - - -- GitLab