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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Vitek Karas [Thu, 11 Apr 2019 09:43:16 +0000 (02:43 -0700)]
Remove test duplicates (dotnet/core-setup#5729)
Adde some test variants to better covered what the removed tests covered.
Commit migrated from https://github.com/dotnet/core-setup/commit/
fa51624c4e17fb9f46686c9c599cdedb3dbd1779
Vitek Karas [Thu, 11 Apr 2019 09:41:28 +0000 (02:41 -0700)]
Tests for startup hook using simple name only (dotnet/core-setup#5597)
Also includes:
Update dependencies from https://github.com/dotnet/coreclr build
20190410.72
- Microsoft.NETCore.Runtime.CoreCLR - 3.0.0-preview5-27610-72
Commit migrated from https://github.com/dotnet/core-setup/commit/
0cc40ba37ae41be6f66128278df898c4f6ea0a85
Omair Majid [Wed, 10 Apr 2019 19:59:37 +0000 (15:59 -0400)]
Add missing closedir() in readdir() (dotnet/core-setup#5761)
The readdir function calls opendir() but never closedir(), leaking the
DIR resource.
Commit migrated from https://github.com/dotnet/core-setup/commit/
ad2e0c415a04e47be4343cc1e956166bfd244632
Elinor Fung [Tue, 9 Apr 2019 21:06:37 +0000 (14:06 -0700)]
Simplify nethost API for getting hostfxr path (dotnet/core-setup#5734)
- Remove nethost_ prefix on exported function
- Collapse buffer size / required size into one inout parameter
Commit migrated from https://github.com/dotnet/core-setup/commit/
cb2db83f1ad2a4c8ca48a930c77656f29fca9a52
JC Aguilera [Tue, 9 Apr 2019 18:32:49 +0000 (11:32 -0700)]
Fix copy/paste error (dotnet/core-setup#5756)
Commit migrated from https://github.com/dotnet/core-setup/commit/
5d22ea8ecfdc05a35d621122d86e21bea1857177
JC Aguilera [Tue, 9 Apr 2019 16:52:45 +0000 (09:52 -0700)]
Merge pull request dotnet/core-setup#5749 from jcagme/feedTaskUpgrade
Feed task upgrade
Commit migrated from https://github.com/dotnet/core-setup/commit/
eb6224b99fb8c902882d64c37329a6dd3737a72f
William Godbe [Tue, 9 Apr 2019 16:50:00 +0000 (09:50 -0700)]
Merge pull request dotnet/core-setup#5714 from dotnet-maestro-bot/master-UpdateDependencies
Update BuildTools to preview4-03906-01 (master)
Commit migrated from https://github.com/dotnet/core-setup/commit/
81d69a8ee3f6052e210de1428ed4d629cf318778
juanam [Tue, 9 Apr 2019 16:02:23 +0000 (09:02 -0700)]
Upgrading feed taks version
Commit migrated from https://github.com/dotnet/core-setup/commit/
bdf999f1e1e379ca8d1d2b3d33336b34228c0a71
juanam [Tue, 9 Apr 2019 16:01:59 +0000 (09:01 -0700)]
Upgrading feed taks version
Commit migrated from https://github.com/dotnet/core-setup/commit/
75aeeb3d91d77d5e66193f0bb4445785d24de0ab
Elinor Fung [Tue, 9 Apr 2019 03:40:27 +0000 (20:40 -0700)]
Add hostpolicy_context which holds information to load/execute the runtime (dotnet/core-setup#5683)
Commit migrated from https://github.com/dotnet/core-setup/commit/
59c193bd93deafba5926cb827872b80338aca7c0
Vitek Karas [Mon, 8 Apr 2019 21:20:58 +0000 (14:20 -0700)]
Improve multi framework resolution tests (dotnet/core-setup#5690)
Roll forward tests with multiple frameworks
Fix a pre-release comparison in soft-roll-forward
Commit migrated from https://github.com/dotnet/core-setup/commit/
8371c289a2adcfc3a3fd1c8784e02bb197a94011
dotnet-maestro-bot [Mon, 8 Apr 2019 13:42:16 +0000 (06:42 -0700)]
Update BuildTools to preview4-03906-01
Commit migrated from https://github.com/dotnet/core-setup/commit/
24633ddc9023b866d0671dba55d2f98b6e71de3c
Vitek Karas [Mon, 8 Apr 2019 13:33:46 +0000 (06:33 -0700)]
Roll forward for pre release edge cases (dotnet/core-setup#5635)
* Describe proposed behavioral changes for pre-release roll forward
* More tests to validate existing pre-release behavior
Commit migrated from https://github.com/dotnet/core-setup/commit/
e33913f3bb45def8f588dc586178e9f09cc49cc6
Matt Mitchell [Fri, 5 Apr 2019 23:18:08 +0000 (16:18 -0700)]
Merge pull request dotnet/core-setup#5705 from JohnTortugo/SetupBatchBuild
Setup batch build
Commit migrated from https://github.com/dotnet/core-setup/commit/
4e9a9f2118182df123f5ffa874f41462e1dad0b7
Cesar Soares Lucas [Fri, 5 Apr 2019 22:55:01 +0000 (15:55 -0700)]
Fix syntax
Commit migrated from https://github.com/dotnet/core-setup/commit/
0d63f0bfa51854ba64869499b8b54256861eb635
Cesar Soares Lucas [Fri, 5 Apr 2019 22:52:12 +0000 (15:52 -0700)]
Batch core-setup builds
Commit migrated from https://github.com/dotnet/core-setup/commit/
8058bab5f1e71877944ab6ec4e049e99057eec9f
Jeremy Koritzinsky [Fri, 5 Apr 2019 22:38:12 +0000 (15:38 -0700)]
.NET Core WinRT Host (dotnet/core-setup#5527)
Implement a WinRT host for .NET Core so users can write WinRT WinMDs that target and build on .NET Core.
We can't accurately test this E2E in CI until we have a test machine running a version of Windows with the Reg-Free WinRT support (requires at least Windows 10 19H1 Build 18309).
Runtime side of the host work is in dotnet/coreclrdotnet/core-setup#23402
Commit migrated from https://github.com/dotnet/core-setup/commit/
4ed031a6a01352696bd7fdd58bddc365d34e91bf
Elinor Fung [Fri, 5 Apr 2019 22:03:40 +0000 (15:03 -0700)]
Add doc with hostpolicy APIs (dotnet/core-setup#5659)
* Add doc listing existing hostpolicy APIs
* Add proposed new hostpolicy exports
Commit migrated from https://github.com/dotnet/core-setup/commit/
4be876975d0e475ee78a2105f458b54952154df7
William Godbe [Fri, 5 Apr 2019 21:33:43 +0000 (14:33 -0700)]
Merge pull request dotnet/core-setup#5697 from wtgodbe/preview5
Update branding to preview5
Commit migrated from https://github.com/dotnet/core-setup/commit/
1043445a8182f725ba60e0745d0b534f8b800564
wtgodbe [Fri, 5 Apr 2019 19:49:56 +0000 (12:49 -0700)]
Update branding to preview5
Commit migrated from https://github.com/dotnet/core-setup/commit/
f3836495eeb3a6a9d8ac64eb736979c1adbc4668
Davis Goodin [Fri, 5 Apr 2019 17:06:18 +0000 (12:06 -0500)]
Enforce that DLL/EXEs in platform manifest have a FileVersion (dotnet/core-setup#5682)
* Enforce DLL/EXEs in platform manifest have version
* Allow zero/missing versions on non-Windows
Commit migrated from https://github.com/dotnet/core-setup/commit/
851859e9e07eda7adb2dcf129b0d6fb3cab411e3
Lee Coward [Thu, 4 Apr 2019 21:03:36 +0000 (14:03 -0700)]
Merge pull request dotnet/core-setup#5521 from dotnet/leecow-patch
Refresh snap definitions
Commit migrated from https://github.com/dotnet/core-setup/commit/
7c5ad7177d42e70641677bd039f5d4e889832e0b
Lee Coward [Thu, 4 Apr 2019 21:02:11 +0000 (14:02 -0700)]
Merge branch 'leecow-patch' of https://github.com/dotnet/core-setup into leecow-patch
Commit migrated from https://github.com/dotnet/core-setup/commit/
cb3880facef1da9a651a946e4208443d994b9fcf
Lee Coward [Thu, 4 Apr 2019 21:01:58 +0000 (14:01 -0700)]
formatting fix
Commit migrated from https://github.com/dotnet/core-setup/commit/
092c10eef41e463f12c15f08d48ffa40f9b4e72a
Davis Goodin [Thu, 4 Apr 2019 20:59:12 +0000 (13:59 -0700)]
Update src/pkg/packaging/snaps/dotnet-sdk-3/dotnet-runtime
Co-Authored-By: leecow <leecow@microsoft.com>
Commit migrated from https://github.com/dotnet/core-setup/commit/
5de68d7b75d9d31560fc605c6f1e44be8dd293b9
Davis Goodin [Thu, 4 Apr 2019 20:58:00 +0000 (13:58 -0700)]
Update src/pkg/packaging/snaps/dotnet-sdk-3/dotnet-runtime
Co-Authored-By: leecow <leecow@microsoft.com>
Commit migrated from https://github.com/dotnet/core-setup/commit/
58952bae556822efccef5d3e39611065b8b71f1b
Davis Goodin [Thu, 4 Apr 2019 20:57:44 +0000 (13:57 -0700)]
Update src/pkg/packaging/snaps/dotnet-sdk-3/dotnet-runtime
Co-Authored-By: leecow <leecow@microsoft.com>
Commit migrated from https://github.com/dotnet/core-setup/commit/
007b7f86ad2ee473ac69a61d561f3ca7e765f149
Davis Goodin [Thu, 4 Apr 2019 20:57:34 +0000 (13:57 -0700)]
Update src/pkg/packaging/snaps/dotnet-sdk-3/dotnet-runtime
Co-Authored-By: leecow <leecow@microsoft.com>
Commit migrated from https://github.com/dotnet/core-setup/commit/
8388f46ddc2eff94b17139a18adbe9585453803c
Jeremy Koritzinsky [Thu, 4 Apr 2019 17:30:40 +0000 (10:30 -0700)]
Add ijwhost.lib to host package. (dotnet/core-setup#5650)
I forgot to include the `ijwhost.lib` exports lib in the Microsoft.NETCore.DotNetAppHost package. C++/CLI will need this in the package for aquisition via NuGet.
Commit migrated from https://github.com/dotnet/core-setup/commit/
482c74beffd6206694004fbd539ecede6dcab4b1
Jeremy Koritzinsky [Thu, 4 Apr 2019 06:00:58 +0000 (23:00 -0700)]
Add <functional> include to coreclr.h (dotnet/core-setup#5664)
Commit migrated from https://github.com/dotnet/core-setup/commit/
80622592a4e993200cb5b495b802abc1ee2fe96d
Swaroop Sridhar [Wed, 3 Apr 2019 20:11:30 +0000 (13:11 -0700)]
Bundler: Add test case for handling relative-path input (dotnet/core-setup#5653)
Run the bundle-extract test where inputs are specified as:
- Absolute paths
- Relative paths terminated by directory separator
- Relative paths not terminated by directory separator
Commit migrated from https://github.com/dotnet/core-setup/commit/
d29ad01cb118f0750a517360757755b8be1d4097
Austin Wise [Tue, 2 Apr 2019 22:03:26 +0000 (15:03 -0700)]
Bundler: Fix path handling
This commit has two changes:
* Allow relative paths to be used for source directory. (dotnet/core-setup#5594)
* Fix a typo.
Commit migrated from https://github.com/dotnet/core-setup/commit/
3f3c14ebcb95b5f83cdf8afd9d5083a6e7dbdb2c
Elinor Fung [Tue, 2 Apr 2019 21:11:27 +0000 (14:11 -0700)]
Make coreclr_property_bag_t handle lifetime of property strings (dotnet/core-setup#5638)
* Make coreclr_property_bag_t handle lifetime of property strings
* Basic test for runtime config properties
Commit migrated from https://github.com/dotnet/core-setup/commit/
ba5b51b74e7b4a39551f4f47eaa2b0a9bc0b439a
Elinor Fung [Tue, 2 Apr 2019 17:21:33 +0000 (10:21 -0700)]
Rename nethost zip/tar.gz to be consistent with runtime compressed files (dotnet/core-setup#5639)
Commit migrated from https://github.com/dotnet/core-setup/commit/
158cab126cb58c21bcee8385b2c6e46c3e3501ff
Elinor Fung [Mon, 1 Apr 2019 19:18:30 +0000 (12:18 -0700)]
Move files only used for hostpolicy under hostpolicy subdirectory (dotnet/core-setup#5629)
Commit migrated from https://github.com/dotnet/core-setup/commit/
4ea0233e38681384ee91d7a72c011db9c02e35ff
dotnet-maestro-bot [Sat, 30 Mar 2019 04:30:13 +0000 (21:30 -0700)]
Update BuildTools to preview4-03828-01 (dotnet/core-setup#5584)
Commit migrated from https://github.com/dotnet/core-setup/commit/
8db9f804ff77ff866ff203cff6ea0791e895045e
Vitek Karas [Sat, 30 Mar 2019 02:20:16 +0000 (19:20 -0700)]
Disable multi-level lookup for the test solution (dotnet/core-setup#5598)
Commit migrated from https://github.com/dotnet/core-setup/commit/
b699f32549d72d41d950841a07a1d76c8d508429
Vitek Karas [Fri, 29 Mar 2019 20:44:16 +0000 (13:44 -0700)]
Refactor FX resolution into its own class (dotnet/core-setup#5582)
fx_muxer is a collection of muxer functionality, framework resolution and command line parsing.
This change moves the framework resolution out into its own fx_resolver.
In the fx_resolver, made some of the methods "this" methods so that they don't have to pass the framework maps in arguments.
No functional changes, just moving code around.
Commit migrated from https://github.com/dotnet/core-setup/commit/
20f2752ccd2fdbb285a77d66306e5ad2cdb81f07
Aaron Robinson [Fri, 29 Mar 2019 18:44:41 +0000 (11:44 -0700)]
Remove coreclr shutdown from coreclr_t destructor. (dotnet/core-setup#5612)
Commit migrated from https://github.com/dotnet/core-setup/commit/
d18247239a28e4ec353f92bedf2dde153a8068ea
Elinor Fung [Fri, 29 Mar 2019 18:13:38 +0000 (11:13 -0700)]
Add zip/tar.gz for nethost (dotnet/core-setup#5603)
Commit migrated from https://github.com/dotnet/core-setup/commit/
6d0c29c1870efd6a041f9d599723f462c0d74b0e
Davis Goodin [Wed, 27 Mar 2019 21:36:35 +0000 (16:36 -0500)]
Use BYOC pools: '*-temp' pools being deleted (dotnet/core-setup#5591)
Add chown workaround for a new way that 'root' file ownership can break the build in the new pools.
Commit migrated from https://github.com/dotnet/core-setup/commit/
8f45c48aca40aaa007288faf495ee425397e401c
Swaroop Sridhar [Wed, 27 Mar 2019 19:49:35 +0000 (12:49 -0700)]
Rename Microsoft.Dotnet.Build.Bundle to Microsoft.NET.Build.Bundle (dotnet/core-setup#5581)
Rename the Bundler package to match other tools in the toolset repository.
Commit migrated from https://github.com/dotnet/core-setup/commit/
3460b19cf6ade03882e7b168a3295f959074d7c6
Vitek Karas [Wed, 27 Mar 2019 18:33:57 +0000 (11:33 -0700)]
Omit trailing path separator in TPA (dotnet/core-setup#5575)
In 2.* the trailing separator was removed by the runtime. After refactorings in the runtime it's no longer the case. This is technically a breaking change since in 2.* the `AppDomain.GetData("TRUSTED_PLATFORM_ASSEMBLIES")` returns string which doesn't have trailing path separator. In 3.0 it has.
It's cleaner to fix this in `hostpolicy` because there's no reason for runtime to "tweak" runtime property values before they are reported via `GetData`. TPA is not special in any way either. The trailing path separator serves no purpose anyway, so it's perfectly fine to remove it. And there's no reason to keep the change from 2.* in the codebase.
Commit migrated from https://github.com/dotnet/core-setup/commit/
eb3f9526c14fab300247c9caaf1506141d89ec64
Davis Goodin [Wed, 27 Mar 2019 18:04:07 +0000 (13:04 -0500)]
Test on Windows x86 (dotnet/core-setup#5583)
Commit migrated from https://github.com/dotnet/core-setup/commit/
a000c54cc800b326bd45fb54b7caeb91a7ca59c6
Elinor Fung [Wed, 27 Mar 2019 17:05:53 +0000 (10:05 -0700)]
Fix GetHostFxrPath_DotNetRootEnvironment test failure on x86 (dotnet/core-setup#5571)
Commit migrated from https://github.com/dotnet/core-setup/commit/
0b6c947fcd15ab7105a4eef0f50f7dff280c557a
Swaroop Sridhar [Wed, 27 Mar 2019 14:47:15 +0000 (07:47 -0700)]
Bundler Test: Run using AppHost (dotnet/core-setup#5574)
The bundler test runs a self-contained-published test app twice:
once before and once after bundling.
The initial run (to sanity check the project) was done using
the dotnet host obtained from the SDK. However, the SDK dotnet seems
to be a X64 binary, which failed to run the test-app published for x86.
https://dev.azure.com/dnceng/public/_build/results?buildId=134281&view=logs
This change fixes the problem by invoking both runs using the published AppHost.
Commit migrated from https://github.com/dotnet/core-setup/commit/
e9bd1539c2fb2d0d5c1aff2ea05d6f095ad5e913
Vitek Karas [Wed, 27 Mar 2019 12:05:30 +0000 (05:05 -0700)]
FX resolution small cleanup (dotnet/core-setup#5544)
* Renames and add comments to roll-forward functions
* Refactor to remove code duplication
Commit migrated from https://github.com/dotnet/core-setup/commit/
06c7660c571cc02a1f276c7b992ff225e4ec5903
Vitek Karas [Wed, 27 Mar 2019 12:04:25 +0000 (05:04 -0700)]
Rename test only env variables (dotnet/core-setup#5548)
The globally registered location applies to everything, not just SDK, so remove the SDK from the env variable names. Also rename to better match product intent.
Modify tests to use constatns for the test only env variables.
Add couple tests to framework resolution around multiple hive resolution.
Commit migrated from https://github.com/dotnet/core-setup/commit/
f35738641da91c46be5a50b8d9da0718228cb212