FubuMvcArchive / ripple

Super charged dependency management with Nuget without the merge hell
http://fubuworld.com/ripple
Other
45 stars 35 forks source link

Added support for source only nuget packages #265

Closed andreasohlund closed 6 years ago

andreasohlund commented 10 years ago

This is still a WIP but I want some feedback if you guys think this is heading in the right direction. This change is somewhat inspired by http://nikcodes.com/2013/10/23/packaging-source-code-with-nuget/

Background

We rely on source only packages to share of acceptance testing suite btw repos. We also plan to make more use of source only nugets as they start to appear on nuget. (we hate binary deps!!).

What this change do

  1. Looks for source packages (packages ending with .Sources or -CodeOnly)
  2. Looks for projects referencing them
  3. Extracts the files in /content into {Project}/App_Packages/{Name of nuget without .Sources|-CodeOnly}

    Question

One of the snags we have is that since we ripple restore as part of the build using https://github.com/Particular/RippleRestoreTask and the fact that we wildcard include the files (https://github.com/Particular/NServiceBus.SqlServer/blob/develop/src/NServiceBus.SqlServer.AcceptanceTests/NServiceBus.SqlServer.AcceptanceTests.csproj#L69) we can't get VS to pickup the files on the first build. Instead we have to close the solution and open it again. Does any one have any ideas on how to force a project reload if the the give source package is restored?

Side note

Since we have a few nugets on or CI (by mistake) that has the same id but with different casing I had to change this:

https://github.com/Particular/ripple/compare/source-only-packages?expand=1#diff-c7640d9074d8c77317f6b761a3ef2bf7R91

Thoughts?

jmarnold commented 10 years ago

@andreasohlund I'm still on a bit of a hiatus from OSS work, but I promise I'll take a look at this one tonight. I even added a reminder on my phone so I won't forget ;).

jmarnold commented 10 years ago

I started reviewing this last night but didn't finish. I'll look at it some more today.