Skip to content

Conversation

@jonpryor
Copy link
Contributor

Ever since commit dec2e39, every make(1) target would result in
running nuget restore, e.g.:

$ make run-tests TESTS=bin/TestDebug/Java.Interop.Tools.JavaSource-Tests.dll
nuget restore
...

The nuget restore was both time consuming and irrelevant, and meant
that make targets which should have been fast -- like make all,
which shouldn't do anything after the initial make prepare all,
would instead take multiple seconds to complete.

Why was nuget restore always being invoked?

$ make -d -n run-tests
...
       Must remake target `packages/NUnit.3.11.0/NUnit.3.11.0.nupkg'.
nuget restore

What happened is that commit dec2e39 changed various projects to be
Short-Form SDK projects, which in turn alters the packages directory
structure: instead of e.g.

packages/NUnit.3.11.0/NUnit.3.11.0.nupkg

the file is instead:

packages/nunit/3.11.0/nunit.3.11.0.nupkg

Note case and directory structure change, which in turn meant that the
rule dependencies were never satisfied (unless you happened to have
a packages directory from a pre-dec2e390 build…).

We could fix up the $(PACKAGES) and $(NUNIT_CONSOLE) variables
to use the new paths, but they're not actually used for anything
anymore, so just remove them.

Ever since commit dec2e39, *every* **make**(1) target would result in
running `nuget restore`, e.g.:

	$ make run-tests TESTS=bin/TestDebug/Java.Interop.Tools.JavaSource-Tests.dll
	nuget restore
	...

The `nuget restore` was both time consuming and irrelevant, and meant
that `make` targets which *should* have been fast -- like `make all`,
which shouldn't do anything after the initial `make prepare all`,
would instead take multiple seconds to complete.

Why was `nuget restore` always being invoked?

	$ make -d -n run-tests
	...
	       Must remake target `packages/NUnit.3.11.0/NUnit.3.11.0.nupkg'.
	nuget restore

What happened is that commit dec2e39 changed various projects to be
Short-Form SDK projects, which in turn alters the `packages` directory
structure: instead of e.g.

	packages/NUnit.3.11.0/NUnit.3.11.0.nupkg

the file is instead:

	packages/nunit/3.11.0/nunit.3.11.0.nupkg

Note case and directory structure change, which in turn meant that the
rule dependencies were *never* satisfied (unless you happened to have
a `packages` directory from a pre-dec2e390 build…).

We *could* fix up the `$(PACKAGES)` and `$(NUNIT_CONSOLE)` variables
to use the new paths, but they're not actually *used* for anything
anymore, so just remove them.
@jonpryor jonpryor merged commit b255981 into dotnet:master Mar 11, 2020
@jpobst jpobst added this to the d16-7 milestone Apr 10, 2020
@github-actions github-actions bot locked and limited conversation to collaborators Apr 13, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants