When running the CLI builds on the new build agents, the CentOS
build failed with the following error:
2017-01-26T20:39:30.0800810Z Step 4 : RUN yum -q -y install unzip libunwind gettext libcurl-devel openssl-devel zlib libicu-devel
2017-01-26T20:39:30.3020500Z ---> Running in 97affb106685
2017-01-26T20:39:40.3872390Z [91mError: libselinux conflicts with fakesystemd-1-17.el7.centos.noarch
Swapping the the "fakesystemd" package with the real "systemd" package
fixed the issue, which was recommended in http://stackoverflow.com/a/36632668.
This issue hasn't been seen on the official builds because the build
agents in that pool have the Docker image cached, and they are using an
older version of the centos:7.1.1503 image which appears not to have
this issue.
New RHEL minor versions are compatible with previous RHEL minor
versions. They also replace them: all users using RHEL 7.n are migrated
to RHEL 7.(n+1) by a simple yum upgrade. So just treat all RHEL 7.x
version as RHEL.
This only holds true for minor versions. RHEL 7 is not compatible with
RHEL 6. But since .NET Core only supports RHEL 7, this shouldn't matter.
* Updating the version of msbuild to 15.1.0-preview-000516-03
* Remove test that assumes props/targets imports
The test ItAddsRefBetweenImports validated that the MSBuild XML model contained new project references between the props and targets imports. While useful be fore the SDK attribute, the test no longer adds value since the SDK is added implicitly, guaranteeing it wraps the remaining project contents.
* Move MSBuild to 15.1.0-preview-000509-03
This is the last msbuild version prior to the change of MSBuild's dependencies to include .NET 1.1 components.
* Move MSBuild invocations to use dirs.props/dirs.tasks
* Put back the test targets. We'll unify later.
* Remove dirs.props props from templates msbuild invocation
* Add InstallDir to path if SDK version is already installed
* Make changes based on feedback
* Rename "Append" to "Prepend"
* Remove check if directory is already in path
Check the exit status of get_latest_version_info and get_current_os_name to
prevent construction of invalid download URLs based on these functions.
Fixes#2923.
When probing for terminal capabilities, tput will return exit-code 1
when the attribute is not valid for the current terminal.
If we don't handle that exit-code, the shell-script too will exit with
failure.
This patch simply ignores errors for attributes we cannot use,
resulting in the same result as if we never probed for it in the first
place.
* Update README.md
* Moving Ubuntu 16.04 to be next to Ubuntu 14.04
* Adding Oracle Linux and Linux Mint to the titles
Adding Oracle Linux and Linux Mint to the titles next to their compatible binaries.
* Remove showing firsttime eula for non verbs.
* Add Serviceable assembly attribute and nuspec attributes for all shipping CLI assemblies.
Fix#3345
* Use NugetCache Sentinel for Telemetry setting.
* Fix Oracle Linux version in README.md
Oracle Linux 7 -> Oracle Linux 7.1
* Fix README to use hostfxr download links (#3622)
Also fix a rebase error from b524fd079e6dcdd744faeb6061ccbfe99d1f810f#diff-04c6e90faac2675aa89e2176d2eec7d8
* Remove the VS2012 CRT dependency from docs (#3632)
* fix typo in dotnet-install file
This was needed to rebuild the CLI with the updated Roslyn NuGet packages.
Thanks goes to @akoken for the fix.
I believe the intention here was to have -o behave like || however it's
not event needed. =~ does a regex match and so the =~ check against
ubuntu is sufficent.
PR #2493 introduced the new project.json schema. The tree has 118 files
with the old schema, which added several hundred warnings.
This change can't go in until PR #2864 does - it relies on those bug
fixes.
* debian package uninstallation script
* Script to remove/uninstall dotnet pkgs from a OSX machine.
* name change of deb uninstall script
* Address PR feedback
Changes to fail the script if the 'pkgutil --forget' command fails.
When running an app with `dotnet run`, we are redirecting the standard out and error just to print it out to our standard out and error. However, we are batching the output until we hit a newline, which isn't ideal for console apps.
To fix this, `dotnet run` no longer redirects the standard out and error.
Fix#2777
This is required to update the corefx dependencies from RC2 to RC3. Some
of the corefx libs have 'netstandard1.6' as TFM and this version of Nuget
supports that TFM.
Also the 'VersionRange.IncludePrerelease' has been removed from nuget and by
default 'VersionRange.Satisfies' returns true for any prerelease version.
The following packages are changing:
Microsoft.NetCore.App: 1.0.0-rc2-3002702 -> 1.0.0-rc3-002702
Microsoft.NETCore.DotNetHost: 1.0.1-rc2-002702-00 -> 1.0.1-rc3-002702-00
Microsoft.NETCore.DotNetHostPolicy: 1.0.1-rc2-002702-00 ->
1.0.1-rc3-002702-00
Microsoft.NETCore.DotNetHostResolver: 1.0.1-rc2-002702-00 ->
1.0.1-rc3-002702-00
Also publishing the *deb file to teh debian repo feed is disabled -
https://github.com/dotnet/cli/issues/2973
Moves CLI version suffix from preview1 to preview2
Sets channel for preview2 to 1.0.0-preview2, abandoning the Beta channel to the 1.0.0-preview1 release. Once @sokket's publishing cleanup work is complete we can re-converge the channels if desired.
Refactor HostVersion into its own class and use it everywhere host
artifacts are created. This includes the
- host nuget packages
- host installers (msi, pkg, deb)
Simple tests which does static analysis of managed assemblies metadata to
make sure that they are crossgened. Currently it verifies that all the
assemblies in CLI SDK and SharedFx directroty are crossgened.
Earlier the host MSI dependency key changed for every version. Therefore
the following stesp uninstalled host aggresively.
- Install a older dotnet CLI bundle (say v1)
- Install a newer dotnet CLI bundle (say v2)
- Uninstall the newer CLI bundle. This removes the host completely and
leaves the older version v1 unusable.
With this fix all the versions of the CLI in the machine will reference
count the host correctly.
Fixes - #2713
We don't build the combined framework + SDK tarball for any Unix
platforms, but we were incorrectly trying to publish it. Make the
publish step for this artifact specific to Windows as well.
* Use a WorkspaceContext in dotnet-build to cache project data across
multiple compilations in a single build action
* Dramatically reduce string and object duplication by introducing a
"Symbol Table" that shares instances of NuGetVersion, NuGetFramework,
VersionRange and string across multiple lock-file parses
Test Results:
* Testing was done by compiling Microsoft.AspNetCore.Mvc (and it's
dependencies) and taking memory snapshots after each compilation in
dotMemory
* We used to allocate ~3MB and deallocate ~2.5MB on EACH compilation in
a single build action. This has been reduced to ~120KB
allocated/deallocated
* After introducing WorkspaceContext, total memory usage spiked from 6MB
across the whole build action to about 13MB, introducing the symbol
table dropped it back to about 5-6MB.
* Add satellite assemblies to deps file with locale data
* Publish satellite assemblies to output during publish
* Copy satellite assemblies from project-to-project dependencies on
build and publish
- Use the right path separator char for unix.
- Contruct some of the args to crossgen outside the loop.
- Add the null check inside Command.Environment.
In the MSI we used to check for any previous installation and we prevent any
installation of 'Release' version on top of 'Nightly' version and vice
versa. This is no longer needed since CLI SxS now. This is reminiscent of
pre-sharedFx CLI.
Fixes - #2467
WIP
WIP
WIP
Test out not publishing runtimeAssets
WIP
WiP x-publish
update cross-publish-test
Update Cross Publish tests
remove --config from restore
fix build
update cross publish tests
fix test compilation error
test failure fix
fix test failure
update tests
tracing
fix desktop publishing
do publish with no build, call build manually
fix
Make host publish optional, fix faux libraries?
update
Cross Publish test working
try changing test to netcore.app
fallback to host from current platform
revert change to project.json to target Microsoft.NETCore.App
fallback to compilation build output
update kestrel standalone app project.json
Make project tools command resolver test more self-contained.
make Kestrel Standalone restore against N-1
Add support to enable polling to watch for new builds. It will
try to publish the last 10 builds by default. If the build has
all the necessary runtime packages and doesn't have the packages.pushed
semaphore file.
Also add support for forcing the publish of a given build set in the
following environment variable FORCE_PUBLISH_BLOB_BUILD_VERSION. This will
blindly try to pull all the nupkgs for the given build ignoring if they
were already published or have all the runtimes specified.
When checking if the provided assembly is the Entry Point Assembly, we
previously just checked if the AssemblyNames were equal, but it turns
out AssemblyName doesn't implement Equals, so it was using Reference
Equality, which fails. This change uses Assembly.Equals, which has an
Equals implementation that works.
Also adds some tests to ensure it's working.
This unblocks scenarios where the EntityFramework `dotnet-ef` command
was trying to read DependencyContext.Default but receiving a null
reference.