Coder Social home page Coder Social logo

ripple's Introduction

ripple

ripple was originally created to aid the Fubu team in managing large numbers of dependencies both locally and in continuation integration environments. It was designed to fill a gap in usage found with the NuGet client.

Documentation

Our documentation is created by FubuDocs and hosted on our github pages: http://darthfubumvc.github.io/ripple/

ripple's People

Contributors

ahjohannessen avatar alistair avatar amanda-mitchell avatar andreasohlund avatar bobpace avatar chadmyers avatar coreykaylor avatar drusellers avatar jeremydmiller avatar jmarnold avatar joshuaflanagan avatar kevm avatar mavnn avatar mtscout6 avatar ptrstpp950 avatar rauhryan avatar scooletz avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

ripple's Issues

Missing '/' character on the private nuget feed in ripple.config.

I created a new fubusln project using fubu.exe. When I ran 'ripple convert' the ripple.config file is updated to the new structure. I then ran 'ripple install FubuMVC.Diagnostics -p PROJECTNAME' I received an unauthorized exception thrown. Upon further checking the private nuget feed is missing the trailing '/' character. When I add the trailing '/' character I no longer recieve the unauthorized exception and diagnostics is installed to my project.

Bring back the NuSpecDocument for Mono

This isn't super high-priority for the Fubu projects since we only create nugets from Windows. But still.

Look at how we're doing it for the CsProjFile class. The XElement stuff is Mono-friendly.

"Use latest"

I hit this every now and again where I install something in NuGet and SOMETHING updates (but not all references to it) and then my restore command is hosed.

Maybe we do an easy "latest" command that uses the max version found in the solution and forces it across all projects?

Very flakey behavior with FubuMVC.StructureMap

I'm seeing this in the fubu solution. Run rake once, everything is good. Run it again, and the restore tries to replace FubuMVC.StructureMap, blows up in the middle, and leaves the unexploded nukpg file in place that has to be cleared out by hand.

Sometimes it whines because of trying to delete a non-empty directory

Cannot install to a new project

Create a new class project, and then try to go ripple install [some nuget].

Blows up with an NRE. Create a ripple .dependencies.config file in that project and try again. Succeeds on the 2nd go round.

Bring back update --nuget foo

Missed this one. The force update works for fixed nugets but we need to be able to delete the local copy and restore to latest.

Try to install WebDriver

Might be fixed with latest changes.

Try to install WebDriver. Blows up with an NRE in the install command.

fubu upgrade errors out with directory locking problems

Does this every single time, even if you close the solution:

Error executing ExplodeDownloadedNugets

IOException: System.IO.IOException: The directory is not empty.

at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
at System.IO.Directory.DeleteHelper(String fullPath, String userPath, Boolean recursive)
at System.IO.Directory.Delete(String fullPath, String userPath, Boolean recursive)
at FubuCore.FileSystem.CleanDirectory(String directory)
at ripple.Nuget.NugetFile.ExplodeTo(String directory) in c:\code\ripple\src\ripple\Nuget\NugetFile.cs:line 102
at ripple.Steps.ExplodeDownloadedNugets.b__0(INugetFile nuget) in c:\code\ripple\src\ripple\Steps\ExplodeDownloadedNugets.cs:line 20
at System.Collections.Generic.GenericEnumerableExtensions.Each[T](IEnumerable1 values, Action1 eachAction)
at ripple.Steps.ExplodeDownloadedNugets.Execute(SolutionInput input, IRippleStepRunner runner) in c:\code\ripple\src\ripple\Steps\ExplodeDownloadedNugets.cs:line 16

at ripple.RippleOperation.Execute(Boolean throwOnFailure) in c:\code\ripple\src\ripple\RippleOperation.cs:line 60

Maybe we're doing something wrong timing wise. Either way, it leaves the solution directory in an invalid state. Usually takes a ripple restore afterward to make it usable again.

