-
Notifications
You must be signed in to change notification settings - Fork 697
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Remove bootstrap.proj #5142
Remove bootstrap.proj #5142
Conversation
build/BuildValidator.proj
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This replaces BuildValidator.ps1 which depended on bootstrap.proj to pull down a package (NuGetValidator) and on the VSIX already being built. Now that its an MSBuild project, we will get binary logs from hosted builds and in this case I'm embedding the text log from NuGetValidator in the binary log so we'll get more logs than before.
@@ -1,7 +1,5 @@ | |||
<?xml version="1.0" encoding="utf-8"?> | |||
<Project ToolsVersion="15.0"> | |||
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), 'README.md'))\packages\Microsoft.VisualStudioEng.MicroBuild.Core\1.0.0\build\Microsoft.VisualStudioEng.MicroBuild.Core.props" Condition="Exists('$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), "README.md"))\packages\Microsoft.VisualStudioEng.MicroBuild.Core\1.0.0\build\Microsoft.VisualStudioEng.MicroBuild.Core.props')" /> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
MicroBuild is now imported in every project via CPM's <GlobalPackageReference />
@@ -114,7 +115,7 @@ | |||
Outputs="$(PathToMergedNuGetExe)" | |||
Condition="'$(BuildingInsideVisualStudio)' != 'true' and '$(SkipILMergeOfNuGetExe)' != 'true'" > | |||
<PropertyGroup> | |||
<IlmergeCommand>$(ILMergeExePath) /lib:$(OutputPath) /out:$(PathToMergedNuGetExe) @(MergeAllowDup -> '/allowdup:%(Identity)', ' ') /log:$(OutputPath)IlMergeLog.txt</IlmergeCommand> | |||
<IlmergeCommand>$(ILMergeConsolePath) /lib:$(OutputPath) /out:$(PathToMergedNuGetExe) @(MergeAllowDup -> '/allowdup:%(Identity)', ' ') /log:$(OutputPath)IlMergeLog.txt</IlmergeCommand> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The ILMerge
package provides this MSBuild property for us automatically!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This replaces CreateEndToEndTestPackage.ps1 as an MSBuild project so we can get binary logs from hosted builds. It's also using my Microsoft.Build.Artifacts
package which is able to stage artifacts very quickly since it has robocopy-like logic.
d336a5e
to
7eaa3a7
Compare
src/NuGet.Clients/NuGet.VisualStudio.Client/NuGet.VisualStudio.Client.csproj
Show resolved
Hide resolved
Oh, please don't merge this until after M2 mode, to minimize risk of blocking urgent insertions |
7eaa3a7
to
651aba4
Compare
Bug
Fixes: https://github.com/NuGet/Client.Engineering/issues/2186
Regression? Last working version:
Description
This removes
bootstrap.proj
and replaces it with more retail MSBuild logic and allows a user to clone our repository and build it as long as they have Visual Studio and .NET SDK installed.I had to re-recreate #5070 since GitHub won't let me re-open it. I will address the comments from it in this PR.
The main goal is to make it so nothing needs to be initialized, the act of building the repo is what pulls in all necessary dependencies.
PR Checklist
PR has a meaningful title
PR has a linked issue.
Described changes
Tests
Documentation