Move copy of Crossgen2 tasks/targets to runtime repo and build composite image for...
authorDavid Wrighton <davidwr@microsoft.com>
Fri, 14 May 2021 00:39:04 +0000 (17:39 -0700)
committerGitHub <noreply@github.com>
Fri, 14 May 2021 00:39:04 +0000 (17:39 -0700)
commitc538a9b39c5171e9f4ff877daf565a7061abe54a
treed889f89e3d2cce1093b344a26f1782a13aa95112
parent886a02c54fbd51263f2e678c4748504ebd15e90b
Move copy of Crossgen2 tasks/targets to runtime repo and build composite image for runtime repo in parallel path (#52579)

* Move all crossgen2 tasks/targets used in Runtime repo to be local to the repo

* Move ResolveReadyToRunCompilers task into the Crossgen2Tasks dll

* Create composite bundle and package
- Note that it doesn't build properly, but hopefully that's a crossgen2 task bug

* Composite image production

* Refactor how composite image creation works
- Move it to allow mixed composite and non-composite r2r in the same build, controlled by the PublishReadyToRunCompositeExclusions list
- Enhance the accuracy of how msbuild tracks which files are input vs reference for composite images
- Implement the R2R exclusion list for composite images
- Remove the always on usage of --inputbubble when compiling a composite image

* - Add a scheme to perform public signing with a PublicKeyToken to a composite of the composite image if required
  - Required adding a new parameter to crossgen2
35 files changed:
Directory.Build.props
eng/Subsets.props
src/coreclr/tools/aot/ILCompiler.ReadyToRun/Compiler/CompositeImageSettings.cs [new file with mode: 0644]
src/coreclr/tools/aot/ILCompiler.ReadyToRun/Compiler/DependencyAnalysis/ReadyToRun/CopiedCorHeaderNode.cs
src/coreclr/tools/aot/ILCompiler.ReadyToRun/Compiler/DependencyAnalysis/ReadyToRun/ManifestMetadataTableNode.cs
src/coreclr/tools/aot/ILCompiler.ReadyToRun/Compiler/DependencyAnalysis/ReadyToRunCodegenNodeFactory.cs
src/coreclr/tools/aot/ILCompiler.ReadyToRun/Compiler/ReadyToRunCodegenCompilationBuilder.cs
src/coreclr/tools/aot/ILCompiler.ReadyToRun/ILCompiler.ReadyToRun.csproj
src/coreclr/tools/aot/crossgen2/CommandLineOptions.cs
src/coreclr/tools/aot/crossgen2/Program.cs
src/coreclr/tools/aot/crossgen2/Properties/Resources.resx
src/installer/pkg/sfx/Microsoft.NETCore.App/Directory.Build.targets
src/installer/pkg/sfx/Microsoft.NETCore.App/Microsoft.NETCore.App.Crossgen2.sfxproj
src/installer/pkg/sfx/Microsoft.NETCore.App/Microsoft.NETCore.App.Runtime.Composite.sfxproj [new file with mode: 0644]
src/installer/pkg/sfx/Microsoft.NETCore.App/Microsoft.NETCore.App.Runtime.props [new file with mode: 0644]
src/installer/pkg/sfx/Microsoft.NETCore.App/Microsoft.NETCore.App.Runtime.sfxproj
src/installer/pkg/sfx/bundle/Microsoft.NETCore.App.Composite.Bundle.bundleproj [new file with mode: 0644]
src/tasks/Crossgen2Tasks/CommonFilePulledFromSdkRepo/BuildErrorException.cs [new file with mode: 0644]
src/tasks/Crossgen2Tasks/CommonFilePulledFromSdkRepo/LogAdapter.cs [new file with mode: 0644]
src/tasks/Crossgen2Tasks/CommonFilePulledFromSdkRepo/Logger.cs [new file with mode: 0644]
src/tasks/Crossgen2Tasks/CommonFilePulledFromSdkRepo/Message.cs [new file with mode: 0644]
src/tasks/Crossgen2Tasks/CommonFilePulledFromSdkRepo/MessageLevel.cs [new file with mode: 0644]
src/tasks/Crossgen2Tasks/CommonFilePulledFromSdkRepo/MetadataKeys.cs [new file with mode: 0644]
src/tasks/Crossgen2Tasks/CommonFilePulledFromSdkRepo/NuGetUtils.NuGet.cs [new file with mode: 0644]
src/tasks/Crossgen2Tasks/CommonFilePulledFromSdkRepo/RuntimeGraphCache.cs [new file with mode: 0644]
src/tasks/Crossgen2Tasks/CommonFilePulledFromSdkRepo/TaskBase.cs [new file with mode: 0644]
src/tasks/Crossgen2Tasks/Crossgen2Tasks.csproj [new file with mode: 0644]
src/tasks/Crossgen2Tasks/Microsoft.NET.CrossGen.targets [new file with mode: 0644]
src/tasks/Crossgen2Tasks/PrepareForReadyToRunCompilation.cs [new file with mode: 0644]
src/tasks/Crossgen2Tasks/README.md [new file with mode: 0644]
src/tasks/Crossgen2Tasks/ResolveReadyToRunCompilers.cs [new file with mode: 0644]
src/tasks/Crossgen2Tasks/RunReadyToRunCompiler.cs [new file with mode: 0644]
src/tasks/Crossgen2Tasks/ShimFilesSimulatingLogicInSdkRepo/Microsoft.NET.CrossGen.props [new file with mode: 0644]
src/tasks/Crossgen2Tasks/ShimFilesSimulatingLogicInSdkRepo/SimpleItemUtilities.cs [new file with mode: 0644]
src/tasks/Crossgen2Tasks/ShimFilesSimulatingLogicInSdkRepo/Strings.cs [new file with mode: 0644]