System.* assemblies are being ignored

Right now the behavior for ripple is to ignore system assemblies. This should be smarter to know if the system assembly came through a nuget package.

ripple upgrade --nuget [foo] --force does not work

Tried it in FubuWorld to upgrade Selenium.WebDriver. The first try threw the "you must use the --force" flag, and that's fine, but you had to scroll way up to see it.

Tried it a 2nd time and it just didn't do anything. Threw an exception about having more than one value in a sequence somewhere we're calling Single()

Be nice to have a "ripple restore --force" that just makes things right

It'd be nice to make ripple restore check the versions against the packages model instead of just assuming that what's exploded is right.

Saw this by changing versions in the ripple.config for a locked dependency, then did ripple restore. Did not upgrade to the designated version. Ran ripple clean, then ripple restore and it did the trick.

Nuget packages with numbers at the end of the name kill ripple download

Found this when trying to download nuget package: Spark.Web.Mvc3.

It appears that when ripple is trying to parse the version, if it ends in a number, it is prepending that number to the version string to search for.

Here is the log that ripple generated:

[Debug] Searching for Spark.Web.Mvc3 from http://nuget.org/api/v2
[Error] Error executing DownloadMissingNugets
[Error] System.AggregateException: One or more errors occurred. ---> System.ArgumentException: '3.1.7.5.1' is not a valid version string.

Notice the exception points out it search for '3.1.7.5.1' but the version on nuget.org is '1.7.5.1'.

