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

Target specific feeds against specific dependencies #331

Closed
isaacabraham opened this issue Nov 3, 2014 · 11 comments
Closed

Target specific feeds against specific dependencies #331

isaacabraham opened this issue Nov 3, 2014 · 11 comments

Comments

@isaacabraham
Copy link
Contributor

The current implementation looks at e.g. all nuget sources across all nuget dependencies e.g.: -

source http://nuget.org/api/v2
source http://myprivatefeed
source http://myotherprivatefeed

nuget My.Package1
....
nuget My.Package24
nuget My.Package25

In the example above, My.Package24 goes against "privatefeed" and My.Package25 against "myprivatefeed". However, there is no way to indicate that in the dependencies file. As a result, updates etc. for any given package search across all feeds. It would be great if you could do something like: -

source http://nuget.org/api/v2
nuget My.Package1
....
nuget My.Package23

source http://myprivatefeed
nuget My.Package24

source http://myotherprivatefeed
nuget My.Package25

Where only packages 1-23 are searched against nuget.org, My.Package24 against myprivatefeed and My.Package25 against myotherprivatefeed.

@forki
Copy link
Member

forki commented Nov 3, 2014

yep I thought this will come back one day.

This is only because of performance, right? Otherwise the current stuff would be OK.

// @agross @ilkerde

@isaacabraham
Copy link
Contributor Author

Yep. Unless there was a dependency that existed in two feeds and you wanted to explicitly only one feed I suppose.

@forki
Copy link
Member

forki commented Nov 3, 2014

yes but then it should be the exact same package (modulo monkey-patching ;-) )

@isaacabraham
Copy link
Contributor Author

why - if you uploaded a newer version to one feed than another one?

@forki
Copy link
Member

forki commented Nov 3, 2014

That's different version no. then, right?
On Nov 3, 2014 7:37 PM, "Isaac Abraham" [email protected] wrote:

why - if you uploaded a newer version to one feed than another one?


Reply to this email directly or view it on GitHub
#331 (comment).

@isaacabraham
Copy link
Contributor Author

Yes, exactly :-)

@mexx
Copy link
Member

mexx commented Nov 9, 2014

Currently the order of sources defines the source that will be used in a situation where same package in same version is present in different feeds.

Unfortunately currently the source to use is picked when details of the package gets fetched and not when the available versions are determined.
It could possibly happen that a version that would be not available in first feed at time of version resolution and available in second feed, but when details get fetched that version would be already in first feed and this package would be downloaded.

Note:
With feed specific dependencies comes a problem, what feed the indirect dependencies should be resolved from. To resolve this problem we have to define an order for the sources to proceed. With that we have something like sources dependencies tree.

@isaacabraham
Copy link
Contributor Author

In terms of performance, I moved a single package (out of about 20 dependencies) from a secondary nuget feed to a local file system feed. The time to do a paket update went down from about 5 minutes to 30 seconds.

@forki
Copy link
Member

forki commented Dec 30, 2014

Ok I think this is something to do next.

We should work towards a grouping feature.
/cc @agross

@agross
Copy link
Contributor

agross commented Dec 30, 2014

Grouping is for dev vs production dependencies. While I agree that that's not usual in the .NET space I'd prefer something like this:

source http://teamcity/feed username: "blah" password: "secret" do
  nuget foobar ~> 1.2
end

@forki
Copy link
Member

forki commented Oct 31, 2016

Closing old issue. This can be done via groups

@forki forki closed this as completed Oct 31, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants