On 2/24/07, Austin Ziegler <halostatue / gmail.com> wrote: > 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. That may well be true. Which is why I won't be trying to take any action to make anything Maven-like for Ruby until I have more experience & work on enough things / a large enough project to feel the pain points and decide that I, in fact, think the Maven approach needs to be brought to Ruby. > 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. Thanks for the info. On whether it's a good idea, we'll just have to disagree; I really think that system-wide shouldn't be the default. I do pledge that if I end up working enough with Ruby to justify the time, I will work on solutions, and not whine about it on the mailing list. :) > > 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. Good to know. > > 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'm mostly thinking about working on unreleased projects where this wouldn't apply. > > 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. For site stuff here's what Maven does that I'm referring to. It allows you to use plugins to generate a variety of different documentation with little work: list of dependencies (including transitive ones), JavaDoc (Rdoc equiv), Source cross-referenced with JavaDoc (which I guess Rdoc does by itself), project info (how to connect to SVN, etc.), code coverage, static analysis, and the ability to write your own documentation in a couple different formats: APT (wiki-like), xdoc (xml/html type), FML (for faqs), etc. For example: http://www.stephenduncanjr.com/projects/easymock-propertyutils/index.html As far as I know, the only thing I'd want in Ruby is the ability to integrate my Rdoc with an Rcov report or something. Like I said, I don't know if there's anything important here. > 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 > > -- Stephen Duncan Jr www.stephenduncanjr.com