Closed agross closed 10 years ago
This wasn't explanatory enough, or you didn't find it: http://fubuworld.com/ripple/gettingstarted/concepts/
"Fixed" --> use this exact version every time, don't update unless I explicitly tell you to update this particular nuget "Floating" --> use the latest version of this nuget when ripple restores. We use this for internal feeds between related repositories
On Nov 4, 2013, at 7:50 AM, Alexander Groß notifications@github.com wrote:
I'm just trying to wrap my head around ripple. I think I like the concepts, but I'm unclear how it is supposed to work, especially with floating vs fixed versions. I'd appreciate if you would update the docs to include more details about:
which paths should be expected (including or excluding version numbers) what "Classic Mode detected" means (it sounds scary for the novice user - is it something I should get rid of - if so, how? Anyway, I cloned DarthFubuMVC/rippletemplate@09a97da and added an empty ConsoleApplication1 project inside src and did some experiments:
Installing floating dependency
ripple install nunit -m float -p ConsoleApplication1 Classic Mode Detected Classic Mode Detected Install nunit to Solution fubucore
- Analyzing nunit
NugetPlan:
** Steps * InstallSolutionDependency Install nunit,2.6.3.0 to solution * InstallProjectDependency Install nunit to ConsoleApplication1
Exploding to d:\Users\agross\Downloads\rt\src\packages\NUnit HintPath changed: to ..\packages\NUnit.2.6.3.0\lib\nunit.framework.dll Updated reference for d:\Users\agross\Downloads\rt\src\ConsoleApplication1\ConsoleApplication1.csproj to ..\packages\NUnit.2.6.3.0\lib\nunit.framework.dll Writing changes to d:\Users\agross\Downloads\rt\src\ConsoleApplication1\ConsoleApplication1.csproj That downloads NUnit to src\packages\NUnit\, but references ..\packages\NUnit.2.6.3.0\ in the csproj. Details here: agross/rippletemplate@9c3a90e.
Installing fixed dependency
ripple install nunit -m fixed -p ConsoleApplication1 Classic Mode Detected Classic Mode Detected Install nunit to Solution fubucore
- Analyzing nunit,Fixed
NugetPlan:
** Steps * InstallSolutionDependency Install nunit,2.6.3.0,Fixed to solution * InstallProjectDependency Install nunit to ConsoleApplication1
Exploding to d:\Users\agross\Downloads\rt\src\packages\NUnit HintPath changed: to ..\packages\NUnit.2.6.3.0\lib\nunit.framework.dll Updated reference for d:\Users\agross\Downloads\rt\src\ConsoleApplication1\ConsoleApplication1.csproj to ..\packages\NUnit.2.6.3.0\lib\nunit.framework.dll Writing changes to d:\Users\agross\Downloads\rt\src\ConsoleApplication1\ConsoleApplication1.csproj Same issue as above. Details here: agross/rippletemplate@9c3a90e.
I remember that I was able to "force" a version number in the path to the NUnit package, what I don't remember is how. I'll add it here if I manage to reproduce.
Help would be very much appreciated!
— Reply to this email directly or view it on GitHub.
Jeremy, thanks for your quick reply. I get the difference between fixed and floating dependencies. Does that mean that:
In case neither is true, why does the HintPath
include the version number?
Alright, reread the the docs for about the tenth time and found answer to my question:
Because the dependency versions are unique per solution, there is no need to have version numbers in the exploded folders (e.g., src/packages/Bottles vs. src/packages/Bottles.1.0.0.0)
Fixed v. Float has no impact on the folder paths or the hint path. As a rule from day one, ripple assumes and enforces the usage of a single version of any nuget across the entire solution. Because of that, we're able to eliminate the nuget version number from the exploded packages folder -- which does a lot to reduce ugly merge conflicts.
I'm happy to update the docs if it'll make it more clear. Got any suggestions though?
On Nov 4, 2013, at 8:11 AM, Alexander Groß notifications@github.com wrote:
Alright, reread the the docs for about the tenth time and found answer to my question:
Because the dependency versions are unique per solution, there is no need to have version numbers in the exploded folders (e.g., src/packages/Bottles vs. src/packages/Bottles.1.0.0.0)
— Reply to this email directly or view it on GitHub.
I think it's all right with the docs for people who can read (obviously I'm not one of them ;-)
But my main issue still stands:
HintPath changed: to ..\packages\NUnit.2.6.3.0\lib\nunit.framework.dll
Updated reference for d:\Users\agross\Downloads\rt\src\ConsoleApplication1\ConsoleApplication1.csproj to ..\packages\NUnit.2.6.3.0\lib\nunit.framework.dll
See the version number in the path.
I think what needs more documentation is classic mode vs the other mode (futuristic mode?).
@Alexander,
Do you see anything in the ripple output that says "Classic Mode detected"? If ripple thinks that you're in Nuget mode, it will keep the version numbers in the path (in the current version).
On Mon, Nov 4, 2013 at 8:22 AM, Alexander Groß notifications@github.comwrote:
I think it's all right with the docs for people who can read (obviously I'm not one of them ;-)
But my main issue still stands:
HintPath changed: to ..\packages\NUnit.2.6.3.0\lib\nunit.framework.dll Updated reference for d:\Users\agross\Downloads\rt\src\ConsoleApplication1\ConsoleApplication1.csproj to ..\packages\NUnit.2.6.3.0\lib\nunit.framework.dll
See the version number in the path.
I think what needs more documentation is classic mode vs the other mode (futuristic mode?).
- What are the advantages of either one?
- Why do we start with classic?
- How to move from classic to futuristic and back?
- Is the latter even possible?
— Reply to this email directly or view it on GitHubhttps://github.com/DarthFubuMVC/ripple/issues/237#issuecomment-27687943 .
@jmarnold
Yes, I see two "classic mode" outputs per ripple install
(see logs above and in my clone). I have no idea how to change that.
Could is be that ripple is in an inconsistent state? I.e. knows it's in classic mode, but downloads packages to a path without version numbers? Hence, the broken HintPath
?
That's possible, yes. Unfortunately the "convert" commands that exist were used to convert between ripple 1.0 and ripple 2.x. To be honest with you, I never expected much adoption so the "Nuget to ripple" story is a bit lacking at the moment. I'll look into this as soon as I can to see what I can find for you.
On Mon, Nov 4, 2013 at 8:33 AM, Alexander Groß notifications@github.comwrote:
@jmarnold https://github.com/jmarnold
Yes, I see two "classic mode" outputs per ripple install (see logs above and in my clone). I have no idea how to change that.
Could is be that ripple is in an inconsistent state? I.e. knows it's in classic mode, but downloads packages to a path without version numbers? Hence, the broken HintPath?
— Reply to this email directly or view it on GitHubhttps://github.com/DarthFubuMVC/ripple/issues/237#issuecomment-27688717 .
The thing is, I didn't even start out in "classic/NuGet mode". I started from scratch with your DarthFubuMVC/rippletemplate project to test things.
Can you tell me how ripple can be convinced to stop using NuGet mode?
Right now the absence of a ripple.dependencies.config would probably do it. Do you have one of those next to your csproj file(s)?
On Mon, Nov 4, 2013 at 8:38 AM, Alexander Groß notifications@github.comwrote:
The thing is, I didn't even start out in "classic/NuGet mode". I started from scratch with your DarthFubuMVC/rippletemplate project to test things.
Can you tell me how ripple can be convinced to stop using NuGet mode?
— Reply to this email directly or view it on GitHubhttps://github.com/DarthFubuMVC/ripple/issues/237#issuecomment-27689092 .
Just to reiterate to make sure I get it:
ripple.dependencies
we are in "classic/NuGet mode"ripple.dependencies
we are in "futuristic mode"(I don't have any ripple.dependencies
because I started the project from scratch.)
Yes, that's correct. We had an issue with the "find packages.config" approach early on so we settled with this one.
For now, can you try creating an empty text file called ripple.dependencies.config next to a project file?
On Mon, Nov 4, 2013 at 8:43 AM, Alexander Groß notifications@github.comwrote:
Just to reiterate to make sure I get it:
- If there is no ripple.dependencies we are in "classic/NuGet mode"
- If there is a ripple.dependencies we are in "futuristic mode"
(I don't have any ripple.dependencies because I started the project from scratch.)
— Reply to this email directly or view it on GitHubhttps://github.com/DarthFubuMVC/ripple/issues/237#issuecomment-27689505 .
Works :-) :+1:
Should we leave this ticket open? I think there's some work needed w.r.t. to starting with a empty solution. It' been a bit of a bumpy ride...
I couldn't agree more, sadly. Thanks for sticking it out ;)
On Mon, Nov 4, 2013 at 8:50 AM, Alexander Groß notifications@github.comwrote:
Works :-) [image: :+1:]
Should we leave this ticket open? I think there's some work needed w.r.t. to starting with a empty solution. It' been a bit of a bumpy ride...
— Reply to this email directly or view it on GitHubhttps://github.com/DarthFubuMVC/ripple/issues/237#issuecomment-27690112 .
Renamed the ticket to make it more clear what's going wrong.
Just run into the same problem. Would be nice to explain what classic mode means on the console output.
I'm just trying to wrap my head around ripple. I think I like the concepts, but I'm unclear how it is supposed to work, especially with floating vs fixed versions. I'd appreciate if you would update the docs to include more details about:
Anyway, I cloned DarthFubuMVC/rippletemplate@09a97da and added an empty
ConsoleApplication1
project insidesrc
and did some experiments:Installing floating dependency
That downloads NUnit to
src\packages\NUnit\
, but references..\packages\NUnit.2.6.3.0\
in the csproj. Details here: agross/rippletemplate@9c3a90e.Installing fixed dependency
Same issue as above. Details here: agross/rippletemplate@90e5d1e.
I remember that I was able to "force" a version number in the path to the NUnit package, what I don't remember is how. I'll add it here if I manage to reproduce.
Help would be very much appreciated!