Here is also a stack trace that is included in the ripple log:

   at NuGet.SemanticVersion.Parse(String version)
   at ripple.Nuget.NugetName.Parse(String input) in c:\home\github\bob-ripple\src\ripple\Nuget\NugetFile.cs:line 45
   at ripple.Nuget.NugetFile..ctor(String path, SolutionMode mode) in c:\home\github\bob-ripple\src\ripple\Nuget\NugetFile.cs:line 64
   at ripple.Nuget.NugetFolderCache.<findNugetFiles>b__2(String file) in c:\home\github\bob-ripple\src\ripple\Nuget\NugetFolderCache.cs:line 63
   at System.Linq.Enumerable.WhereSelectListIterator`2.MoveNext()
   at System.Collections.Generic.List`1..ctor(IEnumerable`1 collection)
   at System.Linq.Enumerable.ToList[TSource](IEnumerable`1 source)
   at ripple.Nuget.NugetFolderCache.findNugetFiles() in c:\home\github\bob-ripple\src\ripple\Nuget\NugetFolderCache.cs:line 61
   at System.Lazy`1.CreateValue()

nuget.xsd namespace is required for ripplized nuspecs

If you do not have your nuget specification XML namespaced ripple restore currently throws a NullReferenceException

Current nuspec XML required

<?xml version="1.0"?>
<package xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <metadata xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
   <!-- ...-->
 </metadata>
</package>

Why is this namespacing in effect? The current nuget spec command does not include the nuget xml namespaces when generating a blank nuspec.

Need to pull the Classic/Not Stupid mode out of the ripple.config file

The read the tea leaves if there's a packages.config assume that it's classic mode is biting me. This shouldn't happen, but does-->

Say you get a packages.config file that gets bundled into a bottle that gets exploded out. Ripple thinks it's a classic mode package and hilarity results.

That cute little reference attacher thing in UpdateCommand is badly flawed

We need to write our own code for determining which assemblies should be attached to a project. The way we're doing it is too greedy, you end up with references to silverlight assemblies.

  • Determine what assembly references are available for a package
  • Figure out the target framework of the project
  • Attach only those assemblies
  • Need to examine an assembly to see if it is strongly named

restore command periodically fails

I'm seeing this a lot on TeamCity more than anything. I can't tell if it's a ripple thing or a NuGet thing yet, so I'm logging it here for now:

[Execute update_all_dependencies] ERROR: System.NullReferenceException: Object reference not set to an instance of an object.
[03:39:05]: [Execute update_all_dependencies] at lambda_method(Closure , IPackage )
[03:39:05]: [Execute update_all_dependencies] at System.Linq.Enumerable.WhereEnumerableIterator1.MoveNext() [03:39:05]: [Execute update_all_dependencies] at System.Linq.Enumerable.FirstOrDefault[TSource](IEnumerable1 source)
[03:39:05]: [Execute update_all_dependencies] at lambda_method(Closure )
[03:39:05]: [Execute update_all_dependencies] at System.Linq.EnumerableExecutor1.Execute() [03:39:05]: [Execute update_all_dependencies] at System.Linq.EnumerableQuery1.System.Linq.IQueryProvider.Execute[S](Expression expression)
[03:39:05]: [Execute update_all_dependencies] at NuGet.AggregateQuery1.Execute[TResult](IQueryable queryable, Expression expression) [03:39:05]: [Execute update_all_dependencies] at NuGet.AggregateQuery1.TryExecute[TResult](IQueryable queryable, Expression expression)
[03:39:05]: [Execute update_all_dependencies] at NuGet.AggregateQuery1.Execute[TResult](Expression expression) [03:39:05]: [Execute update_all_dependencies] at System.Linq.Queryable.FirstOrDefault[TSource](IQueryable1 source)
[03:39:05]: [Execute update_all_dependencies] at ripple.Nuget.NugetService.GetLatest(String nugetName) in c:\code\ripple\src\ripple\Nuget\NugetService.cs:line 53
[03:39:05]: [Execute update_all_dependencies] at ripple.Commands.UpdateCommand.<>c__DisplayClass3.<>c__DisplayClass5.b__2(String name) in c:\code\ripple\src\ripple\Commands\UpdateCommand.cs:line 65
[03:39:05]: [Execute update_all_dependencies] at System.Collections.Generic.GenericEnumerableExtensions.Each[T](IEnumerable1 values, Action1 eachAction) in d:\Builds\FubuCore\src\FubuCore\EnumerableExtensions.cs:line 78
[03:39:05]: [Execute update_all_dependencies] at ripple.Commands.UpdateCommand.<>c__DisplayClass3.b__1(Solution solution) in c:\code\ripple\src\ripple\Commands\UpdateCommand.cs:line 63
[03:39:05]: [Execute update_all_dependencies] at System.Collections.Generic.GenericEnumerableExtensions.Each[T](IEnumerable1 values, Action1 eachAction) in d:\Builds\FubuCore\src\FubuCore\EnumerableExtensions.cs:line 78
[03:39:05]: [Execute update_all_dependencies] at ripple.Commands.UpdateCommand.Execute(UpdateInput input) in c:\code\ripple\src\ripple\Commands\UpdateCommand.cs:line 53
[03:39:05]: [Execute update_all_dependencies] at FubuCore.CommandLine.FubuCommand`1.Execute(Object input) in d:\Builds\FubuCore\src\FubuCore\CommandLine\FubuCommand.cs:line 17
[03:39:05]: [Execute update_all_dependencies] at FubuCore.CommandLine.CommandRun.Execute() in d:\Builds\FubuCore\src\FubuCore\CommandLine\CommandRun.cs:line 10
[03:39:05]: [Execute update_all_dependencies] at FubuCore.CommandLine.CommandExecutor.Execute(String[] args) in d:\Builds\FubuCore\src\FubuCore\CommandLine\CommandExecutor.cs:line 22
[03:39:05]: [Execute update_all_dependencies] at ripple.Program.Main(String[] args) in c:\code\ripple\src\ripple\Program.cs:line 18

ripple restore needs to "fix" fixed versions

So let's say that we manage to have the wrong version of an exploded nuget, then run ripple restore. The old, exploded nuget is left in place even though it's the wrong version according to our ripple.config.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.