This change enables CLI build for Alpine 3.6 and also adds CI job for
it. It is mostly based on changes that were necessary to
enable building of rhel.6 CLI
Need to remove some unnecessary dependencies in dotnet-cli-build.csproj because the NuGet.CommandLine.XPlat reference was bringing in an old MSBuild version, which was breaking restore. I didn't see any usages of this reference, so I'm removing it since it is not needed.
* dotnet/release/15.5: (26 commits)
Fixing the reference to Microsoft.Build.Runtime from Cli.Utils.Tests. It was using the wrong package version property.
One more old style version package name needed to change in redist.
Fixing the versions of MSBuild and passing the right property to find roslyn files.
Use "15.5.179" for the other Microsoft.Build.* packages
Moving the 'MicrosoftBuildPackageVersion' forward.
Fixing "RuntimeFrameworkVersion"
Updating version naming convention.
Fixed a typo...
Nuget.config update to align with CLI:master - add comments in DependencyVersions.prop
Even more package dependency re-names...
Third pass clean-up of package names.
Second pass clean-up of package names; resequencing download.
Updating dependency version properties in alignment with sample orchestrated build file at: https://dotnetfeed.blob.core.windows.net/orchestrated/20171129-03/orchestration-metadata/PackageVersions.props
The access key is already resolved: 'CoreSetupBlobAccessTokenParam'
Fixed another typo...
Fixed typo...
The first pass will need the extra args [same as run-build.ps1].
Dependency Uptake: download and import a package version props file.
Accounting for MSRC builds with pre-set 'CoreSetupBlobRootUrl' and 'CoreSetupBlobAccessToke' properties.
Changes per code review...
...
TestAssets/NonRestoredTestProjects/DotnetAddP2PProjects/EmptyItemGroup/EmptyItemGroup.csproj
TestAssets/NonRestoredTestProjects/DotnetAddP2PProjects/Lib/Lib.csproj
TestAssets/NonRestoredTestProjects/DotnetAddP2PProjects/Net452AndNetCoreApp10Lib/Net452AndNetCoreApp10Lib.csproj
TestAssets/NonRestoredTestProjects/DotnetAddP2PProjects/ValidRef/ValidRef.csproj
TestAssets/NonRestoredTestProjects/DotnetAddP2PProjects/WithDoubledRef/WithDoubledRef.csproj
TestAssets/NonRestoredTestProjects/DotnetAddP2PProjects/WithExistingRefCondOnItem/WithExistingRefCondOnItem.csproj
TestAssets/NonRestoredTestProjects/DotnetAddP2PProjects/WithExistingRefCondWhitespaces/WithExistingRefCondWhitespaces.csproj
TestAssets/NonRestoredTestProjects/DotnetAddP2PProjects/WithRefNoCondNonUniform/WithRefNoCondNonUniform.csproj
TestAssets/TestProjects/AppWithMultipleFxAndTools/MSBuildAppWithMultipleFrameworksAndTools.csproj
TestAssets/TestProjects/MSBuildAppWithMultipleFrameworksAndTools/MSBuildAppWithMultipleFrameworksAndTools.csproj
TestAssets/TestProjects/XunitMulti/VSTestXunitDesktopAndNetCore.csproj
build/BundledTemplates.props
build/DependencyVersions.props
build/NugetConfigFile.targets
build/Test.targets
build_projects/dotnet-cli-build/dotnet-cli-build.csproj
dir.props
run-build.sh
src/Microsoft.DotNet.Archive/Microsoft.DotNet.Archive.csproj
src/Microsoft.DotNet.Cli.Utils/Microsoft.DotNet.Cli.Utils.csproj
src/Microsoft.DotNet.Configurer/Microsoft.DotNet.Configurer.csproj
src/dotnet/dotnet.csproj
src/redist/redist.csproj
src/tool_fsharp/tool_fsc.csproj
test/ArgumentForwardingTests/ArgumentForwardingTests.csproj
test/EndToEnd/EndToEnd.csproj
test/Microsoft.DotNet.Cli.Sln.Internal.Tests/Microsoft.DotNet.Cli.Sln.Internal.Tests.csproj
test/Microsoft.DotNet.Cli.Utils.Tests/Microsoft.DotNet.Cli.Utils.Tests.csproj
test/Microsoft.DotNet.Tools.Tests.Utilities/Microsoft.DotNet.Tools.Tests.Utilities.csproj
test/Msbuild.Tests.Utilities/Msbuild.Tests.Utilities.csproj
test/binding-redirects.Tests/binding-redirects.Tests.csproj
test/dotnet-add-package.Tests/dotnet-add-package.Tests.csproj
test/dotnet-add-reference.Tests/dotnet-add-reference.Tests.csproj
test/dotnet-back-compat.Tests/dotnet-back-compat.Tests.csproj
test/dotnet-help.Tests/dotnet-help.Tests.csproj
test/dotnet-migrate.Tests/dotnet-migrate.Tests.csproj
test/dotnet-new.Tests/dotnet-new.Tests.csproj
test/dotnet-remove-package.Tests/dotnet-remove-package.Tests.csproj
test/dotnet-remove-reference.Tests/dotnet-remove-reference.Tests.csproj
test/dotnet-restore.Tests/dotnet-restore.Tests.csproj
test/dotnet-sln-add.Tests/dotnet-sln-add.Tests.csproj
test/dotnet.Tests/dotnet.Tests.csproj
There were two issues. One was that additional arguments that are not
recognized by the build.sh script were incorrectly passed as a single
argument in single-quotes to msbuild.
The second issue was that when LD_LIBRARY_PATH was not set, the
dotnet-install.sh script was failing due to its using of the "set -u"
option that prevents usage of unset variables.
This change fixes extraction of the unprocessed args and also implements
few minor changes that @eerhardt has asked for, like renaming the new argument
and changing usage of HostRid to Rid in build/BuildDefaults.props.
This change enables RHEL 6 support. It also adds a new command line option to the
run-build.sh script that enables passing in a folder containing a bootstrap CLI.
This helps in bringup of new target platforms.
Currently VSTS is producing duplicate package and they are running into
each other will producing
Today:
Linux x64 build definition: both .deb and .tar.gz
Ubuntu 16.04 build definition: both .deb and .tar.gz (ex.
dotnet-sdk-2.0.0-preview3-006477-linux-x64.tar.gz,
dotnet-sdk-debug-2.0.0-preview3-006477-linux-x64.tar.gz,
dotnet-sdk-internal-2.0.0-preview3-006477-linux-x64.tar.gz)
After this change:
Linux x64: .tar.gz
Ubuntu 16.04: .deb
No change for windows and macOS
Tested on Ubuntu with and without --linux-portable and windows
Our build scripts were pulling down all of buildtools and run.exe in
service of "clean.{cmd|sh}". While having consisent commands across
the repos is a good thing to strive for, we are pulling down a bunch
of additional stuff we don't need for simple commands that have well
known analogs (e.g. git clean).
If we had been all in on run.exe, this might have made sense, but we
aren't, so it feels like something we should clean up.
By doing this, we can stop downloading bootstrap from github when we
build (super dangerous anyway because changes in buildtools could have
broken us).
In addition, I changed the way we install dotnet to just invoke the
script in `scripts/obtain/` instead of downloading a version from
GitHub. This makes local development of changes to obtain easier and
removes yet another place we had to download a script.
The parameter passed to `exit` was always 0 (exit code of previous `echo` call). It seems to me that the intention is to terminate the script with the actual exit error code (!= 0).
When trying to cross build, Rid needs to change to the target Rid,
but architecture should use x64 as it as host.
In addition to the existing --architecture option, and additional --runtime-id option is required.
It duplicates functionality achieved by using `--runtime-id linux-x64`.
Remove it and fix callers.
Keep the the --linux-portable flag in the build scripts; that now calls
--runtime-id linux-x64 in the install script.
* Add support to build with the linux portable
* Pass targets to run for the linux portable
* Address PR comments
* Update the bootstrapper version
* Address the PR comments for improving the help text
* Fixing permissions
* Allow host info passed in from the command line to override machine settings
* Simplify the logic
* Address PR comments to keep a separate HostRid and HostOSName that are static
* Rename to BuildInfo.props
* Address PR comments
* Fix the previous merge
* Fix spacing
* Address PR comments
During the cli build, the cli downloads and executes the bootstrap
script from buildtools. The bootstrap script then downloads and executes
the dotnet-install script from cli, but in the 'rel/1.0.0' branch, not
the master branch.
This means that someone building cli's master branch will end up using
the dotnet-install.sh or dotnet-install.ps1 script from cli's rel/1.0.0
branch.
Fix that by telling the bootstrap script to download and use the version
of dotnet-install script from the master branch (which is the current
branch the user is building).
Ideally, we would just call the dotnet-install script in the current
repo/branch, but because the bootstrap script sits in the middle and is
part of a different repository, we can't.
This is a workaround for #5410.