Introduce the component dependency resolution entry point. (dotnet/core-setup#4720)
authorVitek Karas <vitek.karas@microsoft.com>
Sat, 10 Nov 2018 07:38:34 +0000 (23:38 -0800)
committerGitHub <noreply@github.com>
Sat, 10 Nov 2018 07:38:34 +0000 (23:38 -0800)
commitd45239c86e046d65a6c3ad01d68ee75c0ec1464e
treeb3c5cbf04f042348023029e4de65375a0fd216fe
parent260b2ce63803ccc0cf91e8d461ffefd98a382be9
Introduce the component dependency resolution entry point.  (dotnet/core-setup#4720)

Introduce the component resolve entry point.

- Refactors argument init to use the same code for app and components
- Remove usage of the global init structure from args init - makes it much clearer what is used where.
- Other small refactorings
- Adds basic doc with notes and open questions - should eventually become the real design doc for this feature.

Commit migrated from https://github.com/dotnet/core-setup/commit/2fbde0a1c6787b1eee2bd57589dae9b0e0f6a2ea
25 files changed:
docs/installer/design-docs/host-component-dependencies-resolution.md [new file with mode: 0644]
src/installer/corehost/cli/args.cpp
src/installer/corehost/cli/args.h
src/installer/corehost/cli/deps_resolver.cpp
src/installer/corehost/cli/deps_resolver.h
src/installer/corehost/cli/fxr/fx_muxer.cpp
src/installer/corehost/cli/hostpolicy.cpp
src/installer/corehost/common/utils.cpp
src/installer/corehost/common/utils.h
src/installer/test/Assets/TestProjects/ComponentWithDependencies/Component.cs [new file with mode: 0644]
src/installer/test/Assets/TestProjects/ComponentWithDependencies/ComponentDependency/ComponentDependency.csproj [new file with mode: 0644]
src/installer/test/Assets/TestProjects/ComponentWithDependencies/ComponentDependency/Dependency.cs [new file with mode: 0644]
src/installer/test/Assets/TestProjects/ComponentWithDependencies/ComponentWithDependencies.csproj [new file with mode: 0644]
src/installer/test/Assets/TestProjects/ComponentWithNoDependencies/Component.cs [new file with mode: 0644]
src/installer/test/Assets/TestProjects/ComponentWithNoDependencies/ComponentWithNoDependencies.csproj [new file with mode: 0644]
src/installer/test/Assets/TestProjects/ComponentWithResources/Component.cs [new file with mode: 0644]
src/installer/test/Assets/TestProjects/ComponentWithResources/ComponentWithResources.csproj [new file with mode: 0644]
src/installer/test/Assets/TestProjects/ComponentWithResources/Resource.en.resx [new file with mode: 0644]
src/installer/test/Assets/TestProjects/ComponentWithResources/Resource.resx [new file with mode: 0644]
src/installer/test/Assets/TestProjects/HostApiInvokerApp/HostPolicy.cs [new file with mode: 0644]
src/installer/test/Assets/TestProjects/HostApiInvokerApp/Program.cs
src/installer/test/HostActivationTests/GivenThatICareAboutComponentDependencyResolution.cs [new file with mode: 0644]
src/installer/test/HostActivationTests/HostActivationTests.csproj
src/installer/test/HostActivationTests/SharedFramework.cs
src/installer/test/TestUtils/Assertions/CommandResultExtensions.cs