Age | Commit message (Collapse) | Author |
|
|
|
* Display contents of init-tools.log.
* Display log on failure in init-tools.log.
* Revert "Display contents of init-tools.log."
This reverts commit d81a4b61c8356d5254192b20a92e473352892b62.
* `init-tools.sh` displays detailed log on error.
* Consistent goto `:error` flow in `init-tools.cmd`
|
|
|
|
version
|
|
versions
|
|
Use CDN for dotnetcli blobs
|
|
The azureedge hostname will have us hit the CDN which should provide
better performance for folks that are not close to the US datacenter
we have our blobs in.
|
|
Otherwise the done marker isn't created in init-tools.sh, causing the
tools to be restored on each build.
|
|
|
|
|
|
This lets us clean up our os detection logic in init-tools in favor of
just always downloading the linux-x64 build. This should also help
improve the number of distros we can build on, since linux-x64 should
work on any recent glibc based distro that has our dependencies
installed.
I also cleaned up crossgen.sh so we didn't need to play games around
trying to convert the rid of the current platform to something we
could restore a runtime package for.
|
|
|
|
This file is used in init-tools.cmd/sh, and replaces the "generated"
project file used previously. Because we are using MSBuild projects for
nuget restore now, we are able to "parameterize" the version of
Microsoft.DotNet.BuildTools based on an MSBuild property which is passed
in to the "dotnet restore" command in init-tools.
|
|
|
|
|
|
|
|
* Remove fedora 23
* More fedora 23
* Revert RID chagne
|
|
Moves the copy of Tools-Override to run.cmd/sh and always do it so that
we don't keep getting into incremental tools issues when we make changes
in Tools-Override directory without a BuildTools version update which forces
an update of Tools.
|
|
|
|
crossgen.sh does the following:
* Restores crossgen for the current RID (as determined via "dotnet --info")
* Copies crossgen into the shared framework folder
* Runs crossgen on all of the assemblies in the folder passed as the first
parameter to the script. This is done in parallel.
|
|
|
|
|
|
things (#14062)
* Used GenerateBuilds.ps1 script to generate the P2P references from the project.json files in ref
* Update refs to build with ProjectReference's instead of package references
This deletes all the ref\project.json files and instead adds ProjectReference
to other refs that are used to build.
There is only one exception which was System.Net.Http which needed a project.json
to get the net46 targeting pack otherwise everything else is P2P.
* Update Reflection.Emit contracts to support latest version of contracts
* Add depproj to get windows.winmd support when building refs
* Special handle System.Net.Http ref project to deal with net46 targeting pack
* Moved CLSCompliant to SecureString ctor instead of type
* Add P2P reference from S.IO -> S.R.Extensions
* Add additional ProjectReferences to more ref projects after master rebase
* Start binplacing ref assemblies and disable rest of build
* Simplify all ref projects to only build for netcoreapp (default target group)
* Only binplace netcoreapp refs
* Allow Reference's to be resolved from targeting pack directories
* Use GenerateBuilds.ps1 to convert src project.json refs to References
* Allow overriding stuff in Tools
* System.Runtime src project building against targeting pack
* Re-purpose GenerateBuilds.ps1 to re-write src references
* Only build csproj files in src.builds
* More custom stuff in GenerateBuilds.ps1
* Binplace all netstandard assemblies into netcoreapp as well.
* Add project.json to System.Collections.Immutable
* More custom generatebuilds.ps1 stuff
* Normalize csproj files before running GenerateBuilds.ps1
* Better match the replaced 'None Include="project.json"' line.
* Another missing project.json inclusion in csproj
* Remove ExcludeFromCodeCoverageAttribute from Immutable project
* Include another project.json
* Add some P2P references
* Add another project.json include
* Disable Http.Rtc project.
* Disable two more UWP projects and another P2P ref"
* More Cleanup
* Run GenerateBuilds.ps1 to re-write all nuget refs as <Reference>'s
* Binplace netstandard runtime assemblies to netcoreapp as well.
* Re-hook all src projects into build.proj
* Fix bin clashing caused by bad ProjectReference metadata
* Use 'copy' instead of 'cp' in init-tools.cmd. Add copying to init-tools.sh as well.
* Correct casing of windows.winmd in depproj
* Disable System.Memory.csproj outside of Windows
* Fix unix exclusion of System.Memory, and include vbproj files
* Fix VisualBasic compilation
* There was an extra definition of MemberTypes that was internal to the
assembly. It's now defined in System.Private.CoreLib, so I deleted the
extra here.
* There was an invalid call in Operators.vb that I fixed.
* Add additional project references and configuration fixes after rebase
* Fix build warnings in ref projects
* Fix build warnings in src projects
|
|
This change allows init-tools to function in an "offline" mode where
tools are picked up from standalone folders. Specifically, it introduces
support for two new environment variables:
- DOTNET_TOOLSET_DIR
- BUILD_TOOLS_TOOLSET_DIR
If either is set, instead of downloading toolsets, we copy an already
existing one from the folder. The TOOLSET_DIR is a folder with sub
directories for every version of the tool in question.
For buildtools, we expect a published toolset (sans the "dotnetcli"
folder) not just a set of nuget packages (i.e. the layout of Tools/
after running ./init-tools.sh in "online" mode).
The above varibles are useful for situations where we want to carry
multiple toolsets with us, but are less helpful for places where a
developer has produced their own toolset by hand (since the resulting
folder structure contains extra version information). For these cases,
I've added
- DOTNET_TOOL_DIR
- BUILD_TOOLS_TOOL_DIR
Which work like the above but don't require the nested folder structure.
|
|
|
|
|
|
We need the latest compatibility mappings for NuGet but the CLI hasn't
yet picked up a new NuGet drop.
Workaround this by manually patching the NuGet.Frameworks.dll in CLI.
|
|
* Upgrade CLI, buildtools for RTM shared framework.
* Upgrade buildtools, add new platforms to init-tools (ubuntu 16.10, fedora 24, opensuse 42.1).
|
|
|
|
output (#11059)
* Enable option to suppress non-error output from the console output for
init-tools.
* Redirect standard output to log
* Remove unneccesary arg
* Add Linux init-tools changes
* revert dotnet to x64
* Remove echo line from run.sh
|
|
|
|
This lets us publish a package and consume it immediately from our
builds.
Without this our CI clients were relying on an HTTP cache of our myget
feeds and failing when we updated projects or buildtools.
|
|
Before this change, a failure fairly early in the `init-tools.sh` process could result in subsequent attempts being short-circuited.
This introduces a marker file that is only written at the very end of the script, so that a `dotnet restore` or `init-tools.sh`-from-package failure can be retried immediately.
|
|
* Also, fall back to Ubuntu 14.04 if using an unsupported version.
|
|
With the updated buildtools, we should now be able to build on all the supported distros:
- Centos 7
- Fedora 23
- openSUSE 13.2
- RHEL 7.2
- Ubuntu 14.04
- Ubuntu 16.06
Since the CLI support for some of these is still comming online, I
have published custom versions to our own Azure Blob storage that we
can download. Once CLI has real builds ready, we can move back to
their built binaries.
I also cleaned up how we compute the RID for the tools to restore.
|
|
The layout of CLI has changed and the logic resulted in a non working
CLI and errors during init-tools.sh
|
|
Downloading from Azure can transiently fail for a number of reasons. Add
some retry logic when downloading to avoid transient failures. For *nix
variants add a retry value when using curl (wget retries by default).
|
|
Clean up all non-essential references to DNXCore50.
|
|
|
|
|
|
|
|
|
|
Include capitalization fixes for NETNative packages to avoid xplat nuget race condition.
|
|
|
|
|
|
The CoreFx build using build.sh is currently broken on CentOS because it
doesn't restore the right version of the .NET CLI. This change fixes
that and also restores the appropriate version for Debian and RHEL, and
sets appropriate defaults for TestNugetRuntimeId for those three
platforms.
It also makes a few other minor edits:
- Remove ToolNugetRuntimeId, which is no longer used.
- Don't use "sh" when invoking init-tools.sh, because Bash is needed to
use the "source" command.
- Add a few more console output messages to init-tools.sh, similar to
the ones already in init-tools.cmd.
- Fix indentation in init-tools.sh.
- Set the default TestNugetRuntimeId in build.sh when the target OS is
specified to be FreeBSD, NetBSD, or Windows.
|
|
- We have moved our feeds to our enterprise myget
account (dotnet.myget.org). Start pulling from there and use the v3
feeds since we are restoring with tools that understand them.
- Remove some no longer needed NuGet commands and sources
|
|
|
|
|
|
|