Skip to content
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

Enable restore for ref and src projects in libraries #33242

Merged
merged 44 commits into from
Mar 10, 2020

Conversation

ViktorHofer
Copy link
Member

@ViktorHofer ViktorHofer commented Mar 5, 2020

Fixes #29953
Contributes towards #31844

Upfront restore is now taking far too long, presumably because of project evaluation or multiple globs. I'm considering making restore implicit (during the build of the refs, sources and tests) so that the initial restore only handles the depproj files. Under a switch the restore target would still be able to upfront restore everything (CI mode).

Later when we removed all depproj files and sequenced everything into the build, we can remove the -restore action which is passed to the Arcade's Build.proj so that the -restore action is only invoked on demand (CI or before going offline, ie airplane).

Requires

cc @Anipik @joperezr @safern

src/libraries/ref.proj Outdated Show resolved Hide resolved
src/libraries/ref.proj Outdated Show resolved Hide resolved
src/libraries/src.proj Outdated Show resolved Hide resolved
<EnableProjectRestore Condition="'$(IsSourceProject)' == 'true' or '$(IsReferenceAssembly)' == 'true' or '$(IsTestProject)' == 'true'">true</EnableProjectRestore>
</PropertyGroup>

<Import Condition="'$(EnableProjectRestore)' != 'true'" Project="$(RepositoryEngineeringDir)restore\repoRestore.props" />
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What's left using this?

Copy link
Member Author

@ViktorHofer ViktorHofer Mar 6, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  • depproj
  • pkgproj

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I see, we should try to clean up this mode, even if it means doing something slightly different for these. I was hoping to completely eliminate this hack.

src/libraries/src.proj Outdated Show resolved Hide resolved
src/libraries/build.proj Outdated Show resolved Hide resolved
@joperezr
Copy link
Member

joperezr commented Mar 9, 2020

image

@ViktorHofer 😆 🤣

@jaredpar
Copy link
Member

jaredpar commented Mar 9, 2020

Oh man I laughed so hard when I read this it scared the dog

image

@ViktorHofer
Copy link
Member Author

Failure is #13295

@ViktorHofer ViktorHofer merged commit 981cc64 into dotnet:master Mar 10, 2020
@ViktorHofer ViktorHofer deleted the RestorePhase2 branch March 10, 2020 12:50
akoeplinger added a commit to akoeplinger/runtime that referenced this pull request Mar 10, 2020
ViktorHofer added a commit that referenced this pull request Mar 10, 2020
ViktorHofer added a commit that referenced this pull request Mar 10, 2020
@ghost ghost locked as resolved and limited conversation to collaborators Dec 10, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Should test restore be part of build or build-tests?
6 participants