platform/upstream/dotnet/runtime.git
5 years agoSpecify calling convention for hostfxr/hostpolicy exports (dotnet/core-setup#6641)
Elinor Fung [Wed, 5 Jun 2019 20:42:24 +0000 (13:42 -0700)]
Specify calling convention for hostfxr/hostpolicy exports (dotnet/core-setup#6641)

- Make hostfxr.h compilable in C
- Add hostpolicy.h and coreclr_delegates.h

Commit migrated from https://github.com/dotnet/core-setup/commit/988b3d3960383e8c56408c05160c8e12042420f0

5 years agoFix a bug in propagation of roll to highest version with LatestPatch (dotnet/core...
Vitek Karas [Wed, 5 Jun 2019 20:10:43 +0000 (13:10 -0700)]
Fix a bug in propagation of roll to highest version with LatestPatch (dotnet/core-setup#6658)

* Fix a bug in propagation of roll to highest version when combined with LatestPatch.

LatestPatch setting should ignore "roll to highest version" semantics as it has its own rules:
* For release versions it will always roll to latest patch (regardless of roll_to_highest_version)
* For pre-release versions ti will roll to closest available (again regardless of roll_to_highest_version)

The bug was that the roll_to_highest_version was applied even for patch version compatibility range. For release versions this does not cause any trouble as it would always roll to latest patch anyway. But for pre-release this meant we would pick the latest available pre-release which is not desirable.

Co-Authored-By: Steve MacLean <stmaclea@microsoft.com>
Commit migrated from https://github.com/dotnet/core-setup/commit/8c95c49533f30d4b391e91ef088673dbf59451a2

5 years agoFix building tizen rootfs (dotnet/core-setup#6677)
Konstantin Baladurin [Wed, 5 Jun 2019 17:08:29 +0000 (20:08 +0300)]
Fix building tizen rootfs (dotnet/core-setup#6677)

Commit migrated from https://github.com/dotnet/core-setup/commit/9981a4f6edf474190246dde8f7def054320ffc64

5 years agoAdd roll forward LatestPatch to WindowsDesktop (dotnet/core-setup#6664)
Vitek Karas [Tue, 4 Jun 2019 17:48:09 +0000 (10:48 -0700)]
Add roll forward LatestPatch to WindowsDesktop (dotnet/core-setup#6664)

The Microsoft.WindowsDesktop.App shared framework depends on Microsoft.NETCore.App, but currently it doesn't specify roll forward policy. This means it defaults to Minor. That is not desirable as minor versions are not tested against each other.
Since the WindowsDesktop and NETCore.App always ship together, it's better to specify `rollForward=LatestPatch` to limit the dependency to only patch differences.

Commit migrated from https://github.com/dotnet/core-setup/commit/84067f3830954d84970620ba4b23f242b77ae7bc

5 years ago[master] Update dependencies from dotnet/coreclr (dotnet/core-setup#6633)
dotnet-maestro[bot] [Tue, 4 Jun 2019 09:28:16 +0000 (09:28 +0000)]
[master] Update dependencies from dotnet/coreclr (dotnet/core-setup#6633)

* Update dependencies from https://github.com/dotnet/coreclr build 20190603.1

- Microsoft.NETCore.Runtime.CoreCLR - 3.0.0-preview7.19303.1

* Update dependencies from https://github.com/dotnet/coreclr build 20190603.4

- Microsoft.NETCore.Runtime.CoreCLR - 3.0.0-preview7.19303.4

* React to changes in error message from CoreCLR.

Commit migrated from https://github.com/dotnet/core-setup/commit/25dfd8f69d4ea54a39aa9df6008748ee89cd5a09

5 years agoUpdate installer localization (dotnet/core-setup#6638)
Davis Goodin [Mon, 3 Jun 2019 18:10:55 +0000 (11:10 -0700)]
Update installer localization (dotnet/core-setup#6638)

Commit migrated from https://github.com/dotnet/core-setup/commit/ba612b449b1fe7506b03c22258dd7d4f95957359

5 years agoUpdate nethost.h (dotnet/core-setup#6630)
Aaron Robinson [Mon, 3 Jun 2019 04:30:59 +0000 (21:30 -0700)]
Update nethost.h (dotnet/core-setup#6630)

Make `nethost.h` compilable in a C compilation unit.

Commit migrated from https://github.com/dotnet/core-setup/commit/0046a2dd298859003cf03affcb6287d62cab31cb

5 years agoFix pre-release regression table to match the new behavior (dotnet/core-setup#6580)
Vitek Karas [Sat, 1 Jun 2019 05:44:44 +0000 (22:44 -0700)]
Fix pre-release regression table to match the new behavior (dotnet/core-setup#6580)

Co-Authored-By: Elinor Fung <47805090+elinor-fung@users.noreply.github.com>
Commit migrated from https://github.com/dotnet/core-setup/commit/d6535558a3da0f9cda7f87711a6aad073ef19243

5 years agoUpdate branding to preview7 in master (dotnet/core-setup#6611)
William Godbe [Fri, 31 May 2019 19:49:05 +0000 (12:49 -0700)]
Update branding to preview7 in master (dotnet/core-setup#6611)

Commit migrated from https://github.com/dotnet/core-setup/commit/d91d79a051ec5a5577613b52a9c1aeaccc91d673

5 years agoRoll forward changes to propagate latest bit and disable pre-release auto roll (dotne...
Vitek Karas [Fri, 31 May 2019 18:40:36 +0000 (11:40 -0700)]
Roll forward changes to propagate latest bit and disable pre-release auto roll (dotnet/core-setup#6569)

Modifications described in https://github.com/dotnet/core-setup/pull/6547:
* Split roll forward setting internally to a version range and the "roll to highest version" flag
* New merging rules for "roll to highest version" (true wins over false)
* Propagate the flag into inner framework references
* If the framework search finds a matching pre-release version it won't apply roll to latest patch anymore

Changes the internal representation into version range and roll to highest version flag.
Small refactoring of the framework search:
* rename methods to better match their behavior
* do search even for `LatestPatch` during normal framework search
* apply roll to latest patch only when enabled

Modifies existing tests to adapt to the new behavior. Added new tests for the propagation.

Commit migrated from https://github.com/dotnet/core-setup/commit/6a8dfd609613ca8f1ec9f3907e346f41adfaaaff

5 years agoUpdate native hosting doc sample section to include using (dotnet/core-setup#6601)
Elinor Fung [Fri, 31 May 2019 17:46:40 +0000 (10:46 -0700)]
Update native hosting doc sample section to include using (dotnet/core-setup#6601)

load_assembly_and_get_function_pointer

Commit migrated from https://github.com/dotnet/core-setup/commit/ad59b409df2b2fb8356a23ca8eeb212c92750756

5 years agoFramework list updates: add WindowsDesktop Profile, include list in runtime packages...
Davis Goodin [Fri, 31 May 2019 17:42:31 +0000 (10:42 -0700)]
Framework list updates: add WindowsDesktop Profile, include list in runtime packages (dotnet/core-setup#6573)

* Framework list: WD "Profile"; runtime packages

* Only include WD Profile in targeting pack

Commit migrated from https://github.com/dotnet/core-setup/commit/ab59fcbff42571acd05bb8d3e195a5cebaaed3d0

5 years agoEnable component activation tests (dotnet/core-setup#6596)
Elinor Fung [Fri, 31 May 2019 16:42:35 +0000 (09:42 -0700)]
Enable component activation tests (dotnet/core-setup#6596)

Make ComponentWithNoDependencies test project generate a runtime config
on build to use in component activation tests.

Commit migrated from https://github.com/dotnet/core-setup/commit/f21745abe0e44b935bbba2809206192bf1537d79

5 years agoSingle-file: Avoid exception-throw in startup path (dotnet/core-setup#6598)
Swaroop Sridhar [Fri, 31 May 2019 00:10:23 +0000 (17:10 -0700)]
Single-file: Avoid exception-throw in startup path (dotnet/core-setup#6598)

This commit implements two changes:

1) If the current AppHost is not a bundle, process_manifest_footer() returns a bool value
   to indicate the same, rather than throwing StatusCode::AppHostExeNotBundle.
   This ensures that we do not throw every time a non-bundled app-host runs, which
   is undesirable (especially while debugging).

2) If a single-file app is simultaneously started multiple times, the apphost begins
   extracting files for each instantiation. However, once one of the runs complete the
   extraction process, other runs will use the files extracted to the committed-directory.
   The AppHost tries to clean up the redundantly extracted files and directories.
   However, if there is an I/O error while doing so, the process is now allowed
   to continue execution, instead of failing.

Commit migrated from https://github.com/dotnet/core-setup/commit/bd497d99a0f029ebed76e5398b1db769c4cc0d3c

5 years agoAdd load_assembly_and_get_function_pointer (dotnet/core-setup#6494)
Steve MacLean [Thu, 30 May 2019 16:27:59 +0000 (12:27 -0400)]
Add load_assembly_and_get_function_pointer (dotnet/core-setup#6494)

* Add load_assembly_and_get_function_pointer to delegate type enum
* Add tests (commented out) with for calling delegates in a component

Commit migrated from https://github.com/dotnet/core-setup/commit/f7f4b1b0f0d83f9cffe7218a94de726c59514a77

5 years agoModify roll forward design document - behavior around "latest" (dotnet/core-setup...
Vitek Karas [Thu, 30 May 2019 10:09:28 +0000 (03:09 -0700)]
Modify roll forward design document - behavior around "latest" (dotnet/core-setup#6547)

The "latest" bit in `LatestMinor` and `LatestMajor` is now considered separately from the version range. It propagates on its own and also propagates into frameworks.

Also modifies how "roll to latest patch" is applied to pre-release versions. If the selected version if pre-release there's no additional automatic roll forward. If the selected version is release, normal "roll to latest patch" is applied.

Some tweaks to algorithm description and some more samples.

Co-Authored-By: Elinor Fung <47805090+elinor-fung@users.noreply.github.com>
Commit migrated from https://github.com/dotnet/core-setup/commit/6479d554f0513d2975017757d99d224dc77b73cd

5 years agoFix intermitent failures in light.exe (dotnet/core-setup#6562)
Vitek Karas [Wed, 29 May 2019 14:46:43 +0000 (07:46 -0700)]
Fix intermitent failures in light.exe (dotnet/core-setup#6562)

This is a workaround for an issue I recently started to see locally. The light.exe would fail with "The process cannot access the file because it is being used by another process". Debugging into it, it fails to move a file from temp to the output (the final exe output file).

There are two issues here:
* It uses the OS temp folder (TMP variable) which people typically don't have excluded from antivirus and thus the antivirus can lock the file for a bit. This is fixed by setting the `WIX_TEMP` env. variable to a location in the obj tree.
* Even with the above it still sometimes fails. The only workaround I found is simply  wait for a bit before running light. I don't know why this happens, but the simple sleep 1 second fixes it. It's probably not worth the effort to try to figure out why.

Commit migrated from https://github.com/dotnet/core-setup/commit/a66a41f693a048341cf6b6a99f74e6312200240d

5 years agoImprove apphost missing fxr error message with self registered location (dotnet/core...
Vitek Karas [Wed, 29 May 2019 04:43:54 +0000 (21:43 -0700)]
Improve apphost missing fxr error message with self registered location (dotnet/core-setup#6546)

With the recent changes apphost now looks for shared framework in 3 potential places: the default global location, the globally registered location and the DOTNET_ROOT path.
The error message didn't mention the globally registered location, so add that.

Required a bit of refactoring in the pals to avoid code duplication.

Commit migrated from https://github.com/dotnet/core-setup/commit/832f8250b5986028594c0db47b4e1cb62915c15b

5 years agoAdd hostfxr_initialize_for_dotnet_command_line entry point (dotnet/core-setup#6548)
Elinor Fung [Wed, 29 May 2019 00:40:59 +0000 (17:40 -0700)]
Add hostfxr_initialize_for_dotnet_command_line entry point (dotnet/core-setup#6548)

Commit migrated from https://github.com/dotnet/core-setup/commit/aec6c77a664561249ecf763a642c6429c7891cdd

5 years ago[master] Update dependencies from dnceng/internal/dotnet-wpf-int (dotnet/core-setup...
dotnet-maestro[bot] [Tue, 28 May 2019 14:09:17 +0000 (09:09 -0500)]
[master] Update dependencies from dnceng/internal/dotnet-wpf-int (dotnet/core-setup#6504)

* Update dependencies from https://dev.azure.com/dnceng/internal/_git/dotnet-wpf-int build 20190521.7

- Microsoft.DotNet.Wpf.DncEng - 4.8.0-preview6.19271.7

* Update dependencies from https://dev.azure.com/dnceng/internal/_git/dotnet-wpf-int build 20190522.2

- Microsoft.DotNet.Wpf.DncEng - 4.8.0-preview6.19272.2

Dependency coherency updates

- Microsoft.DotNet.Wpf.GitHub - 4.8.0-preview6.19271.2 (parent: Microsoft.DotNet.Wpf.DncEng)

* Update dependencies from https://dev.azure.com/dnceng/internal/_git/dotnet-wpf-int build 20190522.4

- Microsoft.DotNet.Wpf.DncEng - 4.8.0-preview6.19272.4

Dependency coherency updates

- Microsoft.DotNet.Wpf.GitHub - 4.8.0-preview6.19271.2 (parent: Microsoft.DotNet.Wpf.DncEng)

* Update dependencies from https://dev.azure.com/dnceng/internal/_git/dotnet-wpf-int build 20190522.11

- Microsoft.DotNet.Wpf.DncEng - 4.8.0-preview6.19272.11

Dependency coherency updates

- Microsoft.Private.Winforms - 4.8.0-preview6.19266.1 (parent: Microsoft.DotNet.Wpf.DncEng)
- Microsoft.DotNet.Wpf.GitHub - 4.8.0-preview6.19272.6 (parent: Microsoft.DotNet.Wpf.DncEng)

* Update dependencies from https://dev.azure.com/dnceng/internal/_git/dotnet-wpf-int build 20190523.5

- Microsoft.DotNet.Wpf.DncEng - 4.8.0-preview6.19273.5

Dependency coherency updates

- Microsoft.Private.Winforms - 4.8.0-preview6.19266.1 (parent: Microsoft.DotNet.Wpf.DncEng)
- Microsoft.DotNet.Wpf.GitHub - 4.8.0-preview6.19273.1 (parent: Microsoft.DotNet.Wpf.DncEng)

* Update dependencies from https://dev.azure.com/dnceng/internal/_git/dotnet-wpf-int build 20190523.6

- Microsoft.DotNet.Wpf.DncEng - 4.8.0-preview6.19273.6

Dependency coherency updates

- Microsoft.Private.Winforms - 4.8.0-preview6.19272.1 (parent: Microsoft.DotNet.Wpf.DncEng)
- Microsoft.DotNet.Wpf.GitHub - 4.8.0-preview6.19273.1 (parent: Microsoft.DotNet.Wpf.DncEng)

* Update dependencies from https://dev.azure.com/dnceng/internal/_git/dotnet-wpf-int build 20190523.7

- Microsoft.DotNet.Wpf.DncEng - 4.8.0-preview6.19273.7

Dependency coherency updates

- Microsoft.Private.Winforms - 4.8.0-preview6.19272.1 (parent: Microsoft.DotNet.Wpf.DncEng)
- Microsoft.DotNet.Wpf.GitHub - 4.8.0-preview6.19273.1 (parent: Microsoft.DotNet.Wpf.DncEng)

* Update dependencies from https://dev.azure.com/dnceng/internal/_git/dotnet-wpf-int build 20190524.5

- Microsoft.DotNet.Wpf.DncEng - 4.8.0-preview6.19274.5

Dependency coherency updates

- Microsoft.Private.Winforms - 4.8.0-preview6.19272.1 (parent: Microsoft.DotNet.Wpf.DncEng)
- Microsoft.DotNet.Wpf.GitHub - 4.8.0-preview6.19273.5 (parent: Microsoft.DotNet.Wpf.DncEng)

* Update dependencies from https://dev.azure.com/dnceng/internal/_git/dotnet-wpf-int build 20190524.6

- Microsoft.DotNet.Wpf.DncEng - 4.8.0-preview6.19274.6

Dependency coherency updates

- Microsoft.Private.Winforms - 4.8.0-preview6.19272.1 (parent: Microsoft.DotNet.Wpf.DncEng)
- Microsoft.DotNet.Wpf.GitHub - 4.8.0-preview6.19273.5 (parent: Microsoft.DotNet.Wpf.DncEng)

* Fix WindowsDesktop package validation

The wpf-int change allows NuGet to pick up the native files, including PDBs. This lets us remove a workaround target, but causes some duplicates that must be filtered out due to assumptions the packaging tooling makes.

Commit migrated from https://github.com/dotnet/core-setup/commit/1ac29fa4fed3f5658864593e9b649238f52f3748

5 years agoMove command line parsing into separate file (out of fx_muxer.cpp) (dotnet/core-setup...
Elinor Fung [Sun, 26 May 2019 20:57:10 +0000 (13:57 -0700)]
Move command line parsing into separate file (out of fx_muxer.cpp) (dotnet/core-setup#6517)

* Move command line parsing out of fx_muxer.cpp into separate file
* Consolidate definitions for known host options

Commit migrated from https://github.com/dotnet/core-setup/commit/61f83f1f764a8a2840a21779e386c2ad11fca75d

5 years agoAlter the way comhost looks for the loose .clsidmap file (dotnet/core-setup#6541)
Aaron Robinson [Sat, 25 May 2019 19:53:34 +0000 (12:53 -0700)]
Alter the way comhost looks for the loose .clsidmap file (dotnet/core-setup#6541)

* Alter the way comhost looks for the loose .clsidmap file

Commit migrated from https://github.com/dotnet/core-setup/commit/83781774d742927b81be053389d87f38e42b7878

5 years agoAdd tests for using context-based APIs with a self-contained application (dotnet...
Elinor Fung [Sat, 25 May 2019 16:35:36 +0000 (09:35 -0700)]
Add tests for using context-based APIs with a self-contained application (dotnet/core-setup#6499)

Commit migrated from https://github.com/dotnet/core-setup/commit/a8d828d14d48b7b321bd0e79266d769d166fd883

5 years agoUpdate BuildTools to preview4-04022-01 (dotnet/core-setup#6514)
dotnet-maestro-bot [Thu, 23 May 2019 17:27:40 +0000 (10:27 -0700)]
Update BuildTools to preview4-04022-01 (dotnet/core-setup#6514)

Commit migrated from https://github.com/dotnet/core-setup/commit/e36a4f270f12ee31db2d7743a3a638e7d999cadd

5 years agoUpdate BuildTools to preview4-04021-02
dotnet-maestro-bot [Tue, 21 May 2019 04:46:46 +0000 (21:46 -0700)]
Update BuildTools to preview4-04021-02

Commit migrated from https://github.com/dotnet/core-setup/commit/4573cea18beb40dc9a41014798060e48ff044c63

5 years agoUpdate BuildTools to preview4-04015-01 (dotnet/core-setup#6435)
dotnet-maestro-bot [Fri, 17 May 2019 21:43:41 +0000 (14:43 -0700)]
Update BuildTools to preview4-04015-01 (dotnet/core-setup#6435)

Commit migrated from https://github.com/dotnet/core-setup/commit/65455f8f15861c80cd343acbcee0a9b462c3ee48

5 years agoUpdate bash-build.yml: use non-Int pool provider (dotnet/core-setup#6407)
Divino César [Tue, 14 May 2019 15:28:25 +0000 (08:28 -0700)]
Update bash-build.yml: use non-Int pool provider (dotnet/core-setup#6407)

Commit migrated from https://github.com/dotnet/core-setup/commit/f350db0d774c151e919952a60214b0b7b86bc14f

5 years agoUpdate windows-build.yml: use non-Int pool provider (dotnet/core-setup#6408)
Divino César [Tue, 14 May 2019 15:27:59 +0000 (08:27 -0700)]
Update windows-build.yml: use non-Int pool provider (dotnet/core-setup#6408)

Commit migrated from https://github.com/dotnet/core-setup/commit/f3a3a80e360a2f7802e925ff59c63f9b6afcd6ca

5 years agoAdd shared framework bundle localization (dotnet/core-setup#6390)
Davis Goodin [Fri, 10 May 2019 21:59:04 +0000 (16:59 -0500)]
Add shared framework bundle localization (dotnet/core-setup#6390)

Commit migrated from https://github.com/dotnet/core-setup/commit/e483c3c7fef1ae8d655d2ef8c1fadbed8ed4e01e

5 years agoMerge pull request dotnet/core-setup#6256 from dagood/direct-wd
Davis Goodin [Fri, 10 May 2019 21:40:52 +0000 (16:40 -0500)]
Merge pull request dotnet/core-setup#6256 from dagood/direct-wd

# Conflicts:
# eng/Version.Details.xml
# eng/Versions.props

Commit migrated from https://github.com/dotnet/core-setup/commit/98fe009648f423dc783645714fd2e473eaf37f66

5 years agoMake GetCrossgenPackagePaths more specific
Davis Goodin [Thu, 9 May 2019 19:35:09 +0000 (14:35 -0500)]
Make GetCrossgenPackagePaths more specific

Split GetCrossgenPackagePaths to GetCorePackagePaths and GetCrossgenToolPaths.

This fixes failures building for arm/arm64. Generating the package report (new in this PR) calls GetRuntimeFilesToPackage for x64/x86 while TargetArchitecture is arm/arm64. This tries to find a cross-arch crossgen, which doesn't exist with this combination. However, there's no need to find crossgen to generate the report. To fix this, split the target to avoid trying to find a cross-arch crossgen when it isn't needed.

Commit migrated from https://github.com/dotnet/core-setup/commit/388f32f9fafb330473677ef23ca5197ae6fdbb7e

5 years agoUse e.g. bin/obj/sfx/windowsdesktop for short path
Davis Goodin [Mon, 6 May 2019 22:15:58 +0000 (17:15 -0500)]
Use e.g. bin/obj/sfx/windowsdesktop for short path

Commit migrated from https://github.com/dotnet/core-setup/commit/d8403937894c8c600d4bad8cc140f59e5390e92b

5 years agoAdd WindowsDesktop closure validation
Davis Goodin [Mon, 6 May 2019 17:29:55 +0000 (12:29 -0500)]
Add WindowsDesktop closure validation

Commit migrated from https://github.com/dotnet/core-setup/commit/8f5e1164182d5cac7c7430723509871bf36e9fa0

5 years agoRedist WinForms and WPF directly, no DN-T
Davis Goodin [Fri, 3 May 2019 00:35:52 +0000 (19:35 -0500)]
Redist WinForms and WPF directly, no DN-T

Commit migrated from https://github.com/dotnet/core-setup/commit/e2a5aabdeb907e7cbbdbbde8cbf473087dceeaaa

5 years agoTest-only product behavior support (dotnet/core-setup#6281)
Vitek Karas [Fri, 10 May 2019 16:45:26 +0000 (09:45 -0700)]
Test-only product behavior support (dotnet/core-setup#6281)

The product uses special test-only environment variables to enable specific behaviors to allow for easier testing. These should not be enabled by default.

This change implements a guard which only enables the special env. variables if test-only behaviors are enabled.
The mechanism uses static variable in the product binary, so the tests must patch the binary itself to enable the special behavior.

Commit migrated from https://github.com/dotnet/core-setup/commit/4101081ad234b0514058378f9134fcf038fbddcb

5 years agoAdd a basic lockable class that avoids using concrt on Windows (dotnet/core-setup...
Elinor Fung [Thu, 9 May 2019 23:21:50 +0000 (16:21 -0700)]
Add a basic lockable class that avoids using concrt on Windows (dotnet/core-setup#6368)

- Lockable class directly uses CRITICAL_SECTION on Windows, typedef-ed to be std::mutex on non-Windows
- Switch tracing to use new lockable class so that concrt is not pulled in for every component

Commit migrated from https://github.com/dotnet/core-setup/commit/0caf046824bd0512b8dd17c522e23064004f677b

5 years agoMerge pull request dotnet/core-setup#6359 from dotnet/darc-master-983e994b-79d4-40ca...
William Godbe [Thu, 9 May 2019 19:24:54 +0000 (12:24 -0700)]
Merge pull request dotnet/core-setup#6359 from dotnet/darc-master-983e994b-79d4-40ca-917e-aea952146436

[master] Update dependencies from dotnet/corefx

Commit migrated from https://github.com/dotnet/core-setup/commit/a8478dda1140e055651636fe35cad036f2585edd

5 years agoAdd support for call to Register/Unregister COM delegate (dotnet/core-setup#6366)
Aaron Robinson [Thu, 9 May 2019 18:50:13 +0000 (11:50 -0700)]
Add support for call to Register/Unregister COM delegate (dotnet/core-setup#6366)

Commit migrated from https://github.com/dotnet/core-setup/commit/5b1d47b8487b1985f3ed2b3731ce828b8b9118ba

5 years agoMerge pull request dotnet/core-setup#6358 from dotnet/darc-master-7d88021f-1881-4780...
William Godbe [Thu, 9 May 2019 17:48:39 +0000 (10:48 -0700)]
Merge pull request dotnet/core-setup#6358 from dotnet/darc-master-7d88021f-1881-4780-a7ca-0afeb3f20db6

[master] Update dependencies from dotnet/coreclr

Commit migrated from https://github.com/dotnet/core-setup/commit/806db93e0753234b68c6c6fb37c8dd34a9a7b23b

5 years agoFix interleaved comhost test logging (dotnet/core-setup#6372)
Elinor Fung [Thu, 9 May 2019 17:26:43 +0000 (10:26 -0700)]
Fix interleaved comhost test logging (dotnet/core-setup#6372)

Commit migrated from https://github.com/dotnet/core-setup/commit/3ae871f593362f80812dbe31d73bef925fa7d7d8

5 years agoTemporary fix for failing GUI test in CI. (dotnet/core-setup#6363)
Vitek Karas [Thu, 9 May 2019 06:25:08 +0000 (23:25 -0700)]
Temporary fix for failing GUI test in CI. (dotnet/core-setup#6363)

The test has two parts:
* Verify that when the env. variable is used, the process is not blocking with a popup dialog
* Verify that errors are written to stderr

The first part seems to work just fine, so keeping that.
The second part about stderr doesn't work in some CI runs (sometimes it does work). Removing that part of the validation for now.

Commit migrated from https://github.com/dotnet/core-setup/commit/a256a88c0208936a0cd16ce0fa07c065d964dd31

5 years agoAdd nethost to AppHost package (dotnet/core-setup#6365)
Elinor Fung [Wed, 8 May 2019 22:08:22 +0000 (15:08 -0700)]
Add nethost to AppHost package (dotnet/core-setup#6365)

Include nethost in AppHost package such that it will be in the SDK packs

Commit migrated from https://github.com/dotnet/core-setup/commit/19ecb4847b57249bdee93d14eeea81bbc0174ff5

5 years agoAllow getting contract for previously initialized hostpolicy (dotnet/core-setup#6343)
Elinor Fung [Tue, 7 May 2019 22:47:06 +0000 (15:47 -0700)]
Allow getting contract for previously initialized hostpolicy (dotnet/core-setup#6343)

This enables getting runtime properties for the active context created
through non-context-based entry points.

Commit migrated from https://github.com/dotnet/core-setup/commit/5c4ca8ac2deb15ca57c37c5a8e9a6cec8a10944f

5 years agoAdd ability to disable GUI host errors (dotnet/core-setup#6325)
Vitek Karas [Tue, 7 May 2019 12:13:57 +0000 (05:13 -0700)]
Add ability to disable GUI host errors (dotnet/core-setup#6325)

By default if the host runs a GUI application, it will report errors as a popup dialog. This is very useful for normal activation, but it is when executed from automation. The popup dialog blocks the process exit indefinitely.

This change adds environment variable `DOTNET_DISABLE_GUI_ERRORS`. If it's set to `1`, then even if the application is marked as GUI, all hosting errors will be reported to `stderr` and no UI popup will occur.

Commit migrated from https://github.com/dotnet/core-setup/commit/5f7f0e599520171508acb2b900d07ca5233a9155

5 years agoNative hosting: validate frameworks and properties when initializing secondary contex...
Elinor Fung [Mon, 6 May 2019 17:57:24 +0000 (10:57 -0700)]
Native hosting: validate frameworks and properties when initializing secondary context (dotnet/core-setup#6253)

- Fail initialization if the frameworks referenced in the config for a secondary context do not exist or are incompatible with the frameworks used for the first (active) context
- Return specific status code if runtime properties specified in the config for a secondary context do not exist or have different values from the properties used to load the runtime
- Add tests for compatibility check of secondary context when first context was created using non-context-based APIs and context-based APIs

Commit migrated from https://github.com/dotnet/core-setup/commit/a02ebba1eadd024089e68b90393d02f7b83fe4c6

5 years agoMerge pull request dotnet/core-setup#6296 from dotnet-maestro-bot/master-UpdateDepend...
William Godbe [Mon, 6 May 2019 17:01:25 +0000 (10:01 -0700)]
Merge pull request dotnet/core-setup#6296 from dotnet-maestro-bot/master-UpdateDependencies

Update BuildTools to preview4-04004-01 (master)

Commit migrated from https://github.com/dotnet/core-setup/commit/eb0f10e7c91c06cf6f193ef9a6b9c0b8720c3838

5 years agoUpdate BuildTools to preview4-04004-01
dotnet-maestro-bot [Sat, 4 May 2019 22:57:45 +0000 (15:57 -0700)]
Update BuildTools to preview4-04004-01

Commit migrated from https://github.com/dotnet/core-setup/commit/4d9750cbc0ea0b05d01b542763017d5a57218b62

5 years agoAdd global registered install location to Linux and macOS (dotnet/core-setup#6124)
Vitek Karas [Fri, 3 May 2019 20:52:39 +0000 (13:52 -0700)]
Add global registered install location to Linux and macOS (dotnet/core-setup#6124)

The product now reads the /etc/dotnet/install_location file and use its first line as the path to the install location.

Adds test-only env. variables to be able to test the behavior around picking global install location.

Changes windows-only tests to run on Linux/macOS as well now.

Added some tests.
Improved the test infra around global registered location.

Commit migrated from https://github.com/dotnet/core-setup/commit/40aeca5ec6b0344367ad887e94cd62fefed17dbd

5 years agoSingleFile: Add test cases (dotnet/core-setup#5954)
Swaroop Sridhar [Fri, 3 May 2019 19:19:38 +0000 (12:19 -0700)]
SingleFile: Add test cases (dotnet/core-setup#5954)

SingleFile: Add test cases

Add test cases to test:
  * Run of self-contained and portable apps.
  * Extraction to custom directories.
  * Reuse of extracted files on subsequent runs.

Created a BundleTest test directory grouping which contains
- Microsoft.NET.HostModel.Bundle tests
- AppHost Bundler tests
- BundleHelpers -- containing common helper methods for the above two tests.

Commit migrated from https://github.com/dotnet/core-setup/commit/b0bd078ce1cc4a2791c2a09860f4e4cd71f9e17e

5 years agoAvoid searching for a local hostfxr in component hosts (dotnet/core-setup#6254)
Elinor Fung [Fri, 3 May 2019 17:47:59 +0000 (10:47 -0700)]
Avoid searching for a local hostfxr in component hosts (dotnet/core-setup#6254)

- Stop looking for hostfxr next to the host when getting a delegate in com/ijw/winrt hosts
- Add case to comhost test to check that if hostfxr.dll is next to comhost, it is not used

Commit migrated from https://github.com/dotnet/core-setup/commit/c36c745b2e3f9163ae7afa66ad20d1bc343cd31f

5 years agoMove runtime-deps to openssl 1.1: support SLES 15 (dotnet/core-setup#6252)
Davis Goodin [Thu, 2 May 2019 20:35:23 +0000 (15:35 -0500)]
Move runtime-deps to openssl 1.1: support SLES 15 (dotnet/core-setup#6252)

SLES 12 has both libopenssl1_0_0 and libopenssl1_1, but SLES 15 moved 1_0_0 to the legacy module. Changing the RPM to 1_1 allows a single RPM to work by default with 12 and 15.

Commit migrated from https://github.com/dotnet/core-setup/commit/29f2b13923b066173b1a156516a3f5f8763cb276

5 years agoAdd host context-based entry points for native hosting (dotnet/core-setup#5859)
Elinor Fung [Thu, 2 May 2019 18:36:50 +0000 (11:36 -0700)]
Add host context-based entry points for native hosting (dotnet/core-setup#5859)

- Track existing hostpolicy_context in hostpolicy
- Add host_context to hostfxr to represent active (first) and secondary contexts
- Switch com/ijw/winrt hosts to use host context-based APIs
- Update nativehost test executable to exercise new APIs
- Make non-context-based entry points check for existing context and create an empty context
- Basic automated tests for context-based entry points

Commit migrated from https://github.com/dotnet/core-setup/commit/4f7fefe81748bcf7fe65ad3492ed2ca22a2b834a

5 years agoUpdate BuildTools to preview4-03930-01 (dotnet/core-setup#6185)
dotnet-maestro-bot [Thu, 2 May 2019 08:39:30 +0000 (01:39 -0700)]
Update BuildTools to preview4-03930-01 (dotnet/core-setup#6185)

Commit migrated from https://github.com/dotnet/core-setup/commit/6dc96953da07af2e87254716491a0e37b421e7ea

5 years agoUpdate PublishRid list for Deb consolidation (dotnet/core-setup#6213)
Davis Goodin [Wed, 1 May 2019 18:21:56 +0000 (13:21 -0500)]
Update PublishRid list for Deb consolidation (dotnet/core-setup#6213)

Commit migrated from https://github.com/dotnet/core-setup/commit/9d116002619579b034a063a08e7cf3ed5d9ef07a

5 years agoEnable additional build warnings on Unix (dotnet/core-setup#6071)
Omair Majid [Tue, 30 Apr 2019 18:03:58 +0000 (14:03 -0400)]
Enable additional build warnings on Unix (dotnet/core-setup#6071)

* Enable -Wall, -Wextra, -Weverything and -Werror on Unix

This enables *all* native code warnings on gcc/clang.

To avoid breaking the build, this commit also explicitly disables all
warnings that currently cause the build to fail.

* Remove -Wno-zero-as-null-pointer-constant

Fix all the code that was causing the warnings.

* Fix newline-eof warnings

* Fix 'deprecated' warnings

Use `noexcept` instead of `throw()`.

Use explicit copy-constructors where the compiler complains.

* Fix non-virtual-destructor warnings

Add a virtual destructor

* Fix extra-semi warnings

* Fix some sign-compare warnings

But leave sign-compare warnings disabled: some shared API essentially
forces some code do this comparison.

* Fix ignored-qualifiers warnings

It doesn't matter when functions that return value types use const or
not: value types are returned by copying and the caller can't mutate the
the version that the callee had. So remove those const flags.

* Fix undef warnings

Use defined() for preprocessor flags that can be undefined.

* Fix range-loop-analysis warnings

* Enable shorten-64-to-32 warnings

Previous commits have fixed all code that produced this warning.

* Fix used-but-marked-unused warnings

* Fix missing-braces warnings

* Disable vla-extension warnings

* Fix missing-variable-declarations warnings

Fix the warnings by explicitly declaring the global variables that are
only meant to be used locally in the file as static.

* Enable sign-conversion warnings

The code seems to have been fixed by previous commits.

* Fix old-style-cast warnings

* Fix unused-variable warnings

* Fix sign-compare warnings

* Fix documentation-unknown-command warnings

Clang thinks these comment blocks enclosed by /** and **/ are
doxygen-style comments. And doxygen doesn't know of a \Program tag. Use
\\ to "escape" a single slash and make doxygen/clang happy.

* Disable -Weverything

And remove various -Wno- flags that are not required anymore.

* Update global locations that comments refer to

The original locations are basically wrong.

* Fix bad cast in mockcoreclr.cpp

We should set the left hand value (a host_handle_t) to a right hand
value of the same type (a host_handle_t). Casting `0xdeadbeef` to a
host_handle_t* - only to assign it to a host_handle_t - does't make too
much sense.

Commit migrated from https://github.com/dotnet/core-setup/commit/0dd08fe1414c690d3243739f3be4cd35f84f7dde

5 years agoCheck for previously loaded hostfxr before loading in component hosts (dotnet/core...
Elinor Fung [Mon, 29 Apr 2019 22:05:53 +0000 (15:05 -0700)]
Check for previously loaded hostfxr before loading in component hosts (dotnet/core-setup#6107)

Commit migrated from https://github.com/dotnet/core-setup/commit/a5b7fbb36794f6b778e66282a60a67f84711d701

5 years agoIncrease GUI test timeout and add more diagnostics. (dotnet/core-setup#6168)
Vitek Karas [Mon, 29 Apr 2019 21:38:41 +0000 (14:38 -0700)]
Increase GUI test timeout and add more diagnostics. (dotnet/core-setup#6168)

* Increase GUI test timeout and add more diagnostics.

* Implement two timeout approach to detect hangs.

As suggested by @danmosemsft the waiting now succeeds if the window is detected in the specified timeout. If it is detected but it took longer than that (up to 3 * timeout), the test fails but notes that it did get the window. If it takes longer than 3 * timeout, the test just fails.

Commit migrated from https://github.com/dotnet/core-setup/commit/8cdebdfda7c8d22b5460fd2b9d7e30e372093d81

5 years agoGeneralize dotnet-runtime-deps Deb/RPM package dependencies (dotnet/core-setup#6070)
Davis Goodin [Mon, 29 Apr 2019 19:54:49 +0000 (14:54 -0500)]
Generalize dotnet-runtime-deps Deb/RPM package dependencies (dotnet/core-setup#6070)

* Expand runtime-deps package applicability

On RPM package distros, depend on the libicu capability that a libicu## package provides.

On Debian package distros, use "or" dependencies that list all known versions of libicu and libssl.

This removes the need for some distro-specific packages.

* Collapse identical Deb packages into one

Commit migrated from https://github.com/dotnet/core-setup/commit/c98ab5cca3f5a7721581de057ba87cde3f30f69d

5 years agoFix build warnings in the coreclr mock. (dotnet/core-setup#6092)
Vitek Karas [Thu, 25 Apr 2019 22:20:41 +0000 (15:20 -0700)]
Fix build warnings in the coreclr mock. (dotnet/core-setup#6092)

Commit migrated from https://github.com/dotnet/core-setup/commit/34e7c67ad78ef5780d3e8c78757743f0181dfbc0

5 years agoRemove ".Internal" from runtime packages (dotnet/core-setup#6096)
Davis Goodin [Thu, 25 Apr 2019 19:50:23 +0000 (14:50 -0500)]
Remove ".Internal" from runtime packages (dotnet/core-setup#6096)

Commit migrated from https://github.com/dotnet/core-setup/commit/6a78e0fd349ef19a5a31380c37b39e62ad68fefa

5 years agoAdd trace flush to error writer propagation (dotnet/core-setup#6053)
Vitek Karas [Wed, 24 Apr 2019 22:31:50 +0000 (15:31 -0700)]
Add trace flush to error writer propagation (dotnet/core-setup#6053)

* Add trace flush to error writer propagation

Removes small amount of code duplication. Makes sure that the behavior is consistent across all cross-module calls.

* Apply suggestions from code review

Co-Authored-By: vitek-karas <vitek.karas@microsoft.com>
Commit migrated from https://github.com/dotnet/core-setup/commit/948e3be562e8e964c0c1898b86d82cc2c901789f

5 years agoRemove the --roll-forward-on-no-candidate-fx from command line help (dotnet/core...
Vitek Karas [Tue, 23 Apr 2019 21:40:02 +0000 (14:40 -0700)]
Remove the --roll-forward-on-no-candidate-fx from command line help (dotnet/core-setup#6025)

* Remove the --roll-forward-on-no-candidate-fx from command line help. The setting is now deprecated so we don't want to show it in the command line help (it still works though).

* Rename a parameter to make it clearer what it's used for

Commit migrated from https://github.com/dotnet/core-setup/commit/04abec82b4cc52f6aec749acff25550c7ae76c83

5 years ago Produce mostly empty Microsoft.NETCore.App (dotnet/core-setup#5893)
Davis Goodin [Tue, 23 Apr 2019 15:50:50 +0000 (10:50 -0500)]
 Produce mostly empty Microsoft.NETCore.App (dotnet/core-setup#5893)

* Produce mostly empty Microsoft.NETCore.App

Package is now empty with a platforms package dependency. Create Microsoft.NETCore.App.Insertion transport package for compatibility workarounds.

This commit also moves netcoreapp sfx generation to the new infrastructure to more easily handle the migration away from Microsoft.NETCore.App.

* Test workarounds for Msft.NETCore.App.Insertion

If tests use MNA, use MNAI.

* M.NETCore.App.Insertion => M.NETCore.App.Internal

It isn't just for insertion into core-sdk, we use it in core-setup too for now.

* Update dir.props: quote '/' and '\' in comment

Co-Authored-By: dagood <dagood@users.noreply.github.com>
* Comment on explicit .lib exclusion

Commit migrated from https://github.com/dotnet/core-setup/commit/0752a1798f8a089aa78796068a43b52ee1564aa5

5 years agoNative hosting proposal (dotnet/core-setup#5336)
Vitek Karas [Tue, 23 Apr 2019 10:58:07 +0000 (03:58 -0700)]
Native hosting proposal (dotnet/core-setup#5336)

Design describing current level of support for hosting managed code from native applications and proposal for improvements in this area.

Commit migrated from https://github.com/dotnet/core-setup/commit/1a68a6c1b0b70bb5d0b06d7878ae728c1e3800d1

5 years agoFix FixLayoutPermissions ordering for AppHost +x (dotnet/core-setup#6003)
Davis Goodin [Tue, 23 Apr 2019 00:24:51 +0000 (19:24 -0500)]
Fix FixLayoutPermissions ordering for AppHost +x (dotnet/core-setup#6003)

Make sure it runs for macOS installers, and run it before copying to the secondary layout for Deb/RPM.

Commit migrated from https://github.com/dotnet/core-setup/commit/ca333bca8f505b8d6e201017dc140866b121c5d8

5 years agoFix _jitPackageDir ref to include cross build jit (dotnet/core-setup#5987)
Davis Goodin [Mon, 22 Apr 2019 20:38:43 +0000 (15:38 -0500)]
Fix _jitPackageDir ref to include cross build jit (dotnet/core-setup#5987)

Commit migrated from https://github.com/dotnet/core-setup/commit/2db2f6b5fa34d517ccc3cbfda4c75abb814a2ca0

5 years agoMerge pull request dotnet/core-setup#5983 from wtgodbe/p6
William Godbe [Mon, 22 Apr 2019 19:14:01 +0000 (12:14 -0700)]
Merge pull request dotnet/core-setup#5983 from wtgodbe/p6

Update branding in master to preview6

Commit migrated from https://github.com/dotnet/core-setup/commit/ccc1bf52bb80869f7e84320f080de801d8d6a08f

5 years agoUpdate branding in master to preview6
wtgodbe [Mon, 22 Apr 2019 18:58:14 +0000 (11:58 -0700)]
Update branding in master to preview6

Commit migrated from https://github.com/dotnet/core-setup/commit/d7ca8cfc7c0eef2188e5a313501416e196f40711

5 years agoCrossgen the WindowsDesktop shared framework using standardized crossgen infra (dotne...
Davis Goodin [Sat, 20 Apr 2019 05:00:50 +0000 (00:00 -0500)]
Crossgen the WindowsDesktop shared framework using standardized crossgen infra (dotnet/core-setup#5942)

* Move crossgen to shared tooling, no changes

* Standardize crossgen, use on WindowsDesktop sfx

* Clarify System.Runtime.WindowsRuntime exclusion

Commit migrated from https://github.com/dotnet/core-setup/commit/f78b553ee37fbe18d4d3ba5972b74cfcc560d1aa

5 years agoApphost: Handle long paths while reading bundles (dotnet/core-setup#5948)
Swaroop Sridhar [Sat, 20 Apr 2019 00:21:45 +0000 (17:21 -0700)]
Apphost: Handle long paths while reading bundles (dotnet/core-setup#5948)

Handle path-lengths larger than 127 bytes in:
- Bundle ID (also a component of the extraction path)
- relative-path (path of a file within the bundle)

The above strings are encoded as length prefixed strings by System.IO.BinaryWriter.Write()
The length itself is encoded as a series of bytes where
  - 7-bits contain length bits
  - 8th bit indicates whether there are more bytes to follow.

For a path, there can be a maximum of two bytes (max 4096)
This commit handles the case where a path length is long enough to be need two bytes.

Also added a test case.

Fixes dotnet/core-setup#5932

Commit migrated from https://github.com/dotnet/core-setup/commit/9889b387cff5086f09ef174c5e73c278d3dba208

5 years agoRoll forward (dotnet/core-setup#5691)
Vitek Karas [Fri, 19 Apr 2019 21:35:58 +0000 (14:35 -0700)]
Roll forward (dotnet/core-setup#5691)

This is the new implementation of the framework resolution with the new roll forward setting.
The spec for this is [framework version resolution](https://github.com/dotnet/core-setup/blob/master/Documentation/design-docs/framework-version-resolution.md).

Major parts:
- introduce `rollForward` setting (CLI, env, config)
- convert the existing `rollForwardOnNoCandidateFx` to the new `rollForward` internally
- change framework reference compatibility algorithm to use the new `rollFoward` settings.
- basically rewrite the framework resolution algorithm with the new settings and fix an existing bug with incorrect retry logic
- add test infra for the new setting
- add tests for the new setting

Commit migrated from https://github.com/dotnet/core-setup/commit/ef496a091be8d8b43ab8c4ed3622ca89bce251cb

5 years agoCreate dotnet-runtime-deps for Ubuntu 19.04 (dotnet/core-setup#5897)
Davis Goodin [Fri, 19 Apr 2019 18:39:16 +0000 (13:39 -0500)]
Create dotnet-runtime-deps for Ubuntu 19.04 (dotnet/core-setup#5897)

Commit migrated from https://github.com/dotnet/core-setup/commit/03e6fda1ab2ddb7317f735bc68cdd739f0865d9a

5 years agoUpdate BuildTools to preview4-03917-01 (dotnet/core-setup#5895)
dotnet-maestro-bot [Fri, 19 Apr 2019 11:55:47 +0000 (04:55 -0700)]
Update BuildTools to preview4-03917-01 (dotnet/core-setup#5895)

Commit migrated from https://github.com/dotnet/core-setup/commit/fa8587318445a7bc1dab753159c5d1c594afa5e9

5 years agoAdd AddMicrosoftNETCoreAppFrameworkMockCoreclr (dotnet/core-setup#5907)
Steve MacLean [Fri, 19 Apr 2019 04:16:28 +0000 (00:16 -0400)]
Add AddMicrosoftNETCoreAppFrameworkMockCoreclr (dotnet/core-setup#5907)

* Add AddMicrosoftNETCoreAppFrameworkMockCoreclr

* Add MockCoreClrSanity test

* Add mockcoreclr.def

Commit migrated from https://github.com/dotnet/core-setup/commit/cedac19e41340258c97eccac7c3336110a73884c

5 years agoAdd mockcoreclr.def
Steve MacLean [Fri, 19 Apr 2019 03:49:41 +0000 (23:49 -0400)]
Add mockcoreclr.def

Commit migrated from https://github.com/dotnet/core-setup/commit/df54a7e811c9c9faf6a03e3294f2114c89ba2c3c

5 years agoAdd MockCoreClrSanity test
Steve MacLean [Thu, 18 Apr 2019 04:48:10 +0000 (00:48 -0400)]
Add MockCoreClrSanity test

Commit migrated from https://github.com/dotnet/core-setup/commit/1d3f5515e8ba9321ca091f25f442efd1897cb3e4

5 years agoAdd AddMicrosoftNETCoreAppFrameworkMockCoreclr
Steve MacLean [Thu, 18 Apr 2019 00:42:38 +0000 (20:42 -0400)]
Add AddMicrosoftNETCoreAppFrameworkMockCoreclr

Commit migrated from https://github.com/dotnet/core-setup/commit/cd5d0985a659cfb86a239b49578450fc8adb15e6

5 years agoUpdate hosting components with new hosts and new scenarios (dotnet/core-setup#5889)
Vitek Karas [Thu, 18 Apr 2019 13:48:47 +0000 (06:48 -0700)]
Update hosting components with new hosts and new scenarios (dotnet/core-setup#5889)

* Update hosting components with new hosts and new scenarios

* Apply suggestions from code review

Co-Authored-By: vitek-karas <vitek.karas@microsoft.com>
Commit migrated from https://github.com/dotnet/core-setup/commit/17737d8b507401b28afef4b576e801f31b76a7e3

5 years agoFail early on duplicate runtime properties (dotnet/core-setup#5898)
Elinor Fung [Thu, 18 Apr 2019 06:12:50 +0000 (23:12 -0700)]
Fail early on duplicate runtime properties (dotnet/core-setup#5898)

Commit migrated from https://github.com/dotnet/core-setup/commit/859ee7d256a043b0a9bfe3e9cc6c8483eb23efd5

5 years agoAdd documentation for existing hostfxr functions (dotnet/core-setup#5904)
Elinor Fung [Thu, 18 Apr 2019 02:35:00 +0000 (19:35 -0700)]
Add documentation for existing hostfxr functions (dotnet/core-setup#5904)

Commit migrated from https://github.com/dotnet/core-setup/commit/46210e5c170a5c4fd2aca61d5590c765955bdd03

5 years agoUpdate readme: Ubuntu 19.04 and Linux musl arm64 (dotnet/core-setup#5899)
Davis Goodin [Wed, 17 Apr 2019 21:12:49 +0000 (16:12 -0500)]
Update readme: Ubuntu 19.04 and Linux musl arm64 (dotnet/core-setup#5899)

* Add Ubuntu 19.04 links

* Add Linux musl arm64 links

* Regenerate table

Commit migrated from https://github.com/dotnet/core-setup/commit/0270cfbcb197a5feb99078b99f34fa61c8951efb

5 years agoMerge pull request dotnet/core-setup#5849 from dotnet/leecow-patch
Lee Coward [Tue, 16 Apr 2019 22:43:39 +0000 (15:43 -0700)]
Merge pull request dotnet/core-setup#5849 from dotnet/leecow-patch

Add execute perms to dotnet-wrapper for SDK Snap

Commit migrated from https://github.com/dotnet/core-setup/commit/ae2f9703a398e3dea1b9ea33910d39b64e9ec185

5 years agoAdd links to nethost zip/tar.gz to readme (dotnet/core-setup#5860)
Elinor Fung [Tue, 16 Apr 2019 21:05:49 +0000 (14:05 -0700)]
Add links to nethost zip/tar.gz to readme (dotnet/core-setup#5860)

Commit migrated from https://github.com/dotnet/core-setup/commit/810adb35cf1478f68c6a885adaef45925f012f45

5 years agoCreate AppHost pack nupkg and installers (dotnet/core-setup#5818)
Davis Goodin [Mon, 15 Apr 2019 21:27:26 +0000 (16:27 -0500)]
Create AppHost pack nupkg and installers (dotnet/core-setup#5818)

* Create AppHost pack nupkg and installers

* Publish rid-specific AppHost packs

Commit migrated from https://github.com/dotnet/core-setup/commit/29db80e003d7160f20bd2b036ba16721c3ee66bc

5 years agoMerge pull request dotnet/core-setup#5827 from dotnet-maestro-bot/master-UpdateDepend...
William Godbe [Mon, 15 Apr 2019 19:39:27 +0000 (12:39 -0700)]
Merge pull request dotnet/core-setup#5827 from dotnet-maestro-bot/master-UpdateDependencies

Update BuildTools to preview4-03913-01 (master)

Commit migrated from https://github.com/dotnet/core-setup/commit/75239a14e63313457be9c723c99a0a67c6645e3b

5 years agoFix reorder warnings (dotnet/core-setup#5821)
Omair Majid [Mon, 15 Apr 2019 19:26:05 +0000 (15:26 -0400)]
Fix reorder warnings (dotnet/core-setup#5821)

Add compiler flags to fail any builds that produce that warning.

The member initialization list is always evaluated in the order the
members are delcared in the class, not the order in which they are
listed in the member initialization list. So modify the member
initialization lists to match the order in which they will be evaluated.

Commit migrated from https://github.com/dotnet/core-setup/commit/dcbb048073e3745df48e52d0619648f7aae8fa3d

5 years agoAdd basic native hosting test using comhost (dotnet/core-setup#5833)
Elinor Fung [Mon, 15 Apr 2019 19:22:05 +0000 (12:22 -0700)]
Add basic native hosting test using comhost (dotnet/core-setup#5833)

* Test loads comhost and calls DllGetClassObject to activate
* Specify calling convention for COM activation delegate

Commit migrated from https://github.com/dotnet/core-setup/commit/48437b978361b7af9b37cdbecc290d4e058ee3fd

5 years agoAdd execute perms to dotnet-wrapper. Resolves https://github.com/dotnet/core-setup...
Lee Coward [Mon, 15 Apr 2019 16:01:41 +0000 (09:01 -0700)]
Add execute perms to dotnet-wrapper. Resolves https://github.com/dotnet/core-setup/issues/5790

Commit migrated from https://github.com/dotnet/core-setup/commit/875a48cef8683292f19a1b93916bd50345b9593c

5 years agoAppHost: Support bundles (stage 1) (dotnet/core-setup#5742)
Swaroop Sridhar [Sun, 14 Apr 2019 06:29:25 +0000 (23:29 -0700)]
AppHost: Support bundles (stage 1) (dotnet/core-setup#5742)

* AppHost: Support bundles (stage 1)

This changes implements the [app-host support](https://github.com/dotnet/designs/blob/master/accepted/single-file/design.md#the-host )
for executing .net core apps published as a single file.

This change implements [stage 1](https://github.com/dotnet/designs/blob/master/accepted/single-file/staging.mddotnet/core-setup#1-self-extractor),
which [extracts out](https://github.com/dotnet/designs/blob/master/accepted/single-file/extract.md ) the embedded files to disk.

On startup, the AppHost detects whether it's own binary is a .net core bundle.
If so, on the first run, the host extracts embedded files to:
  * if `DOTNET_BUNDLE_EXTRACT_BASE_DIR` is set, to `$DOTNET_BUNDLE_EXTRACT_BASE_DIR/.net/<app>/<id>/...` . Otherwise,
  * On Windows, to `%TEMP%/.net/<app>/<id>/...`
  * On Unix systems, if `$TMPDIR` is set, to `$TMPDIR/.net/<app>/<id>/...` . Otherwise to `/var/tmp` or `/tmp` if those paths are available and accessible.

On subsequent runs, the files extracted above are reused.

AppHost (X64) size increase:
Windows 5KB
Linux 11KB
Mac 6KB

Testing:
Tested the single-file extraction locally with several kinds of dotnet apps
(wpf, winforms, web, mvc, console, etc.)
Added a test case that runs a bundled apps with sub directories
Also fixed a bug in the Microsoft.NET.HostModel.extractor wrt processing bundled files in chunks.

Commit migrated from https://github.com/dotnet/core-setup/commit/4a01e55806b0849a08b820518e8cdcbeaaf07476

5 years agoMove creating hostpolicy context and coreclr out of run functions (dotnet/core-setup...
Elinor Fung [Sat, 13 Apr 2019 23:07:21 +0000 (16:07 -0700)]
Move creating hostpolicy context and coreclr out of run functions (dotnet/core-setup#5775)

Commit migrated from https://github.com/dotnet/core-setup/commit/8e0590b0f1320ea455d125c2d75dc230109d8e43

5 years agoAdd Mock CoreCLR (dotnet/core-setup#5823)
Steve MacLean [Sat, 13 Apr 2019 15:54:02 +0000 (11:54 -0400)]
Add Mock CoreCLR (dotnet/core-setup#5823)

* Add Mock CoreCLR

* Add MockLog* macros

* Use SHARED_API

Commit migrated from https://github.com/dotnet/core-setup/commit/6e994af6195ac90c9050a54c317a6623a729962e

5 years agoFix algorithm description with the order problem solution (dotnet/core-setup#5744)
Vitek Karas [Sat, 13 Apr 2019 09:51:05 +0000 (02:51 -0700)]
Fix algorithm description with the order problem solution (dotnet/core-setup#5744)

Describe the ordering problem and how it is fixed in the new version.

Commit migrated from https://github.com/dotnet/core-setup/commit/09ee70255ebbce00bae4e4ff188241b42d001d89

5 years agoRemove unused is_executable function in pal.unix.cpp (dotnet/core-setup#5814)
Omair Majid [Sat, 13 Apr 2019 09:49:39 +0000 (05:49 -0400)]
Remove unused is_executable function in pal.unix.cpp (dotnet/core-setup#5814)

The function is declared as static. The only other function that called
it was removed in commit ad495acf.

Commit migrated from https://github.com/dotnet/core-setup/commit/cdcc62925ec47a2affb0249c6c6b8c14e3070430

5 years agoRemove redundant std::move() (dotnet/core-setup#5824)
Omair Majid [Sat, 13 Apr 2019 09:45:08 +0000 (05:45 -0400)]
Remove redundant std::move() (dotnet/core-setup#5824)

This is essentially a port of:
https://github.com/Microsoft/cpprestsdk/commit/dotnet/core-setup@f0637654fc0e6752d60f483138cbc8aef4ff0b75#diff-8e55486b33944293c131ee21fe87ff37

clang (and gcc, but I didn't test that) complains about std::move being
redundant because the compiler can already infer it.

Commit migrated from https://github.com/dotnet/core-setup/commit/ded9cda79f8c48f60c56596f8badd99feffd98a3

5 years agoUpdate BuildTools to preview4-03913-01
dotnet-maestro-bot [Sat, 13 Apr 2019 05:19:11 +0000 (22:19 -0700)]
Update BuildTools to preview4-03913-01

Commit migrated from https://github.com/dotnet/core-setup/commit/5dbaf7f72c6eac5bd8c33d4562a91dc59abafef4

5 years agoCreate zip file for WindowsDesktop sfx (dotnet/core-setup#5816)
Davis Goodin [Fri, 12 Apr 2019 18:33:10 +0000 (13:33 -0500)]
Create zip file for WindowsDesktop sfx (dotnet/core-setup#5816)

Commit migrated from https://github.com/dotnet/core-setup/commit/c80a9630e016c3517fe6dce784f7f344b744ba1b

5 years agoCreate WindowsDesktop shared framework nupkgs and MSIs (dotnet/core-setup#5741)
Davis Goodin [Fri, 12 Apr 2019 16:43:25 +0000 (11:43 -0500)]
Create WindowsDesktop shared framework nupkgs and MSIs (dotnet/core-setup#5741)

* Move packaging-tools out: unwanted dir.props

Move packaging-tools from src/pkg/projects/ to src/pkg/ so the shared framework project isn't interfered with by src/pkg/projects/dir.props. Changing the dir.props would be wasted effort because packaging-tools will have to move to become shared tooling in the future.

* WindowsDesktop shared framework, nupkg + msi

Commit migrated from https://github.com/dotnet/core-setup/commit/e1f47891f3fc715cbf73b599a5466ef8fce105ea

5 years agoBuild the Bundler as a library (dotnet/core-setup#5798)
Swaroop Sridhar [Fri, 12 Apr 2019 04:17:18 +0000 (21:17 -0700)]
Build the Bundler as a library (dotnet/core-setup#5798)

* Build the Bundler as a library

Currently, the single-file bundler is
* Built as an app instead of a library
* Invoked from the SDK out-of-proc in order to enforce strict API boundaries

However, since the SDK implementation progressed, we've had to revisit the above decisions.

First, the bundler currently is implemented to take a folder vs a list of files to bundle.
* This causes unnecessary extra copies to the publish directory.
    * The files to be bundled need not be first copied to the publish directory.
    * Instead they can be written directly to the bundle.
* Stale items remaining in the publish directory may be written into the bundle unnecessarily.

Therefore, we decided that the bundler should take tuples of (source file-path, relative-path within bundle) instead of the publish folder as input.
* While it is possible to provide this input on the command-line/response file, it is convenient and more efficient to do it in-proc.
* Further, the SDK team agrees that the bundler is simple enough to run in-proc with the build system.

Therefore, the changes proposed are:
* Bundler will be built into a library Microsoft.NET.HostModel in core-setup repo (similar to DependencyModel)
    * It is not a task directly because we don't have to worry about multi-targeting
    * Other apphost related services like stamping the app.dll name into the apphost will be moded into this library
* A task in the SDK repo will consume this library through package reference (from myget)
    * (WIP) SDK changes: https://github.com/dotnet/sdk/compare/master...swaroop-sridhar:bundle-lib?expand=1

Commit migrated from https://github.com/dotnet/core-setup/commit/345061995531c6f8de00189842a27298d5d1a9b1

5 years agoUpdate COM-activation.md (dotnet/core-setup#5805)
Aaron Robinson [Fri, 12 Apr 2019 01:17:56 +0000 (18:17 -0700)]
Update COM-activation.md (dotnet/core-setup#5805)

Update support matrix

Commit migrated from https://github.com/dotnet/core-setup/commit/727ed5ae59845fbca7d538ead2cecd0a82d8b2f5

5 years agoSplit getting init info for app/lib into separate helper function from executing...
Elinor Fung [Thu, 11 Apr 2019 22:01:27 +0000 (15:01 -0700)]
Split getting init info for app/lib into separate helper function from executing runtime (dotnet/core-setup#5758)

* Split processing config for app/lib into separate function from
loading/executing runtime
* Pull hostpolicy resolving/loading out of fx_muxer.cpp

Commit migrated from https://github.com/dotnet/core-setup/commit/d221fe769b321d2f8d689fb0fd97243c5f77b7b0