Commit graph

4 commits

Author SHA1 Message Date
Livar Cunha
105e5ab051 Introducing a in progress sentinel that gets verified before running the first time experience. If we can get a handle for this sentinel, we proceed with the first time run, otherwise, it means there is a first time experience running already, in which case we continue running dotnet normally, even though the final (real) sentinel is not present yet. This prevents multiple dotnet commands from running the first time experience in parallel and prevents us from running into parallel nuget restores. 2016-06-10 16:54:39 -07:00
Livar Cunha
ed7e583ab6 Addressing code review comments and adding a DOTNET_SKIP_FIRST_TIME_EXPERIENCE env variable to have a way to turn off the feature. 2016-06-10 16:54:37 -07:00
Livar Cunha
ac2e21452f Adding a separate abstraction for the NuGet sentinel. 2016-06-10 16:54:06 -07:00
Livar Cunha
84f63029fe Almost all of the code to prime the NuGet cache from the archive.
- Created a Configurer class that is responsible for deciding when to run the dotnet first time use
experience and invoke the NuGetCachePrimer.
- Added the NuGetCachePrimer which extract the archive and primes the cache.
-- This is just missing creating the sentinel once restore succeeds.
- Added a shell for the NugetPackagesArchiver, which will be responsible for expanding the archive (likely
replaced in the future by an abstraction from Eric's code or its implementation will simply call Eric's code).
- Added a TemporaryFolder abstration to Internal Abstractions that handles deleting the temporary folder once
we are done with it.
2016-06-10 16:53:55 -07:00