Update BuildTools to 2.1.0-preview2-02621-01#376
Conversation
|
Figured out the weirdness with tarball, I'm pretty sure. Repro steps from fresh dotnet/standard@2022919 standalone clone:
I do see It seems like nothing actually executes the restore command on this package in the tarball build (since init-tools doesn't run again in the tarball build?) so dotnet/standard can't find it. |
Move past breaks: Fix init-tools.sh. Update dotnet/standard commit to bring in fixes for the new version. When building the tarball, run Tools/init-tools.sh again to populate the packages/ directory with Microsoft.NETCore.Compilers (and any other future packages).
6abbc79 to
d4f088d
Compare
|
I added a step to the tarball creation script that runs Removed CoreCLR from known-good temporarily to see if this makes it past CI. This works on my machine with I limit the build to |
|
Green CI, but with CoreCLR taken out. Locally, I'm trying a merge of |
| <ItemGroup> | ||
| <PackageReference Include="Microsoft.DotNet.BuildTools" Version="$(BuildToolsPackageVersion)" /> | ||
| <PackageReference Include="Microsoft.DotNet.BuildTools.Coreclr" Version="1.0.4-prerelease" /> | ||
| <PackageReference Include="ILLink.Tasks" Version="0.1.5-preview-1461378" /> |
There was a problem hiding this comment.
I'll add this to dependencies.props in my other PR (where I introduce dependencies.props) to match https://github.com/dotnet/coreclr/blob/2e5f43401b458315dc33c137f0ee0c5a02d810c2/init-tools.msbuild#L20-L22.
|
CI's green! Once dotnet/coreclr#17136 is in CoreCLR release/2.1 we can move off my fork. |
| [submodule "src/coreclr"] | ||
| path = src/coreclr | ||
| url = https://github.com/dotnet/coreclr | ||
| url = https://github.com/dagood/coreclr |
There was a problem hiding this comment.
Note a huge deal but I generally perfer to not switch to forks but instead just use a branch in the main repo.
|
@dagood did you move coreclr to the tip of the release/2.1 branch + my fix? If so and that works then I can update the release/2.1 branch in coreclr to have the fix. It should be noted that my fix isn't enough and needs adjustments see (dotnet/coreclr#17226) to ensure other scenarios still work. |
|
Yep, my commit is just your fix branch with release/2.1 tip merged into it. I'll push it to |
| TEMP_TOOLS_DIR="$SCRIPT_ROOT/ToolsTemp" | ||
| PREBUILT_PACKAGE_SOURCE="$SCRIPT_ROOT/prebuilt/nuget-packages" | ||
| ( | ||
| set -x |
There was a problem hiding this comment.
Did you mean to leave this here?
There was a problem hiding this comment.
Yeah, this makes the commands show up in the logs without the maintenance cost and risk of duplicating the commands in echo ... statements.
dseefeld
left a comment
There was a problem hiding this comment.
One comment. Otherwise, looks good.
| ( | ||
| set -x | ||
|
|
||
| "$CLI_ROOT/dotnet" restore "$SCRIPT_ROOT/init-tools.msbuild" --no-cache --packages "$SCRIPT_ROOT/packages" --source "$PREBUILT_PACKAGE_SOURCE" || exit $? |
There was a problem hiding this comment.
The || exit $? pattern is what I came up with to make sure it exits on the first error. set -e would normally do this, but it doesn't apply when the command uses ||. (I used || on the subshell to notify the user that it failed rather than just having the script exit without any info.) Better ideas welcome.
The commit is now on a dev branch so we don't depend on the dagood fork.
Update dotnet/standard commit to bring in fixes for the new version (dotnet/standard#690), and fix init-tools.sh (same fix as standard).
Unblocks #371