Vitek Karas [Wed, 18 Sep 2019 22:30:58 +0000 (15:30 -0700)]
Remove the runtime property AppDomainCompatSwitch as it's not used by CoreCLR anymore. (dotnet/core-setup#8289)
The usage of this has been removed several years ago in https://github.com/dotnet/coreclr/pull/5708. The new runtime behavior is always the one we were explicitly selecting with the property value anyway.
Commit migrated from https://github.com/dotnet/core-setup/commit/
30c4a25a9a675d632b6e7180e53a87e6fcacb909
Lee Coward [Wed, 18 Sep 2019 17:04:01 +0000 (10:04 -0700)]
snapcraft.yaml updates for sept. (dotnet/core-setup#8274)
* remove 1.1 snap assets
* snapcraft.yaml updates for Sep release
Commit migrated from https://github.com/dotnet/core-setup/commit/
e6f9309bae0f8242045b80a50f65513da975906d
Davis Goodin [Tue, 17 Sep 2019 15:29:30 +0000 (10:29 -0500)]
Set +x on cred provider build proxy scripts (dotnet/core-setup#8284)
Commit migrated from https://github.com/dotnet/core-setup/commit/
708eb333f08df7e339a3989765a068d65a1232bf
Davis Goodin [Tue, 17 Sep 2019 15:17:11 +0000 (10:17 -0500)]
Internal servicing fix: match Arcade stage name (dotnet/core-setup#8283)
Commit migrated from https://github.com/dotnet/core-setup/commit/
52869cf2cb4bb5890dc4c5e250d68b9054130582
Davis Goodin [Tue, 17 Sep 2019 15:00:14 +0000 (10:00 -0500)]
Add internal build support (dotnet/core-setup#8279)
Add NuGetAuthenticate task.
Create proxy build scripts that include pre-build auth plugin install.
Add workaround to avoid running test restore against authenticated feed.
Pass the NuGet auth env vars set by the AzDO build step into the Docker container.
Add configurability for internal publish.
Commit migrated from https://github.com/dotnet/core-setup/commit/
a896b3ee381b6d58830613def6f118e16a8a6dc7
Next Turn [Fri, 13 Sep 2019 13:15:38 +0000 (21:15 +0800)]
Minor fix in Native Hosting doc (dotnet/core-setup#8210)
Commit migrated from https://github.com/dotnet/core-setup/commit/
9042fe6c81aa3b47f58ccd94ff02e42f9f7a4e46
Matt Mitchell [Thu, 12 Sep 2019 23:54:38 +0000 (16:54 -0700)]
Merge pull request dotnet/core-setup#8253 from dagood/rm-restoresources
Use NuGet.config, not RestoreSources
Commit migrated from https://github.com/dotnet/core-setup/commit/
e098f190197940274b32eefb0fb132bbd7ae9dc5
Davis Goodin [Thu, 12 Sep 2019 22:49:35 +0000 (17:49 -0500)]
Use NuGet.config, not RestoreSources
Commit migrated from https://github.com/dotnet/core-setup/commit/
65dc0465be93850df24f444010491dc2e53127f2
Lee Coward [Wed, 11 Sep 2019 16:47:33 +0000 (09:47 -0700)]
remove 1.1 snap assets (dotnet/core-setup#7810)
Commit migrated from https://github.com/dotnet/core-setup/commit/
da145d1dede19d8469572b6fee583fbe292d5ecc
Davis Goodin [Wed, 11 Sep 2019 16:18:52 +0000 (11:18 -0500)]
Fix NonShipping packages to always be unstable (dotnet/core-setup#8155)
* Fix NonShipping packages to always be unstable
Commit migrated from https://github.com/dotnet/core-setup/commit/
8a76b21384f5601dbb0e0b67fbf330e920f995a5
Divino César [Wed, 11 Sep 2019 00:56:47 +0000 (17:56 -0700)]
Fix stage chaining (dotnet/core-setup#8142)
Commit migrated from https://github.com/dotnet/core-setup/commit/
50a1494757e59b171d3c0b9d1508571b08a3dd24
Davis Goodin [Tue, 10 Sep 2019 14:46:59 +0000 (09:46 -0500)]
Use IsShipping=false to keep VS insertion nupkgs unique (dotnet/core-setup#8105)
* Use IsShipping=false, keep insertion nupkgs unique
* Fix MNA_VERSION test variable
* Add missing IsStableBuild arg to publish task
Commit migrated from https://github.com/dotnet/core-setup/commit/
c81ee019bbb2ef59231f153e1329c57d47c08fd0
Leandro Pereira [Mon, 12 Aug 2019 22:12:59 +0000 (15:12 -0700)]
Use RapidJSON instead of Casablanca to parse JSON data
This decreases the host startup performance by a few milliseconds (at
the order of 5ms) at the same time that the host libraries are reduced
by almost 80KiB in size on a release build for x86-64/Linux.
For comparison, these are the sizes with RapidJSON (release mode, Linux,
x86-64, stripped):
text data bss dec hex filename
306034 2292 1056 309382 4b886 libhostfxr.so
258763 2612 800 262175 4001f libhostpolicy.so
And these are the sizes with Casablanca (release mode, Linux, x86-64,
stripped):
text data bss dec hex filename
340175 4340 1088 345603 54603 libhostfxr.so
294478 4636 840 299954 493b2 libhostpolicy.so
RapidJSON is based off of commit dotnet/core-setup@
d87b698d0fcc10a5f632ecbc80a9cb2a8fa094a5.
Commit migrated from https://github.com/dotnet/core-setup/commit/
27063871b42e5c4ee80b8953ebafecb98381d39e
Leandro Pereira [Fri, 30 Aug 2019 17:50:00 +0000 (10:50 -0700)]
Unset $DOTNET_ROOT environment variable for tests that don't require it
If this variable is set in your environment, running `build.sh -t` will
pass it to the test harness, causing these tests to fail.
Teach Command.EnvironmentVariable() to handle `null` as an empty string,
so that if the DotNetRoot() extension method is called with a `null`
parameter, the $DOTNET_ROOT and $DOTNET_ROOT(x86) environment variables
are essentially unset as far as pal::getenv() is concerned.
Commit migrated from https://github.com/dotnet/core-setup/commit/
016c9705185e29c9497c2eb1f9554bb806619731
Davis Goodin [Thu, 5 Sep 2019 18:55:23 +0000 (13:55 -0500)]
Copy PTB NETCoreApp loc fix to WindowsDesktop (dotnet/core-setup#7994)
Commit migrated from https://github.com/dotnet/core-setup/commit/
e8f7aaf617218ee21f0d15fb79e339662fea14a7
Daniel Ye [Thu, 5 Sep 2019 15:05:34 +0000 (08:05 -0700)]
Localization update for PTB runtime term change. (dotnet/core-setup#7965)
* Localization update including term changes.
* eevert "revert localization update including term changes."
This reverts commit dotnet/core-setup@
3863cbbb23b0991679362a2c49ed16a659a43728.
revert localization update.
* Localization update for PTB term changes.
* Convert checked-in CRLF to LF
Commit migrated from https://github.com/dotnet/core-setup/commit/
fb84a94ccfad325950501c1ccf8ab57232f2ea9c
Davis Goodin [Thu, 5 Sep 2019 14:54:02 +0000 (09:54 -0500)]
Fix macOS pkg IDs: include version (dotnet/core-setup#7974)
Commit migrated from https://github.com/dotnet/core-setup/commit/
592b1ce6dd141a09f142ca06d25363cfb09f382f
dotnet-maestro[bot] [Thu, 5 Sep 2019 14:53:22 +0000 (14:53 +0000)]
[master] Update dependencies from dotnet/arcade (dotnet/core-setup#7982)
* Update dependencies from https://github.com/dotnet/arcade build
20190904.31
- Microsoft.DotNet.VersionTools.Tasks - 1.0.0-beta.19454.31
- Microsoft.DotNet.Arcade.Sdk - 1.0.0-beta.19454.31
- Microsoft.DotNet.Build.Tasks.Feed - 2.2.0-beta.19454.31
- Microsoft.DotNet.Build.Tasks.Packaging - 1.0.0-beta.19454.31
* Enable post-build publishing for 3.1 channels and fixup legacy channle names
Commit migrated from https://github.com/dotnet/core-setup/commit/
fc818d35980fd39004e9264097ef15207d96ea0c
Elinor Fung [Thu, 5 Sep 2019 04:23:24 +0000 (21:23 -0700)]
Make static hostpolicy context a shared pointer (dotnet/core-setup#7964)
Make static hostpolicy context a shared pointer so that it won't get
destructed as part of exit if it is in use by another thread
Commit migrated from https://github.com/dotnet/core-setup/commit/
61303f4523b934b3dadd825525a3acbac18bb23e
Davis Goodin [Wed, 4 Sep 2019 22:13:22 +0000 (17:13 -0500)]
Commonize symbol file discovery: fix symbol zip (dotnet/core-setup#7959)
Commit migrated from https://github.com/dotnet/core-setup/commit/
ce971b238196b08e9423bf9a5bfd192b8f7e1e0b
Davis Goodin [Wed, 4 Sep 2019 18:51:05 +0000 (13:51 -0500)]
Remove WPF ignored duplicates: improve validation (dotnet/core-setup#7868)
Commit migrated from https://github.com/dotnet/core-setup/commit/
f14056fb2a67954e11be4d75ebdc41d41f0d0278
Nikita Potapenko [Wed, 4 Sep 2019 14:49:44 +0000 (17:49 +0300)]
Rename test class (dotnet/core-setup#7950)
Commit migrated from https://github.com/dotnet/core-setup/commit/
33d05af6ff91b7f8f0badb97f643ffd9d6c48521
Davis Goodin [Tue, 3 Sep 2019 16:37:24 +0000 (11:37 -0500)]
Exclude symbol files from platform manifest (dotnet/core-setup#7912)
Commit migrated from https://github.com/dotnet/core-setup/commit/
ca639fc14262ee623ad051cdcf5f8024fa9f53f4
Swaroop Sridhar [Tue, 3 Sep 2019 06:25:28 +0000 (23:25 -0700)]
Bundles: Align assemblies at a 4K boundary (dotnet/core-setup#7777)
* Bundles: Align assemblies at a 4K boundary
Align assemblies at a 4K boundary to facilitate their load
directly from the (memory-mapped) bundle by the runtime.
Assemblies are written with 4K alignment to facilitate loading from bundle
Remaining files (native binaries and other files) are written without alignment.
The unaligned files are written first, followed by the aligned files,
and finally the bundle manifest.
Further work is required to order the files better in order to minimize bundle size.
Bundle size change due to this change:
Console self-contained: Increased by 0.3 MB (67.95 -> 68.26)
WebAPI self-contained: Increased by 0.5 MB (84.53 -> 85.10)
The 4K alignment is strictly not necessary in order to map the contents of the bundle for loading.
MAPMapViewOfFile already maps sections that are not 4K aligned (by mapping extra bytes before/after each section, possibly redundantly). With some additional work to CorUnix::InternalMapViewOfFile and MAPMapViewOfFile, loading from single-exe bundles can also be made to work without the requirement for 4K alignment (at least as well as the section-loading currently works).
Checking in this changes provides a HostModel package that is 4K aligned for experimentation/prototyping. Once the changes to map.cpp are implemented, the change can be reverted.
Commit migrated from https://github.com/dotnet/core-setup/commit/
6c40a810faacb904c623a5d2575b424298f0e37b
pi1024e [Mon, 2 Sep 2019 07:38:36 +0000 (03:38 -0400)]
Make it more obvious what constitutes an invalid directory (dotnet/core-setup#7762)
Commit migrated from https://github.com/dotnet/core-setup/commit/
fb49d11c77525a6af8e5bc7067a17d9eee6948dd
Davis Goodin [Fri, 30 Aug 2019 19:49:29 +0000 (14:49 -0500)]
Fix source-build patch and workaround arg (dotnet/core-setup#7897)
Incorporates source-build patch that was added to exclude WindowsDesktop from NuGet restore. Adds logic to determine RestoreAllBuildRids based on DotNetBuildFromSource, so that source-build doesn't have to pass in the '/p:RestoreAllBuildRids=false' override argument.
Commit migrated from https://github.com/dotnet/core-setup/commit/
828940020e37e2fa9412ccab1eb6b9442c73d54c
Davis Goodin [Tue, 27 Aug 2019 18:18:01 +0000 (13:18 -0500)]
Fix version info missing from native binaries (dotnet/core-setup#7864)
Allow the SDK to restore SourceLink and find its MSBuild props and targets files. These are used to fetch Git information.
Use Arcade-generated '_version.c'. The new '_version.c' is identical to the old 'version.cpp'. The host build.sh generated an empty 'version.cpp' when it doesn't already exist at the specified path, which caused the "No version information" message to be included.
Commit migrated from https://github.com/dotnet/core-setup/commit/
bac3b0dc8ec9e0d4d2441524ed2bca24f8bab748
Davis Goodin [Mon, 26 Aug 2019 22:19:29 +0000 (17:19 -0500)]
Enable signing validation with exclusions (dotnet/core-setup#7850)
Commit migrated from https://github.com/dotnet/core-setup/commit/
e37b0cfa157ee7b1979255750691131bc5b8ed9b
Davis Goodin [Mon, 26 Aug 2019 22:19:16 +0000 (17:19 -0500)]
Set up auto-update for infrastructure packages (dotnet/core-setup#7824)
* Set up auto-update for infra packages
* React to packaging tools centralizing specs
Commit migrated from https://github.com/dotnet/core-setup/commit/
ec56798deef4429d597871df7d1c060b0a111adc
Davis Goodin [Fri, 23 Aug 2019 18:53:48 +0000 (13:53 -0500)]
Fix bundle installer signing (dotnet/core-setup#7820)
* Fix bundle installer signing
* Remove SignMsiFiles.proj MSBuild cycle
This OrderProjectReference is unnecessary: ensuring the MSI files are signed before bundling them is already handled by the infrastructure in the GetBundledMsiFiles target.
Commit migrated from https://github.com/dotnet/core-setup/commit/
9528017ba529995cc42697abc1e3c59258303192
Omair Majid [Thu, 22 Aug 2019 16:19:20 +0000 (12:19 -0400)]
Revert "Enable hosted builds on arm64 (dotnet/core-setup#7696)" (dotnet/core-setup#7806)
This reverts commit dotnet/core-setup@
4b82b1edad5fb7b1f9e865a8429c2da33c921854.
The changes break VS and may even change the default on Windows to x86
instead of x64.
Commit migrated from https://github.com/dotnet/core-setup/commit/
a307f0df21061400efeaf50b267f032a09146fee
Davis Goodin [Thu, 22 Aug 2019 15:53:11 +0000 (10:53 -0500)]
Stop the BAR publish job assigning channel early (dotnet/core-setup#7807)
Commit migrated from https://github.com/dotnet/core-setup/commit/
47dfe9e0b279aaa6031a9fb898555bfbe722e0da
Davis Goodin [Wed, 21 Aug 2019 20:38:56 +0000 (15:38 -0500)]
Split blob publish into stages run before Arcade (dotnet/core-setup#7779)
* Split blob publish into stages run before Arcade
The Arcade publish stages contain the job that promotes the build, causing auto-update PRs to be generated. This means that running installer publish after Arcade can cause a temporarily broken update PR. To fix this, publish blobs before the Arcade stages.
Leave dotnet/versions publish and build finalization until after the Arcade stages, so that they still only happen after the nupkgs are published.
* Changes per feedback
Remove "Custom" verbiage, not useful and in some cases now incorrect.
Order publish.yml stages by dependency to help readability.
Commit migrated from https://github.com/dotnet/core-setup/commit/
54ae67a366f3dcc374b487be2bb04dba267bb275
Davis Goodin [Tue, 20 Aug 2019 22:30:36 +0000 (17:30 -0500)]
Categorize shipping/nonshipping NuGet packages (dotnet/core-setup#7776)
Commit migrated from https://github.com/dotnet/core-setup/commit/
645aa3a62d3f94a3bd0698cec1cc18709ba1d818
Swaroop Sridhar [Mon, 19 Aug 2019 18:52:03 +0000 (11:52 -0700)]
Single-File: MemoryMap the bundle file (dotnet/core-setup#6576)
* Single-File: MemoryMap the bundle file
This changes makes a few changes in preparation for
loading IL files from the single-file bundle.
**Memory Mapping**
At startup, the entire bundle-file is memory mapped.
The individual embedded files are then extracted out to actual files on disk on startup.
However, this change will facilitate later checkins to:
* Loading files directly from bundle (ex: IL files using PELoader, config files using memory-streams, etc ).
* Extracting out files to disk lazily
Further details are available in [this document](https://github.com/dotnet/designs/blob/master/accepted/single-file/design.md#the-host)
**Refactoring**
* Static bundle_runner: The bundle_runner is made a static class that holds a global pointer
to the memory-mapped application bundle, and meta-data about the contents.
This facilitates the implementation of call-backs for accessing content directly from the bundle,
as explained in [this document](https://github.com/dotnet/designs/blob/master/accepted/single-file/direct.md)
* A few new classes are created by factoring out functionality from bundle_runner
* Extractor: Functionality for extracting contents of a bundle to files on disk.
* Reader: This is a helper class that implements sequentional reading on memory-mapped bundle file.
* dir-Util: Extraction directory handling utilities that assist in processing the bundle.
* Naming: bundle::bundle_runner is renamed as bundle::runner to remove the redundancy.
Similarly, the newly refactored classes are named bundle::extractor and bundle::reader.
Commit migrated from https://github.com/dotnet/core-setup/commit/
9bb119b2a4b82d54e73669928a3b831cc07a1291
Davis Goodin [Mon, 19 Aug 2019 16:51:06 +0000 (11:51 -0500)]
Increase bundle's button size: avoid loc clipping (dotnet/core-setup#7757)
Commit migrated from https://github.com/dotnet/core-setup/commit/
6762e5be2e74bcf35a38a1c1cd842d1ac61e0357
Anirudh Agnihotry [Mon, 19 Aug 2019 16:29:33 +0000 (09:29 -0700)]
adding ci legs to release 3.1 (dotnet/core-setup#7756)
Commit migrated from https://github.com/dotnet/core-setup/commit/
b5212c7d4d0a0c6a8b2cdb310f377653e509f9ac
Davis Goodin [Sun, 18 Aug 2019 21:48:06 +0000 (16:48 -0500)]
Add single quotes to warnAsError:false (dotnet/core-setup#7765)
Commit migrated from https://github.com/dotnet/core-setup/commit/
8a5f710c474a955ae82ce449fb9185a781782558
Davis Goodin [Fri, 16 Aug 2019 21:35:14 +0000 (16:35 -0500)]
Use existing Runtime loc for WD Runtime (dotnet/core-setup#7758)
Copy over branding from .NET Core Runtime bundle installer to Windows Desktop Runtime bundle installer, then remove the "WelcomeHeaderMessage" and "WelcomeDescription" strings that could be confusing in the WD context. The result is a WindowsDesktop bundle installer with no useful description, but with UI localization.
Commit migrated from https://github.com/dotnet/core-setup/commit/
00dfc821b3ba4a56add8161ad6549e8f70ae5add
John Beisner [Fri, 16 Aug 2019 02:08:39 +0000 (19:08 -0700)]
SharedHost always installs to 'ProgramFiles'\dotnet (dotnet/core-setup#7658)
* When installing the SharedHost; copy all files to the traditional default install location: 'ProgramFiles'\dotnet
Commit migrated from https://github.com/dotnet/core-setup/commit/
36894a82f9c0a24d4142b48597e764fd722a9c20
Swaroop Sridhar [Thu, 15 Aug 2019 19:41:01 +0000 (12:41 -0700)]
HostModel:Enable TestWithAdditionalContentAfterBundleMetadata (dotnet/core-setup#6968)
The above test was disabled in PR dotnet/core-setup#6885 because the lab runs
showed failures because of "not enough disk space"
This PR now enables the test, since the test job no longer uses the hosted pool.
Commit migrated from https://github.com/dotnet/core-setup/commit/
b44e5a25b376cfa6e0581cd69af05ce655d72f40
Davis Goodin [Thu, 15 Aug 2019 18:18:20 +0000 (13:18 -0500)]
Switch to Arcade yaml stage-based publishing with custom steps (dotnet/core-setup#7725)
* Switch to stage-based publishing with custom steps
* Workaround: allow known symbol publisher warnings
Use Arcade-supported symbol publish workaround
* Workaround: run gather drop dry to avoid flakiness
* Use hosted pool for custom publish
Commit migrated from https://github.com/dotnet/core-setup/commit/
002bc9ef5d0d6d433321df325b5928aaf80282a4
Omair Majid [Thu, 15 Aug 2019 16:51:43 +0000 (12:51 -0400)]
Enable hosted builds on arm64 (dotnet/core-setup#7696)
To enable building core-setup on arm64 (hosted, not cross compiled), we
need to do a few things:
- Set the right TargetArchitecture
Use the currently running architecture to decide the HostArch. Use that
as the default value of TargetArchitecture, unless another value was
provided by the build configuration.
- Use the right coreclr JIT
If we are cross-compiling, we need to use the x86_arm64 libclrjit.so.
But if we are building on an arm64 host, we need to pick the normal-RID
(eg, linux-arm64) libclrjit.so from the two:
./.packages/transport.runtime.linux-arm64.microsoft.netcore.jit/###/runtimes/linux-arm64/native/libclrjit.so
./.packages/transport.runtime.linux-arm64.microsoft.netcore.jit/###/runtimes/x64_arm64/native/libclrjit.so
- Use a version of SourceLink that supports arm64
We need to upgrade SourceLink to a version that contains
https://github.com/dotnet/sourcelink/pull/288. This commit just
updates it to the latest version.
Fixes dotnet/core-setup#7653
Commit migrated from https://github.com/dotnet/core-setup/commit/
4b82b1edad5fb7b1f9e865a8429c2da33c921854
Swaroop Sridhar [Wed, 14 Aug 2019 14:41:30 +0000 (07:41 -0700)]
Add HostModel AppHost tests (dotnet/core-setup#7586)
This change ports the Import [AppHost updater tests](https://github.com/dotnet/sdk/blob/dotnet/core-setup@
a1cc8ec5a9741a5a2191fe022e12dd8a7f7348c7/src/Tasks/Microsoft.NET.Build.Tasks.UnitTests/GivenAnAppHost.cs) previously in SDK branch to work with HostModel library.
Commit migrated from https://github.com/dotnet/core-setup/commit/
aae3e31d0011b09c8277d2f06f00b07e1fba8cb5
Swaroop Sridhar [Mon, 12 Aug 2019 19:38:21 +0000 (12:38 -0700)]
HostModel: Retry ResourceUpdate on Win32 File-Lock error (dotnet/core-setup#7665)
* HostModel: Retry ResourceUpdate on Win32 File-Lock error
On Win32 PE files, the SDK copies resources on the AppHost binary
from the intermediate assembly.
This update is performed using native Win32 operations.
This change retries the resource update if the operation fails
because the file is locked (say because of AntiVirus scan).
This change is similar to: https://github.com/dotnet/core-setup/pull/7617
which handles failures in managed code via IOException.
The Retry logic is factored out to the RetryUtil class. Currently the
HostWriter is the only client for the class. But it is made public
because other components (like Bundler) may use it in future.
Commit migrated from https://github.com/dotnet/core-setup/commit/
6f3ead36128f5ef3287a847fe9f4cf0d1177a057
Next Turn [Sat, 10 Aug 2019 02:48:21 +0000 (10:48 +0800)]
Minor fix in Native Hosting doc (dotnet/core-setup#7647)
Commit migrated from https://github.com/dotnet/core-setup/commit/
0bd21a0ed332e425a708237d93d0e115acbd3885
Vatsan Madhavan [Fri, 9 Aug 2019 22:52:20 +0000 (15:52 -0700)]
Adds PresentationUI.dll to WPF Profile (dotnet/core-setup#7661)
* Fixes https://github.com/dotnet/wpf/issues/1423
Add PresentationUI.dll to WPF profile
* Update WPF Dependencies
Commit migrated from https://github.com/dotnet/core-setup/commit/
0588e55d5e1401e8b4e43ebcdef4d992c9bd451b
Swaroop Sridhar [Fri, 9 Aug 2019 21:00:02 +0000 (14:00 -0700)]
HostWriter: Update Retry-count (dotnet/core-setup#7654)
Update Retry counters in HostWriter to match the
retry numbers in AppHost.
Commit migrated from https://github.com/dotnet/core-setup/commit/
98b76e058ed209f98e56627da08afb032d22a0a4
Swaroop Sridhar [Thu, 8 Aug 2019 22:09:23 +0000 (15:09 -0700)]
HostModel: Retry updates on IO error (dotnet/core-setup#7617)
* HostModel: Retry updates on IO error
The HostModel implements services for updating the AppHost DLL
- Write App-dll name
- Set GUI/CUI bit
- Read/Write BundleHeader marker
These updates involve multiple file open/close operations.
An Antivirus scanner may intercept in-between and cause these operations
to fail with IO-Error.
So, this change adds a few retries to the IO operations, similar to
https://github.com/dotnet/core-setup/pull/7135
Fix for dotnet/core-setup#7597
Commit migrated from https://github.com/dotnet/core-setup/commit/
f19be99463d48d2fae98030d26c5f394a18d7df6
Elinor Fung [Thu, 8 Aug 2019 17:40:42 +0000 (10:40 -0700)]
Skip framework validation for secondary components loaded into a self-contained app (dotnet/core-setup#7618)
* Skip framework validation for secondary components loaded into a
self-contained app
* Add tests for loading a component in a self-contained app
Commit migrated from https://github.com/dotnet/core-setup/commit/
4789e65dc121d81431d88ef2a7377be735d51a10
Davis Goodin [Wed, 7 Aug 2019 18:58:53 +0000 (13:58 -0500)]
Reference WPF theme assemblies by default (dotnet/core-setup#7601)
* Reference WPF theme assemblies by default
* Fix test expecting >0 ReferencedByDefault attrs
Commit migrated from https://github.com/dotnet/core-setup/commit/
6f12a57e3c1a5e0bc592745b2648b041819ae4ed
Davis Goodin [Tue, 6 Aug 2019 19:39:47 +0000 (14:39 -0500)]
Add root "shared" dir to WindowsDesktop zip (dotnet/core-setup#7581)
Also fix a small bug where both the new and old infrastructure were creating a zip for the NETCoreApp sfx. This wasn't causing a problem in parallel because they are ordered, but it made it unclear to a reader which infra was responsible for the zip.
Commit migrated from https://github.com/dotnet/core-setup/commit/
732ef42a49e82b1bfbe1363fa6799b34d7e8ef34
Aaron Robinson [Mon, 5 Aug 2019 20:55:07 +0000 (13:55 -0700)]
Add support for ProgID registration (dotnet/core-setup#7551)
* Add support for ProgID registration
* Update COM activation documentation
Commit migrated from https://github.com/dotnet/core-setup/commit/
490c40397e4645cf0c47e528466b6d4a301cc04c
Davis Goodin [Mon, 5 Aug 2019 19:24:50 +0000 (14:24 -0500)]
Remove WindowsDesktop bundle WelcomeDescription (dotnet/core-setup#7569)
Commit migrated from https://github.com/dotnet/core-setup/commit/
edd4598118afda2032bb58b4be5fcfff5fcfc335
Matt Mitchell [Mon, 5 Aug 2019 19:17:55 +0000 (12:17 -0700)]
Use Prod pool provider (dotnet/core-setup#7571)
Commit migrated from https://github.com/dotnet/core-setup/commit/
362cc2a93cfceaeb5e135503123eb7f09586bd03
Elinor Fung [Fri, 2 Aug 2019 17:06:15 +0000 (10:06 -0700)]
Explicitly set DOTNET_MULTILEVEL_LOOKUP in tests (dotnet/core-setup#7541)
Commit migrated from https://github.com/dotnet/core-setup/commit/
9b9814cc595dce09a126186d5926b1b19e8a09f3
Davis Goodin [Fri, 2 Aug 2019 16:00:46 +0000 (11:00 -0500)]
Create WindowsDesktop sharedfx bundle installer (dotnet/core-setup#7540)
* Copy ExecWithRetries from BuildTools
Adds working dir, log importance to ExecWithRetries. Also Inline attemptMessage and add log importance comment.
* Add WindowsDesktop sfx bundle installer, refactor
Adds bundle creation support to the packaging-tools, and factors the framework pack and runtime WiX files into a single, more flexible, "product" set of WiX files.
The old MSI generation directory is removed entirely: with the new "product" WiX files, the host and hostfxr MSI creation can move to the new system. The VS insertion nupkg generation code is also ported from PowerShell to MSBuild to fit the new system.
The old system is still used for some macOS pkgs and the macOS bundle installer, some Debian/RPM packages, and some tarballs/zips.
Commit migrated from https://github.com/dotnet/core-setup/commit/
ccf0024ba099103a5b759613c48b8cd46af8754a
Davis Goodin [Thu, 1 Aug 2019 21:10:23 +0000 (16:10 -0500)]
Move DisableVSPublish out of template (dotnet/core-setup#7542)
Commit migrated from https://github.com/dotnet/core-setup/commit/
9e5e0e555fe309c3ad749615969b1ae7b65afeb1
Vitek Karas [Tue, 30 Jul 2019 21:23:43 +0000 (14:23 -0700)]
Fix how we determine line/column from a JsonReaderState (dotnet/core-setup#7510)
Previously these fields were public and so simple `.GetField("name")` worked. Now they are internal, so we need to use the overload which takes `BindingFlags` and ask for private reflection.
Commit migrated from https://github.com/dotnet/core-setup/commit/
907f46239dd63de667797504fdb7fadbf8424a37
Tlakaelel Axayakatl Ceja [Mon, 29 Jul 2019 21:33:54 +0000 (14:33 -0700)]
Merge pull request dotnet/core-setup#7398 from tlakollo/visualstudiopreview
Support Visual Studio Preview Install Path discovery at Build
Commit migrated from https://github.com/dotnet/core-setup/commit/
be08a953bf365d9c52dddbcaa38745dbc39e198c
Tlakaelel Ceja [Sat, 27 Jul 2019 00:04:14 +0000 (17:04 -0700)]
Tested that non preview Visual Studio versions work with the -prerelease
flag. Changing the code to match corefx implementation.
Commit migrated from https://github.com/dotnet/core-setup/commit/
e0bd8f304182d4e25bd96252468063c2ecffb790
Davis Goodin [Fri, 26 Jul 2019 22:28:26 +0000 (17:28 -0500)]
Make apphost.exe and comhost.dll MSI id stable (dotnet/core-setup#7387)
* Make apphost.exe and comhost.dll MSI id stable
Commit migrated from https://github.com/dotnet/core-setup/commit/
5ce778beaf29a76d48c09713d951440ef610af4c
John Beisner [Fri, 26 Jul 2019 21:58:28 +0000 (14:58 -0700)]
Enabling and conditioning the 'NuGetCommand' task. (dotnet/core-setup#7397)
* Enabling and conditioning the 'NuGetCommand' task.
* Update eng/jobs/windows-build.yml
Co-Authored-By: Davis Goodin <dagood@users.noreply.github.com>
* Update eng/jobs/windows-build.yml
Co-Authored-By: Davis Goodin <dagood@users.noreply.github.com>
* Updates per code review.
Commit migrated from https://github.com/dotnet/core-setup/commit/
38fa929b45d17e98120f31643e79598c13592f40
Tlakaelel Ceja [Thu, 25 Jul 2019 22:34:34 +0000 (15:34 -0700)]
New code snippet to support Visual Studio Install Path discovery at
build
Commit migrated from https://github.com/dotnet/core-setup/commit/
98c47d473b4f751fd84019713c252e939b2c4415
Nick Guerrera [Thu, 25 Jul 2019 01:52:31 +0000 (18:52 -0700)]
Merge pull request dotnet/core-setup#7375 from wli3/port-fixes2
Simply aggregate exception happens in failed apphost deletion
Commit migrated from https://github.com/dotnet/core-setup/commit/
0e8f2ed755a65bb52edbd6390ea8a35845999239
William Li [Wed, 24 Jul 2019 23:58:48 +0000 (16:58 -0700)]
Simply aggregate exception happens in failed apphost deletion
Commit migrated from https://github.com/dotnet/core-setup/commit/
bad4dd11c3fcb1fd685008da33841b82aa195ef2
Jeff Schwartz [Wed, 24 Jul 2019 23:51:48 +0000 (23:51 +0000)]
Merge pull request dotnet/core-setup#7373 from wli3/port-fixes
port changes in SDK after Microsoft.NET.HostModel.AppHost is created
Commit migrated from https://github.com/dotnet/core-setup/commit/
f5776f8b584d91b647306376bab5c9e8a75c6f92
Davis Goodin [Wed, 24 Jul 2019 23:14:24 +0000 (18:14 -0500)]
Add targeting pack data/PackageOverrides.txt files (dotnet/core-setup#7369)
Commit migrated from https://github.com/dotnet/core-setup/commit/
c2aa08390bbfe2b3dc8bee2210d9379b4bea4372
William Li [Wed, 24 Jul 2019 22:24:04 +0000 (15:24 -0700)]
Delete output apphost upon failure of the CreateAppHost task.
Port https://github.com/dotnet/sdk/pull/3427 by @peterhuene with my edit
This commit deletes the output apphost when the CreateAppHost task fails from
an exception.
Partially fixes dotnet/core-setup#2989
-------------
* deletes the output apphost when the `CreateAppHost` task fails from
an exception.
* aggreates the Exception for future logging from deleting the failed apphost
Commit migrated from https://github.com/dotnet/core-setup/commit/
7f0eb2869f2f37a899cdd02b7bbc4bd78e4e7038
William Li [Wed, 24 Jul 2019 21:51:40 +0000 (14:51 -0700)]
Fix P/Invoke signatures for the resource updater.
Port https://github.com/dotnet/sdk/pull/3310 by @peterhuene
The resource updater was not specifying a CharSet for the Windows API
P/Invoke signatures and therefore the ANSI versions of the APIs were
being used.
This caused an unhandled exception when customizing the apphost on
Windows when the intermediate apphost path contained Unicode characters
because the ANSI resource updating API couldn't find the file.
Fixes ABdotnet/core-setup#900429.
Commit migrated from https://github.com/dotnet/core-setup/commit/
0059721f0532ae386341fa15eccb7c0d37e5a6f3
Davis Goodin [Tue, 23 Jul 2019 16:18:12 +0000 (11:18 -0500)]
Always build full platform manifest (dotnet/core-setup#7341)
Unless intentionally disabled or building from source, always create the full platform manifest that lists assets from all platforms. With the platform manifest included in runtime packs, it needs to be generated the same across all official build jobs. Producing it locally during a default build also reduces the diff from dev to official builds.
Commit migrated from https://github.com/dotnet/core-setup/commit/
1bac3a54fe65834258718fbbc6c62369f0cbebf7
Davis Goodin [Tue, 23 Jul 2019 15:10:07 +0000 (10:10 -0500)]
Fix platform manifest package id column (dotnet/core-setup#7322)
Fixes "__PackageId__" placeholder appearing in outputs. Added test to ensure this doesn't happen.
Also adds platform manifest to runtime packs.
Commit migrated from https://github.com/dotnet/core-setup/commit/
7e3b0d0caf21b89608a3373e040041cc458722ba
Davis Goodin [Mon, 22 Jul 2019 19:45:44 +0000 (14:45 -0500)]
Disable overriding CentOS as RHEL. (dotnet/core-setup#7318)
Commit migrated from https://github.com/dotnet/core-setup/commit/
daeb68797d196f14368d8ec23aafb545e1c0f94e
Davis Goodin [Mon, 22 Jul 2019 19:45:35 +0000 (14:45 -0500)]
Remove DiaSymReader prebuilt in source-build (dotnet/core-setup#7319)
Commit migrated from https://github.com/dotnet/core-setup/commit/
22326dadefcc7115c0edbd41450dca65b8d163f8
Davis Goodin [Mon, 22 Jul 2019 19:06:15 +0000 (14:06 -0500)]
Add ReferencedByDefault=false to WD theme DLLs (dotnet/core-setup#7320)
Commit migrated from https://github.com/dotnet/core-setup/commit/
0366d3f06d9dadbf1c1253e8b975ce6cb3a317d5
Aaron Robinson [Fri, 19 Jul 2019 22:11:55 +0000 (15:11 -0700)]
Merge pull request dotnet/core-setup#7277 from AaronRobinsonMSFT/comhost_errorinfo_test_5113
Comhost IErrorInfo test
Commit migrated from https://github.com/dotnet/core-setup/commit/
e3135aa808ffbbd9316d3e660b03b407a678a2eb
Aaron Robinson [Thu, 18 Jul 2019 22:40:42 +0000 (15:40 -0700)]
Add test for IErrorInfo propagation during COM activation failure.
Commit migrated from https://github.com/dotnet/core-setup/commit/
a480b039445763a942746f32aa173fdfc40d2276
Aaron Robinson [Thu, 18 Jul 2019 22:39:36 +0000 (15:39 -0700)]
Propagate error writer to hostfxr during delegate acquisition.
Commit migrated from https://github.com/dotnet/core-setup/commit/
92fb649965eb488cf5918d371cc1d73d323af2ff
Davis Goodin [Fri, 19 Jul 2019 19:57:51 +0000 (14:57 -0500)]
Merge pull request dotnet/core-setup#7293 from dagood/arcade-merge/master
# Conflicts:
# eng/Version.Details.xml
# eng/Versions.props
Commit migrated from https://github.com/dotnet/core-setup/commit/
970b3a5143dfda81556f2b5efc4bfc9c053465eb
Leandro Pereira [Thu, 13 Jun 2019 18:02:32 +0000 (11:02 -0700)]
Use access(2) to determine if a file/directory exists
access(2) does not need to validate and fill in the buffer passed to the
kernel, so it's slightly faster.
Commit migrated from https://github.com/dotnet/core-setup/commit/
7d70bbe81b4b86d491e30f957551441464c85375
Leandro Pereira [Thu, 13 Jun 2019 17:52:54 +0000 (10:52 -0700)]
Construct directory entry in place while reading directories
Commit migrated from https://github.com/dotnet/core-setup/commit/
44650f0cdc1307f7d0a451a227a1b8d75f42a3fe
Leandro Pereira [Thu, 13 Jun 2019 17:44:46 +0000 (10:44 -0700)]
Use fstatat() in pal::readdir() instead of building a std::string
fstatat(2) is equivalent to stat(2), but it takes a file descriptor for
a directory, so that lookups are always relative to that file
descriptor. There's no need to construct a temporary std::string.
Commit migrated from https://github.com/dotnet/core-setup/commit/
6a6266a1ab4ba99b3c42b16cc8dc822db35fb45f
Davis Goodin [Fri, 19 Jul 2019 17:25:39 +0000 (12:25 -0500)]
Merge branch 'master' into arcade-merge/master
# Conflicts:
# eng/Version.Details.xml
# eng/Versions.props
Commit migrated from https://github.com/dotnet/core-setup/commit/
5e8221cfd2da93462ba35dc0c4bc23b0d6d3fd32
Davis Goodin [Fri, 19 Jul 2019 04:46:04 +0000 (23:46 -0500)]
Fix up tests for 5.0
Commit migrated from https://github.com/dotnet/core-setup/commit/
3b8cebc9528342972f0229314aa375f9b09d0038
Davis Goodin [Fri, 19 Jul 2019 03:48:43 +0000 (22:48 -0500)]
Fix up 5.0 alpha 1 versioning w/ SemVer v2
Commit migrated from https://github.com/dotnet/core-setup/commit/
cafcf54a8caccf388715618943cb641fd49f912f
Leandro Pereira [Tue, 9 Jul 2019 19:55:27 +0000 (12:55 -0700)]
Use tracing infrastructure to log realpath() and getcwd() errors
Add some more context to them (whenever possible, too).
Commit migrated from https://github.com/dotnet/core-setup/commit/
053fa0473d74176fd4aca2e4ab12d47fbd787791
Davis Goodin [Fri, 19 Jul 2019 03:43:36 +0000 (22:43 -0500)]
Merge branch 'master' into dev/dagood/into-master
# Conflicts:
# BranchInfo.props
# dir.props
# src/managed/CommonManaged.props
# src/test/HostActivation.Tests/DependencyResolution/PortableAppRidAssetResolution.cs
# src/test/HostActivation.Tests/DependencyResolution/ResolveComponentDependencies.cs
# tools-local/setuptools/dotnet-deb-tool/dotnet-deb-tool.csproj
Commit migrated from https://github.com/dotnet/core-setup/commit/
76796fa18c0d23279f0d92205eaf3b8b62cd1a73
Davis Goodin [Thu, 18 Jul 2019 22:18:28 +0000 (17:18 -0500)]
[dev/arcade-migration] Fix Linux package versions (dotnet/core-setup#7261)
* Fix dev deb/rpm build script
* Fix deb/rpm versions: use --ci, fix version props
Commit migrated from https://github.com/dotnet/core-setup/commit/
8f90d9b792b3da42df518da28468ef1677107113
Lee Coward [Thu, 18 Jul 2019 21:56:18 +0000 (14:56 -0700)]
yaml updates for building snaps (dotnet/core-setup#7272)
Commit migrated from https://github.com/dotnet/core-setup/commit/
5057bc7688b810721b13ae8e0fc1df54cd79c809
Davis Goodin [Thu, 18 Jul 2019 19:31:57 +0000 (14:31 -0500)]
[dev/arcade-migration] Fix package and shared framework diffs (dotnet/core-setup#7259)
* Always include CoreCLR in NCA versions txt file
This makes it appear where it's expected. It shouldn't be a problem that it now appears in a package that doesn't truly use CoreCLR. If anything, it makes it easier to find, which could be useful.
* Fix M.NETCore.App.Internal build file differences
Fix GetDependencyDataFileInclusionDefaults to actually affect the condition.
Use a template for the props file and have each pkgproj fill it, so that each pkgproj can configure it. Use non-".Internal" name to refer to platform manifest to keep that filename consistent.
* Fix latest commit usage
* Fix names of deps.json and runtimeconfig.json
* Remove Packaging tools package from sfx deps json
* Add comment about props file placeholders
Commit migrated from https://github.com/dotnet/core-setup/commit/
32d0950119e1537f136efc5ee5bb13b800f4bda0
Davis Goodin [Thu, 18 Jul 2019 16:39:37 +0000 (11:39 -0500)]
[dev/arcade-migration] Fix regressions found in MSI diff (dotnet/core-setup#7238)
* Fix VersionComparisonDate: copy from buildtools
* Adjust ShortFrameworkName placement for sfxproj
Fixes MSIs missing the framework name. This commit also adds a check to prevent regression.
* Move ProductVersion usage from static to target
Fixes the netstandard package version and the version used for the layout, which fixes its install location in the MSI. Adds regression test.
Commit migrated from https://github.com/dotnet/core-setup/commit/
11c7fb051ae5a3a417990008965168dc6acd887b
Elinor Fung [Wed, 17 Jul 2019 19:55:53 +0000 (12:55 -0700)]
Specify /Zi and -g compile options to enable debugging information (dotnet/core-setup#7248)
Commit migrated from https://github.com/dotnet/core-setup/commit/
27f0bb094c4ed99fdb44fa81ea8248ff4b21bc14
Vitek Karas [Wed, 17 Jul 2019 19:54:36 +0000 (12:54 -0700)]
Fixes couple of places in the bundle runner where we might leak memory. (dotnet/core-setup#7171)
Note that in reality this is a non-issue: The leaks are only present if something fails and in case of failure the process will immediately exit anyway.
I did this mostly for my own education on how to write this correctly. And since I had the changes read, we might as well merge it.
The structures are simple enough that we can rely on RVO alone. In one case there will be a copy (when inserting the files into the list), but that should be lot faster than explicit allocation.
Also remove any default ctors defined as they don't add any value.
Commit migrated from https://github.com/dotnet/core-setup/commit/
e02bb0a4fa18355495e6af653de92d75d5a26ad3
Ahson Khan [Wed, 17 Jul 2019 18:05:31 +0000 (11:05 -0700)]
Use a relaxed JavaScriptEncoder for writing JSON to disk. (dotnet/core-setup#7241)
Commit migrated from https://github.com/dotnet/core-setup/commit/
43118387f9edb83f0abe12120a071c988b8b9e04
Vitek Karas [Wed, 17 Jul 2019 10:49:01 +0000 (03:49 -0700)]
Test component dependency resolution via native host tests (dotnet/core-setup#6919)
Change component dependency resolution tests to not use managed test app which requires full framework to run (and is slow). Instead implement component dependency resolution into native host test app and change all tests to use that.
This makes the tests much faster and it also allows for more flexible tests (it's easy to mock shared frameworks now).
Notable refactorings:
Implement error writer redirector in the native tests - this is necessary to correctly handle multi-threaded error redirection. Using C++ templates to get multiple distinct function pointers (for each thread separately)
Split hostfxr exports into its own class which can be reused by multiple tests
Introduce hostpolicy exports
Implement case class for component dependency resolution tests with helpers and such
Added test which validates per-assembly version resolution behavior
Commit migrated from https://github.com/dotnet/core-setup/commit/
2870b217650af9f49ffa1b835b998d58e25638c8
William Godbe [Tue, 16 Jul 2019 22:48:22 +0000 (15:48 -0700)]
Merge pull request dotnet/core-setup#7221 from wtgodbe/50
Update branding to 5.0
Commit migrated from https://github.com/dotnet/core-setup/commit/
6bc158d4eb36a742a7926f85f12a0d3b8b3e9c0a
Davis Goodin [Tue, 16 Jul 2019 22:23:58 +0000 (17:23 -0500)]
[dev/arcade-migration] Improve dev scenarios (dotnet/core-setup#7233)
* Add '/p:Subset=' support for dev scenarios
* Fix readme table generation
* Improve VS build: update helper projects, doc
* Document Subsets better; add polish and safety
* Update windows-instructions.md, add Subsets hint
Commit migrated from https://github.com/dotnet/core-setup/commit/
c9c64e72f18b6bf16a07dffa0a60fcee8477ea98
William Godbe [Tue, 16 Jul 2019 17:31:13 +0000 (10:31 -0700)]
Update Prerelease to alpha1
Commit migrated from https://github.com/dotnet/core-setup/commit/
a77adb256164ad9028f8cd5d49427fd770539f77
Davis Goodin [Mon, 15 Jul 2019 22:12:46 +0000 (17:12 -0500)]
Remove AppWithSubDirs hard-coded netcoreapp3.0
Commit migrated from https://github.com/dotnet/core-setup/commit/
5b613dcbf66aeb7f5a694b9fad0ec740d95ea62f
Davis Goodin [Mon, 15 Jul 2019 21:31:48 +0000 (16:31 -0500)]
Use SemVer v2 versioning
Commit migrated from https://github.com/dotnet/core-setup/commit/
cf79d6fce1b6f2f9557caf2ddb4a10d1583da585