On 2/24/07, Stephen Duncan <stephen.duncan / gmail.com> wrote: I may have a wrong impression of Maven, but if I do, it's not my fault: * I don't use Java, so I don't need Maven. * The OP's description of Maven was so overblown and useless as a description that I went to the Maven website. * The Maven website is nothing but marketing-speak on the "about Maven" pages. I expect to find useful information somewhere for a project that isn't excessively large to deal with. Nothing on the Maven website suggested that it isn't trying to solve problems that simple Don't Exist in the Ruby world, and that trying to take a Maven approach to Ruby problems is AT BEST misguided. I also think that the OP is approaching his project the wrong way up front. How large is too large? Instead, ask what the minimum functionality can be logically delivered in each piece. Don't look at dividing an application in to twenty parts: look at making reusable functionality as libraries. These aren't things that software can help you do; you have to do them yourself. You can then have software help you manage those libraries, but a good source control system can deal with them. > There are some Maven functionalities that I'd like to see for Ruby (or > maybe I just don't yet know how to do them). I'd like an easy > mechanism to have RubyGems store gems in a per-user location instead > of globally be default (I'm sure this is possible, but I just haven't > taken the time to do it yet). I wouldn't ever want this by default. However, "gem help install" points out the --install option where you can specify a gem repository. What I don't know is how you would tell RubyGems about this repository in your includes, or if RubyGems supports a per-user repository to be read before the system repository. These would be good questions to raise on the rubygems-devel list or, better yet, to investigate in the source and provide patches to make it happen if you really need it. I don't, and I can't see any reason to run the software that way. > Then, I want a simple way to list the > gems my project depends on and run a Rake task to install those > dependencies. That's actually very simple for you to add to your own Rakefile. If it works well enough, you can suggest it as a standard rake task or offer it to Ryan for hoe. > The purpose here is to do the equivalent of what > running mvn eclipse:eclipse does for a Java project: allow me to check > a project out, run a single command, and then be ready to start > developing. I don't know what the typical approach here for Ruby is. That really depends on the project. Unless things started showing up in hoe to enable what you're talking about, I doubt that any of my projects would be set up to work this way, for the most part. (That is, if you wanted to contribute to PDF::Writer, you would have to make sure you have Transaction::Simple and color-tools[1] installed yourself. I'm making changes to the PDF::Writer source, though, to make it easier to run the demos from the checkout tree without getting your already-installed version.) Of course, I suspect that most people who would start hacking on a project would have used the project first, so they would start by installing a project's gem -- and get its dependencies automatically. > I'd also like to have Hoe work equally well if I'm using Rspec vs. > test/unit. On the documentation front, I'm pretty certain there are > features of the Maven site tools that I'll miss in Ruby, but I haven't > put in the work yet to learn how it's done in the Ruby world to say > for sure. I don't use rspec and I doubt that I ever will (I can't see any point to it; on the projects where testing can make any meaningful difference, I already use TDD to a T). I've seen nothing that suggests that hoe won't run well with rspec, though. Documentation-wise, I doubt it. Documentation in Ruby is achieved primarily through rdoc. If you want project tracking, use Trac or possibly one of the up-and-coming Rails replacements for Trac. And, if I'm undersanding you correctly (and I think I am based on the marketing speak on the Maven website), it seems that Maven is a combination of a command-line tool to help you managed projects where you *use* the projects and a website to help you manage stuff similar to Trac. This is overengineered to me. It's trying to do entirely too much. It's a very Java approach to a problem that should be much simpler, but because Java isn't simple, nothing that comes out of Java is simple. > I do think that with Ruby there can be a better/cleaner version of > Maven, but I still feel that Ruby does need a Maven. :) Then build one. If people agree, they'll use it too. -austin [1] Soon to be color. -- Austin Ziegler * halostatue / gmail.com * http://www.halostatue.ca/ * austin / halostatue.ca * http://www.halostatue.ca/feed/ * austin / zieglers.ca