Use local-build corehost.exe
This is staying in the repo, so we can copy the local-built version.
Copy deps and deps.json, make sure corehost temp dir exists
Add additional runtimes to the sharedframework's project.json
Delete an unused file, modify crossgen target condition
* sharedhost\project.json is unused. It is copied from the local build.
* the crossgen target was conditioned on an environment variable, but the
variable could be set to anything. Instead, make sure it is either
"true" or "1".
Use stage2 instead of stage0 for shared framework restore
- Changes in netci.groovy to delete post-merge builds. We are suign VSO
for that.
- Also add RHEL and Windows x86 to PR CI jobs. Instead of doing 'debug'
and 'release' for all platforms we are only selectively have a mixture
of debug and release builds. (For ubuntu we are doing debug and release
but that will change when we have 'Debian 8.2' support. Ubuntu:Debug
will be replaced by Debian8.2:Debug)
- Minor change in install.sh to maintain uniformity in OS names.
These are basic tests for now, which validate installation, upgrade,
uninstall, etc. of the debian package itself. When the shared framework is
fully functional, we will add more tests that cover real functionality.
While building CoreRT on OSX, I have noticed a warning:
clang: warning: argument unused during compilation: `-pthread`
The issue is that the options should be `-lpthread` instead.
It now includes the shared framework 'name' (NuGet package name) in the installer. In this case, the installer is called '.NET Core Shared Framework (NETStandard.Library 1.0.0-*)'
This causes three pkg files to be produced:
* A component pkg for the shared framework.
* A component pkg for the shared host.
* A product archive which includes the above two components.
The product archive also needs a distribution.xml file which contains
metadata about the package (name, title, images, etc.).
The installer for the "SDK" itself is still using logic implemented in
package-osx.sh. We should move this logic into the build target as well,
but we may want to wait until the CLI is using the shared framework to do so.
- Use Crossgen's Ready To Run mode on all of the managed assemblies
that make up the shared framework.
- Upgrade the version of the shared framework to match what is used
in the rest of CLI (see the comment in SharedFrameworkTargets.cs to
understand why this is needed).
- Remove the IL mscorlib.dll image, since the Crossgen'd image is
already published.
Fixesdotnet/corefx#6753
The shared framework packages will want to install to the same root
directory as the "dotnet" package itself. Augment the package_tool
script to look for a json key named `install_root` and use that if
specificed, falling back to `/usr/share/$PACKAGE_NAME` when it is not
present.
Ideally in the project.json for the shared host we would just list the
actual package that holds the shared host, instead of all of
NetStandard.Library, but doing some leads to compliation errors, since
publish wants to include a compile step that has a generated
AssemblyAttributes file which references types like System.String.