Linker into runtime diff2 (#78049)
authorTlakaelel Axayakatl Ceja <tlakaelel.ceja@microsoft.com>
Wed, 9 Nov 2022 00:16:11 +0000 (16:16 -0800)
committerTlakaelel Ceja Valadez <tlcejava@microsoft.com>
Tue, 15 Nov 2022 20:40:53 +0000 (12:40 -0800)
commit1f2c6cc1c828577ffac551f9fdedc0fa8e799dd9
tree3830e79f3fe46b704ddc3dd5770b5e513b5110e8
parent75cba8a8fc397ade0e6186b90eba2da1bbd63ee8
Linker into runtime diff2 (#78049)

* Merge and remove common files
Remove arcade eng\common directory in src\tools\illink since now we will use the runtime arcade infra
Remove build.cmd/build.sh and lint.cmd/lint.sh in src\tools\illink directory since now they will execute via a subset
Remove/Merge common files from src\tools\illink root:
 - .gitattributes
 - .gitignore
 - .github
 - .gitmodules
 - after.illink.sln.targets
 - code_of_conduct.md
 - global.json
 - LICENSE.txt
 - NuGet.config
 - THIRD-PARTY-NOTICES.TXT
Remove/Merge common files from src\tools\illink\eng:
 - Build.props
 - Publishing.props
 - Signing.props
 - SourceBuild.props
 - SourceBuildPrebuiltBaseline.xml
 - Tools.props
 - Version.Details.xml
 - Versions.props

* Create subsets to be able to build illink
Create a variable for the tools folder in runtime
Add subsets tools.illink and tools.illinktests for building illink and unitest it
Add Microsoft.DotNet.Cecil dependencies to runtime and to illink projects
Some workarounds to be able to build illink
Delete some cecil information from the external folder since now its a package

* Refactorings to make test work
Test projects use to have relative paths based on the current working directory to know where to find stuff, now that the project is in a different place things are not found, this commit changes to instead use MSBuild variables to calculate where things are
Add the cecil package to tests
Change a cecil test that verify the official package name to only care about the important pieces

* Enable pipeline
Add a variable to recognize when illink contains a change, and set an exclusion of the src/tools/* for other repos
Reuse the dotnet-linker-tests pipeline file to also run illink unitests every time there are illink changes

* Fix Markdown lint

* Remove checked-in binaries

* Use nunit for linker tests and fix cecil version test
213 files changed:
.github/CODEOWNERS
Directory.Build.props
THIRD-PARTY-NOTICES.TXT
eng/Subsets.props
eng/Version.Details.xml
eng/Versions.props
eng/pipelines/common/evaluate-default-paths.yml
eng/pipelines/runtime-linker-tests.yml
src/tools/illink/.editorconfig
src/tools/illink/.gitattributes [deleted file]
src/tools/illink/.github/CODEOWNERS [deleted file]
src/tools/illink/.github/CONTRIBUTING.md [deleted file]
src/tools/illink/.github/move.yml [deleted file]
src/tools/illink/.gitignore [deleted file]
src/tools/illink/.gitmodules [deleted file]
src/tools/illink/Directory.Build.props
src/tools/illink/LICENSE.txt [deleted file]
src/tools/illink/NuGet.config [deleted file]
src/tools/illink/THIRD-PARTY-NOTICES.TXT [deleted file]
src/tools/illink/after.illink.sln.targets [deleted file]
src/tools/illink/build.cmd [deleted file]
src/tools/illink/build.sh [deleted file]
src/tools/illink/code_of_conduct.md [deleted file]
src/tools/illink/docs/design/constant-propagation-and-branch-removal.md
src/tools/illink/docs/design/redundant-suppressions.md
src/tools/illink/docs/design/reflection-flow.md
src/tools/illink/docs/design/trimmed-assemblies.md
src/tools/illink/docs/error-codes.md
src/tools/illink/docs/illink-options.md
src/tools/illink/docs/illink-tasks.md
src/tools/illink/docs/serialization.md
src/tools/illink/eng/Build.props [deleted file]
src/tools/illink/eng/Publishing.props [deleted file]
src/tools/illink/eng/Signing.props [deleted file]
src/tools/illink/eng/SourceBuild.props [deleted file]
src/tools/illink/eng/SourceBuildPrebuiltBaseline.xml [deleted file]
src/tools/illink/eng/Tools.props [deleted file]
src/tools/illink/eng/Version.Details.xml [deleted file]
src/tools/illink/eng/Versions.props [deleted file]
src/tools/illink/eng/build.ps1 [deleted file]
src/tools/illink/eng/common/CIBuild.cmd [deleted file]
src/tools/illink/eng/common/PSScriptAnalyzerSettings.psd1 [deleted file]
src/tools/illink/eng/common/README.md [deleted file]
src/tools/illink/eng/common/SetupNugetSources.ps1 [deleted file]
src/tools/illink/eng/common/SetupNugetSources.sh [deleted file]
src/tools/illink/eng/common/build.ps1 [deleted file]
src/tools/illink/eng/common/build.sh [deleted file]
src/tools/illink/eng/common/cibuild.sh [deleted file]
src/tools/illink/eng/common/cross/arm/sources.list.bionic [deleted file]
src/tools/illink/eng/common/cross/arm/sources.list.focal [deleted file]
src/tools/illink/eng/common/cross/arm/sources.list.jammy [deleted file]
src/tools/illink/eng/common/cross/arm/sources.list.jessie [deleted file]
src/tools/illink/eng/common/cross/arm/sources.list.xenial [deleted file]
src/tools/illink/eng/common/cross/arm/sources.list.zesty [deleted file]
src/tools/illink/eng/common/cross/arm/tizen-build-rootfs.sh [deleted file]
src/tools/illink/eng/common/cross/arm/tizen-fetch.sh [deleted file]
src/tools/illink/eng/common/cross/arm/tizen/tizen.patch [deleted file]
src/tools/illink/eng/common/cross/arm64/sources.list.bionic [deleted file]
src/tools/illink/eng/common/cross/arm64/sources.list.buster [deleted file]
src/tools/illink/eng/common/cross/arm64/sources.list.focal [deleted file]
src/tools/illink/eng/common/cross/arm64/sources.list.jammy [deleted file]
src/tools/illink/eng/common/cross/arm64/sources.list.stretch [deleted file]
src/tools/illink/eng/common/cross/arm64/sources.list.xenial [deleted file]
src/tools/illink/eng/common/cross/arm64/sources.list.zesty [deleted file]
src/tools/illink/eng/common/cross/arm64/tizen-build-rootfs.sh [deleted file]
src/tools/illink/eng/common/cross/arm64/tizen-fetch.sh [deleted file]
src/tools/illink/eng/common/cross/arm64/tizen/tizen.patch [deleted file]
src/tools/illink/eng/common/cross/armel/armel.jessie.patch [deleted file]
src/tools/illink/eng/common/cross/armel/sources.list.jessie [deleted file]
src/tools/illink/eng/common/cross/armel/tizen-build-rootfs.sh [deleted file]
src/tools/illink/eng/common/cross/armel/tizen-fetch.sh [deleted file]
src/tools/illink/eng/common/cross/armel/tizen/tizen.patch [deleted file]
src/tools/illink/eng/common/cross/armv6/sources.list.buster [deleted file]
src/tools/illink/eng/common/cross/build-android-rootfs.sh [deleted file]
src/tools/illink/eng/common/cross/build-rootfs.sh [deleted file]
src/tools/illink/eng/common/cross/ppc64le/sources.list.bionic [deleted file]
src/tools/illink/eng/common/cross/riscv64/sources.list.sid [deleted file]
src/tools/illink/eng/common/cross/s390x/sources.list.bionic [deleted file]
src/tools/illink/eng/common/cross/toolchain.cmake [deleted file]
src/tools/illink/eng/common/cross/x86/sources.list.bionic [deleted file]
src/tools/illink/eng/common/cross/x86/sources.list.focal [deleted file]
src/tools/illink/eng/common/cross/x86/sources.list.jammy [deleted file]
src/tools/illink/eng/common/cross/x86/sources.list.xenial [deleted file]
src/tools/illink/eng/common/cross/x86/tizen-build-rootfs.sh [deleted file]
src/tools/illink/eng/common/cross/x86/tizen-fetch.sh [deleted file]
src/tools/illink/eng/common/cross/x86/tizen/tizen.patch [deleted file]
src/tools/illink/eng/common/darc-init.ps1 [deleted file]
src/tools/illink/eng/common/darc-init.sh [deleted file]
src/tools/illink/eng/common/dotnet-install.cmd [deleted file]
src/tools/illink/eng/common/dotnet-install.ps1 [deleted file]
src/tools/illink/eng/common/dotnet-install.sh [deleted file]
src/tools/illink/eng/common/enable-cross-org-publishing.ps1 [deleted file]
src/tools/illink/eng/common/generate-locproject.ps1 [deleted file]
src/tools/illink/eng/common/generate-sbom-prep.ps1 [deleted file]
src/tools/illink/eng/common/generate-sbom-prep.sh [deleted file]
src/tools/illink/eng/common/helixpublish.proj [deleted file]
src/tools/illink/eng/common/init-tools-native.cmd [deleted file]
src/tools/illink/eng/common/init-tools-native.ps1 [deleted file]
src/tools/illink/eng/common/init-tools-native.sh [deleted file]
src/tools/illink/eng/common/internal-feed-operations.ps1 [deleted file]
src/tools/illink/eng/common/internal-feed-operations.sh [deleted file]
src/tools/illink/eng/common/internal/Directory.Build.props [deleted file]
src/tools/illink/eng/common/internal/NuGet.config [deleted file]
src/tools/illink/eng/common/internal/Tools.csproj [deleted file]
src/tools/illink/eng/common/msbuild.ps1 [deleted file]
src/tools/illink/eng/common/msbuild.sh [deleted file]
src/tools/illink/eng/common/native/CommonLibrary.psm1 [deleted file]
src/tools/illink/eng/common/native/common-library.sh [deleted file]
src/tools/illink/eng/common/native/init-compiler.sh [deleted file]
src/tools/illink/eng/common/native/install-cmake-test.sh [deleted file]
src/tools/illink/eng/common/native/install-cmake.sh [deleted file]
src/tools/illink/eng/common/native/install-tool.ps1 [deleted file]
src/tools/illink/eng/common/pipeline-logging-functions.ps1 [deleted file]
src/tools/illink/eng/common/pipeline-logging-functions.sh [deleted file]
src/tools/illink/eng/common/post-build/add-build-to-channel.ps1 [deleted file]
src/tools/illink/eng/common/post-build/check-channel-consistency.ps1 [deleted file]
src/tools/illink/eng/common/post-build/nuget-validation.ps1 [deleted file]
src/tools/illink/eng/common/post-build/post-build-utils.ps1 [deleted file]
src/tools/illink/eng/common/post-build/publish-using-darc.ps1 [deleted file]
src/tools/illink/eng/common/post-build/sourcelink-validation.ps1 [deleted file]
src/tools/illink/eng/common/post-build/symbols-validation.ps1 [deleted file]
src/tools/illink/eng/common/post-build/trigger-subscriptions.ps1 [deleted file]
src/tools/illink/eng/common/retain-build.ps1 [deleted file]
src/tools/illink/eng/common/sdk-task.ps1 [deleted file]
src/tools/illink/eng/common/sdl/NuGet.config [deleted file]
src/tools/illink/eng/common/sdl/configure-sdl-tool.ps1 [deleted file]
src/tools/illink/eng/common/sdl/execute-all-sdl-tools.ps1 [deleted file]
src/tools/illink/eng/common/sdl/extract-artifact-archives.ps1 [deleted file]
src/tools/illink/eng/common/sdl/extract-artifact-packages.ps1 [deleted file]
src/tools/illink/eng/common/sdl/init-sdl.ps1 [deleted file]
src/tools/illink/eng/common/sdl/packages.config [deleted file]
src/tools/illink/eng/common/sdl/run-sdl.ps1 [deleted file]
src/tools/illink/eng/common/sdl/sdl.ps1 [deleted file]
src/tools/illink/eng/common/templates/job/execute-sdl.yml [deleted file]
src/tools/illink/eng/common/templates/job/job.yml [deleted file]
src/tools/illink/eng/common/templates/job/onelocbuild.yml [deleted file]
src/tools/illink/eng/common/templates/job/publish-build-assets.yml [deleted file]
src/tools/illink/eng/common/templates/job/source-build.yml [deleted file]
src/tools/illink/eng/common/templates/job/source-index-stage1.yml [deleted file]
src/tools/illink/eng/common/templates/jobs/codeql-build.yml [deleted file]
src/tools/illink/eng/common/templates/jobs/jobs.yml [deleted file]
src/tools/illink/eng/common/templates/jobs/source-build.yml [deleted file]
src/tools/illink/eng/common/templates/post-build/common-variables.yml [deleted file]
src/tools/illink/eng/common/templates/post-build/post-build.yml [deleted file]
src/tools/illink/eng/common/templates/post-build/setup-maestro-vars.yml [deleted file]
src/tools/illink/eng/common/templates/post-build/trigger-subscription.yml [deleted file]
src/tools/illink/eng/common/templates/steps/add-build-to-channel.yml [deleted file]
src/tools/illink/eng/common/templates/steps/build-reason.yml [deleted file]
src/tools/illink/eng/common/templates/steps/execute-codeql.yml [deleted file]
src/tools/illink/eng/common/templates/steps/execute-sdl.yml [deleted file]
src/tools/illink/eng/common/templates/steps/generate-sbom.yml [deleted file]
src/tools/illink/eng/common/templates/steps/publish-logs.yml [deleted file]
src/tools/illink/eng/common/templates/steps/retain-build.yml [deleted file]
src/tools/illink/eng/common/templates/steps/run-on-unix.yml [deleted file]
src/tools/illink/eng/common/templates/steps/run-on-windows.yml [deleted file]
src/tools/illink/eng/common/templates/steps/run-script-ifequalelse.yml [deleted file]
src/tools/illink/eng/common/templates/steps/send-to-helix.yml [deleted file]
src/tools/illink/eng/common/templates/steps/source-build.yml [deleted file]
src/tools/illink/eng/common/templates/steps/telemetry-end.yml [deleted file]
src/tools/illink/eng/common/templates/steps/telemetry-start.yml [deleted file]
src/tools/illink/eng/common/templates/variables/pool-providers.yml [deleted file]
src/tools/illink/eng/common/templates/variables/sdl-variables.yml [deleted file]
src/tools/illink/eng/common/tools.ps1 [deleted file]
src/tools/illink/eng/common/tools.sh [deleted file]
src/tools/illink/eng/dotnet.ps1 [deleted file]
src/tools/illink/eng/dotnet.sh [deleted file]
src/tools/illink/external/Mono.Cecil.overrides [deleted file]
src/tools/illink/external/cecil [deleted submodule]
src/tools/illink/global.json [deleted file]
src/tools/illink/lint.cmd [deleted file]
src/tools/illink/lint.sh [deleted file]
src/tools/illink/src/ILLink.CodeFix/ILLink.CodeFixProvider.csproj
src/tools/illink/src/ILLink.RoslynAnalyzer/ILLink.RoslynAnalyzer.csproj
src/tools/illink/src/ILLink.Tasks/ILLink.Tasks.csproj
src/tools/illink/src/analyzer/analyzer.csproj
src/tools/illink/src/linker/Mono.Linker.csproj
src/tools/illink/src/linker/ref/Mono.Linker.csproj
src/tools/illink/src/tlens/tlens.csproj
src/tools/illink/test/Directory.Build.props
src/tools/illink/test/ILLink.RoslynAnalyzer.Tests/ILLink.RoslynAnalyzer.Tests.csproj
src/tools/illink/test/ILLink.RoslynAnalyzer.Tests/TestCaseUtils.cs
src/tools/illink/test/ILLink.RoslynAnalyzer.Tests/generated/ILLink.RoslynAnalyzer.Tests.Generator/ILLink.RoslynAnalyzer.Tests.TestCaseGenerator/Inheritance.VirtualMethodsTests.g.cs
src/tools/illink/test/ILLink.Tasks.Tests/ILLink.Tasks.Tests.csproj
src/tools/illink/test/Mono.Linker.Tests.Cases/CppCLI/CppCLIAssemblyIsAnalyzed.cs
src/tools/illink/test/Mono.Linker.Tests.Cases/CppCLI/Dependencies/TestLibrary.dll [deleted file]
src/tools/illink/test/Mono.Linker.Tests.Cases/CppCLI/NonCopyActionWarnOnCppCLI.cs
src/tools/illink/test/Mono.Linker.Tests.Cases/Symbols/Dependencies/LibraryWithMdb/LibraryWithMdb.dll [deleted file]
src/tools/illink/test/Mono.Linker.Tests.Cases/Symbols/Dependencies/LibraryWithMdb/LibraryWithMdb.dll.mdb [deleted file]
src/tools/illink/test/Mono.Linker.Tests.Cases/Symbols/Dependencies/LibraryWithPdb/LibraryWithPdb.dll [deleted file]
src/tools/illink/test/Mono.Linker.Tests.Cases/Symbols/Dependencies/LibraryWithPdb/LibraryWithPdb.pdb [deleted file]
src/tools/illink/test/Mono.Linker.Tests.Cases/Symbols/ReferenceWithMdb.cs
src/tools/illink/test/Mono.Linker.Tests.Cases/Symbols/ReferenceWithMdbAndSymbolLinkingEnabled.cs
src/tools/illink/test/Mono.Linker.Tests.Cases/Symbols/ReferenceWithMdbAndSymbolLinkingEnabledAndDeterministicMvid.cs
src/tools/illink/test/Mono.Linker.Tests.Cases/Symbols/ReferenceWithMdbAndSymbolLinkingEnabledAndNewMvid.cs
src/tools/illink/test/Mono.Linker.Tests.Cases/Symbols/ReferenceWithMdbCopyAction.cs
src/tools/illink/test/Mono.Linker.Tests.Cases/Symbols/ReferenceWithMdbCopyActionAndSymbolLinkingEnabled.cs
src/tools/illink/test/Mono.Linker.Tests.Cases/Symbols/ReferenceWithMdbDeleteAction.cs
src/tools/illink/test/Mono.Linker.Tests.Cases/Symbols/ReferenceWithMdbDeleteActionAndSymbolLinkingEnabled.cs
src/tools/illink/test/Mono.Linker.Tests.Cases/Symbols/ReferenceWithPdb.cs
src/tools/illink/test/Mono.Linker.Tests.Cases/Symbols/ReferenceWithPdbAndSymbolLinkingEnabled.cs
src/tools/illink/test/Mono.Linker.Tests.Cases/Symbols/ReferenceWithPdbAndSymbolLinkingEnabledAndDeterministicMvid.cs
src/tools/illink/test/Mono.Linker.Tests.Cases/Symbols/ReferenceWithPdbAndSymbolLinkingEnabledAndNewMvid.cs
src/tools/illink/test/Mono.Linker.Tests.Cases/Symbols/ReferenceWithPdbCopyAction.cs
src/tools/illink/test/Mono.Linker.Tests.Cases/Symbols/ReferenceWithPdbCopyActionAndSymbolLinkingEnabled.cs
src/tools/illink/test/Mono.Linker.Tests.Cases/Symbols/ReferenceWithPdbDeleteAction.cs
src/tools/illink/test/Mono.Linker.Tests.Cases/Symbols/ReferenceWithPdbDeleteActionAndSymbolLinkingEnabled.cs
src/tools/illink/test/Mono.Linker.Tests.Cases/Symbols/ReferencesWithMixedSymbolTypes.cs
src/tools/illink/test/Mono.Linker.Tests.Cases/Symbols/ReferencesWithMixedSymbolTypesAndSymbolLinkingEnabled.cs
src/tools/illink/test/Mono.Linker.Tests.Cases/Symbols/ReferencesWithMixedSymbolTypesWithMdbAndSymbolLinkingEnabled.cs
src/tools/illink/test/Mono.Linker.Tests/Mono.Linker.Tests.csproj
src/tools/illink/test/Mono.Linker.Tests/TestCasesRunner/ILCompiler.cs
src/tools/illink/test/Mono.Linker.Tests/TestCasesRunner/PathUtilities.cs
src/tools/illink/test/Mono.Linker.Tests/Tests/CecilVersionCheck.cs