Package Source Fallback Behavior
From Issue: http://nupack.codeplex.com/workitem/204
Scenario: I have a package (mypackage.nupkg) on my local machine in my
c:\packages folder. That package depends on some online packages such as
log4net. When I change my default package source to c:\packages and try to install
mypackage, it should be able to resolve log4net from the online package source.
Web requests for each feed is done in parallel, but merging the sources happens when all the results have returned.
When installing a package, iterate through each package source looking for the dependency, starting in the current package source.
Order of aggregation:
- Look in specified feed (if specified via -Source).
- Look in active feed.
- Look in all others in the order they're specified in settings (we'll need to allow re-ordering feeds).
Perf issues with Feed Aggregation
Potential perf problems with aggregating multiple feeds and paging. looking at doing a bit of pre-fetching for the pages surrounding the current page in order to improve perf since most people won't page across more than two or three pages after doing a
search in the first place.
- Unfiltered. Pre-cache first 3 pages.
- User types search term: pre-cache 7 pages
Keep in mind that the exact number of pages to cache can be tuned later.
- Should we apply this behavior to List-Package. For example, should we merge all the packages from the package sources. I think we should not do this for v1.
No, we're not going to do this for v1.
- Should we apply this behavior to installing the package itself? Yes. Obviously this doesn't apply to the dialog since you can't specify an arbitrary package.