Davis Goodin [Tue, 22 Oct 2019 19:58:17 +0000 (14:58 -0500)]
Rename LICENSE => LICENSE.TXT to fix NuGet package 404 (dotnet/core-setup#8638)
* Rename LICENSE => LICENSE.TXT
Commit migrated from https://github.com/dotnet/core-setup/commit/
57ce3c5fafe565a9b1f397cada1c82b66450dd47
Jeremy Koritzinsky [Mon, 21 Oct 2019 23:31:48 +0000 (16:31 -0700)]
Move signing dir under eng/. Remove usages of ProjectDir. (dotnet/core-setup#8621)
Commit migrated from https://github.com/dotnet/core-setup/commit/
c66b5cabce09f18f472b97c29bea267fbdd6136a
Jeremy Koritzinsky [Fri, 18 Oct 2019 22:21:23 +0000 (15:21 -0700)]
Changes to prepare for consolidation (dotnet/core-setup#8593)
* Write an empty global.json for tests so they don't use the repo's global.json
* Create new SetupRoot variable that represents the root of core-setup. Convert usages of RepoRoot and ProjectDir to either SetupRoot or RepoRoot depending on if they need files that are at the root of the repo or are setup-specific.
* regenerate-readme-table should always target the root README.
* Make pack-managed.proj an SDK project.
* Make the root directory of the repository configurable in corehost/build.cmd and corehost/build.sh.
* Rename LICENSE.TXT to LICENSE. Set properties for the Microsoft.DotNet.Build.Tasks.SharedFramework.Sdk so we don't need to customize them during consolidation.
* Update Microsoft.DotNet.Build.SharedFramework.Sdk version.
* Update eng/Version.Details.xml
Co-Authored-By: Davis Goodin <dagood@users.noreply.github.com>
Commit migrated from https://github.com/dotnet/core-setup/commit/
96ec25abe981ac689e260efe946db419b157f5f1
Swaroop Sridhar [Fri, 18 Oct 2019 18:31:42 +0000 (11:31 -0700)]
HostWriter: Remove signature on MAC host (dotnet/core-setup#8543)
In order to conform with Catalina notarization requirements, the template apphost
will be shipped after codesigning.
This commit implements a change to remove the code-signature when customizing the apphost for an app.
Testing:
- Tested the HostModel library using a locally signed version of apphost
- Verified that unsigned host can be re-signed later
- Verified that the original unsigned-apphost, and the signature-removed-apphost are binary equal.
Commit migrated from https://github.com/dotnet/core-setup/commit/
3d36990dad5bdb58d105b07bab05058c1df59509
Elinor Fung [Fri, 18 Oct 2019 16:38:13 +0000 (09:38 -0700)]
Show error dialog for missing runtime/framework (dotnet/core-setup#8509)
Commit migrated from https://github.com/dotnet/core-setup/commit/
346b717dc7be7f9b3c2554d883d26e8f33977b86
Viktor Hofer [Thu, 17 Oct 2019 22:09:01 +0000 (00:09 +0200)]
Specify sdk version, use nuget cache (dotnet/core-setup#8497)
* Use global dotnet installation if matching
Arcade guarantees that the requested version specified in global.json
is installed.
* Enforce a minimum dotnet sdk version
Specify a minimum dotnet sdk version in the sdk section global.json
which is honored by the Desktop msbuild as well. Set a roll-forward
policy so that a globally installed sdk with a more recent version can
be used when invoking a project directly.
* Use the user's nuget cache for local builds
Other dotnet repositories like CoreFx are already using the user's
nuget cache for local builds vs the repo local cache for CI builds
and no problems were reported. Switching to remove differences in builds
* Write out a test-local global.json file to ensure that the tests don't use the repo's global.json.
Commit migrated from https://github.com/dotnet/core-setup/commit/
85814dcc1bbd94612f57ad5db497d51032e34894
Adeel Mujahid [Thu, 17 Oct 2019 21:47:27 +0000 (00:47 +0300)]
Set apphost and bundle file permission to 755₈ (dotnet/core-setup#8510)
Set apphost and bundle file permission to 755₈
When building a .net core 3 app, the SDK currently simply copies the apphost template (including its permissions) from the install-location.
This caused two problems in Unix systems:
* If the dotnet install location is write-protected, the build fails when SDK tries update the apphost (to set the app-path, etc.) (dotnet/core-setup#8511)
* The built apphost can only be run by the owner (dotnet/core-setup#7062)
This change explicitly sets the file permissions of the Apphost in the SDK to fix the above issues.
Commit migrated from https://github.com/dotnet/core-setup/commit/
a6a9202dc186f622f5df7125b12d95d9107c193a
Swaroop Sridhar [Wed, 16 Oct 2019 19:40:59 +0000 (12:40 -0700)]
HostModel: Bundler: Use invariant culture when normalizing file extension (dotnet/core-setup#8551)
The Bundler excludes PDB files by default. When looking for PDB files,
the extension is normalized by using ToLower().
This change fixes the issue to use invariant culture instead.
Commit migrated from https://github.com/dotnet/core-setup/commit/
f0fc0c8ef513051e7b7d8d58b375f0d87fa543f9
Davis Goodin [Tue, 15 Oct 2019 22:26:12 +0000 (17:26 -0500)]
Use shared tooling to build the .NET Core shared framework (dotnet/core-setup#8547)
* Add sharedfx SDK reference
* Configure build to use sharedfx SDK
* Remove core-setup copy of sharedfx infra
Commit migrated from https://github.com/dotnet/core-setup/commit/
6518e878c80fb8be982098c4cbdabca6d0d8773a
Swaroop Sridhar [Tue, 15 Oct 2019 20:25:23 +0000 (13:25 -0700)]
BundleExtraction: Determine extraction part based on writability. (dotnet/core-setup#8471)
On Unix systms where $TMPDIR is not set, temp-directory is currently
determined as:
/var/tmp/... (if it exists)
/tmp (if not)
However, this causes failures on systems where /var/tmp exists, but is not
writable (as is the case in AWS lambda).
This change fixes the issue with a writability check.
Fix dotnet/core-setup#7940
Commit migrated from https://github.com/dotnet/core-setup/commit/
b2bff948e10f7632a40799808f4d7c74b912df80
Vitek Karas [Mon, 14 Oct 2019 18:49:34 +0000 (11:49 -0700)]
Self contained component fx validation (dotnet/core-setup#8367)
Start consuming `includedFrameworks` in the runtime config and use it to validate frameworks for natively hosted components loaded into self-contained apps.
* Test refactoring to enable self-contained app execution
Commit migrated from https://github.com/dotnet/core-setup/commit/
3ab6f2af2d6bf29dfda7435d455de62103fce0bc
Jeremy Koritzinsky [Fri, 11 Oct 2019 21:14:14 +0000 (14:14 -0700)]
Upgrade CMake to 3.14 (dotnet/core-setup#8503)
* Update build containers to match CoreCLR's containers.
* Clean up ijwhost/CMakeLists.txt by bringing over updated function implementations in functions.cmake from CoreCLR.
* Clean up gen-buildsys-win.bat
* Clean up corehost build.sh
* Update instructions for building.
Commit migrated from https://github.com/dotnet/core-setup/commit/
97143226be5921b048f408f65c9c2fb2a47fe064
Vivek Mishra [Tue, 8 Oct 2019 22:26:31 +0000 (15:26 -0700)]
Snap updates for 3.0 GA (dotnet/core-setup#8502)
* Snap updates for 3.0 GA
* Updates for review comments
Commit migrated from https://github.com/dotnet/core-setup/commit/
5491acd84b92034d5d53e226682f053a7b376ad9
Omair Majid [Tue, 8 Oct 2019 04:23:53 +0000 (00:23 -0400)]
Enable building for arm64 on arm64 (dotnet/core-setup#8468)
To enable building core-setup on arm64 machines (not cross compiled), we need
to do a few things:
- Set the right TargetArchitecture
When `TargetArchitecture` is not explicitly specified and when the currently
running architecture is Arm64, use arm64 as the `TargetArchitecture`. Don't
always use the currently running architecture as that doesn't play well with
an x86 Visual Studio trying to create x64 builds.
- 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 machine, we need to filter the list of found
libclrjit.so files to pick the normal-RID (eg, linux-arm64) libclrjit.so from
the two:
./.packages/transport.runtime.linux-arm64.microsoft.netcore.jit/<version>/runtimes/linux-arm64/native/libclrjit.so
./.packages/transport.runtime.linux-arm64.microsoft.netcore.jit/<version>/runtimes/x64_arm64/native/libclrjit.so
Commit migrated from https://github.com/dotnet/core-setup/commit/
57ba280ee32511c6f5c2ebcd2bfaaf4a1db74648
Davis Goodin [Mon, 7 Oct 2019 22:19:16 +0000 (17:19 -0500)]
Remove WindowsDesktop from Core-Setup, now dotnet/windowsdesktop (dotnet/core-setup#8494)
* Remove WindowsDesktop projects
* Remove WD package test
* Remove WinForms/WPF dependencies
Commit migrated from https://github.com/dotnet/core-setup/commit/
5f54f888def819117b8c29f57918369e2c4e05cc
Jeremy Koritzinsky [Fri, 4 Oct 2019 22:55:03 +0000 (15:55 -0700)]
Enable using Live-live builds of CoreCLR and CoreFX with Core-S… (dotnet/core-setup#8448)
* Enable using a live CoreCLR build when building core-setup by passing a path to a CoreCLR product directory via /p:CoreCLROverridePath.
* Enable using a live CoreFX build for Core-Setup restore.
* Grab ucrt redist from CoreCLR output directory.
* Fix overriding long-name DAC on CoreCLR-live build.
* Don't add non-existent doc files to the list of doc files to package.
* Add documentation about how to build with a local coreclr or corefx.
* PR Feedback.
* Extract out the overrides to a local targets file for the netcoreapp shared framework restore. Call out in the documentation of this build feature that it is only supported for the NETCoreApp shared framework.
* Update src/pkg/projects/netcoreapp/src/localnetcoreapp.override.targets
Co-Authored-By: Davis Goodin <dagood@users.noreply.github.com>
Commit migrated from https://github.com/dotnet/core-setup/commit/
b903a6e815dbcec7acfeef39db1e9189fef7ed69
Vitek Karas [Fri, 4 Oct 2019 18:33:02 +0000 (11:33 -0700)]
Fix bundle failing to extract empty file. (dotnet/core-setup#8462)
The file entry validity check marked empty files as invalid. This is wrong, the file size must be non-negative number.
Added a test and fixed the condition.
Commit migrated from https://github.com/dotnet/core-setup/commit/
ed7ec9a245cd1fc6ce052dbf2487fc516f7b3f19
Jeremy Koritzinsky [Wed, 2 Oct 2019 15:41:33 +0000 (08:41 -0700)]
Try switching core-setup to use VS2019. (dotnet/core-setup#8410)
Commit migrated from https://github.com/dotnet/core-setup/commit/
4660c57665df5b42873b7fc204eb05fbd37796f3
Lee Coward [Mon, 30 Sep 2019 16:48:24 +0000 (09:48 -0700)]
Merge pull request dotnet/core-setup#8371 from dotnet/leecow-patch
3.0 GA snap update
Commit migrated from https://github.com/dotnet/core-setup/commit/
e5f208fcc7acfb33647c52b01dfe6dae0b3f8928
Lee Coward [Mon, 30 Sep 2019 16:47:25 +0000 (09:47 -0700)]
3.0 GA snap update
Commit migrated from https://github.com/dotnet/core-setup/commit/
c2c7c14c3ff6fac19d45494b594fc4377ba95c9c
Aaron Robinson [Fri, 27 Sep 2019 19:24:40 +0000 (12:24 -0700)]
Update COM-activation.md (dotnet/core-setup#8351)
* Update COM-activation.md
Update documentation.
Commit migrated from https://github.com/dotnet/core-setup/commit/
a1633a2804d8ffa7b8f5bc299433996c19395890
Davis Goodin [Fri, 27 Sep 2019 16:14:20 +0000 (11:14 -0500)]
Update BuildTools.Publish readme (dotnet/core-setup#8350)
Commit migrated from https://github.com/dotnet/core-setup/commit/
dbb2e2a160e0e6bdd5b58339d4b0ccac34c1c49f
Davis Goodin [Thu, 26 Sep 2019 16:56:41 +0000 (11:56 -0500)]
Fix ref to renamed SDK target in test proj restore (dotnet/core-setup#8333)
Handle SDK target name change from ResolveFrameworkReferences to ProcessFrameworkReferences.
Commit migrated from https://github.com/dotnet/core-setup/commit/
a15dec0cffcaa0dac4939b59a18f80d569104dcc
Jeremy Koritzinsky [Wed, 25 Sep 2019 18:03:38 +0000 (11:03 -0700)]
Update Windows Build Instructions to state that VS2019 is supported (dotnet/core-setup#8318)
Based on the successful build and test run of dotnet/core-setup#8312, I'm updating the core-setup instructions to state that VS2019 is supported.
Commit migrated from https://github.com/dotnet/core-setup/commit/
6e9e6063bae350861e7351177abe0174587b63ab
Davis Goodin [Mon, 23 Sep 2019 22:03:03 +0000 (17:03 -0500)]
dependsOn => validateDependsOn, to match Arcade (dotnet/core-setup#8311)
Commit migrated from https://github.com/dotnet/core-setup/commit/
d7f6c5e944e500f44b8536aed8f6a05320f7729a
Jeremy Koritzinsky [Mon, 23 Sep 2019 18:04:42 +0000 (11:04 -0700)]
Fix license headers in HostModel.ComHost code. (dotnet/core-setup#8309)
Commit migrated from https://github.com/dotnet/core-setup/commit/
d9a3c61cf4c4a88c8b7370b6eec80d6850366350
Matt Mitchell [Mon, 23 Sep 2019 15:07:58 +0000 (08:07 -0700)]
Remove publishing for Dev 3.0 (dotnet/core-setup#8308)
Commit migrated from https://github.com/dotnet/core-setup/commit/
144b91974c4eb7192f2ebfad71b8ad059af82889
Jeremy Koritzinsky [Fri, 20 Sep 2019 22:47:10 +0000 (15:47 -0700)]
Move ComHost generation from dotnet/sdk to Microsoft.NET.HostModel (dotnet/core-setup#8293)
* Copy files over from dotnet/sdk.
* Update JSON code for ComHost to use System.Text.Json.
* Rename bundle tests folder to also make sense for other tests for Microsoft.NET.HostModel.
* Add tests for Clsidmap generation.
* Add RegFreeComManifest tests.
* PR Feedback.
Commit migrated from https://github.com/dotnet/core-setup/commit/
7544cb6e71d3dc34c9b7e0a20a25a8bccd8e3f6e
Davis Goodin [Fri, 20 Sep 2019 20:29:02 +0000 (15:29 -0500)]
Add missing "--ci" option to Linux build (dotnet/core-setup#8300)
Commit migrated from https://github.com/dotnet/core-setup/commit/
c25b8b41ecbd8ffac08e5af2d7f337a2b51e338c
Davis Goodin [Thu, 19 Sep 2019 20:42:39 +0000 (15:42 -0500)]
Generate cross-arch AppHost pack MSIs (dotnet/core-setup#8292)
Commit migrated from https://github.com/dotnet/core-setup/commit/
33723cfa72892e93656fe53350da35835d64c099
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