8000 Home · jrun/rstack Wiki · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content
jrun edited this page Sep 12, 2010 · 12 revisions

Why?

newgem and hoe work great for open source projects. newgem and hoe rightfully add lots of features that make the development and deployment of open-source projects easy. If you are writing an Open Source project you may be better off picking one of those two (or something else).

RStack is intended to be used for internal, closed-source projects. With the growing popularity of Ruby more companies are using it for internal development for projects that cannot be open sourced. RStack was started to meet the needs of one such company.

There are a couple of other differences. One being it strictly uses RSpec rather than test/unit or offering a choice between the two. The second difference is RStack automatically works with CruiseControl.rb. It does that by adding a cruise_config.rb configuration and by including a cruise task.

If you have ideas for future features feel free to add them to the Future Features section below.

Usage


rstack ninjas

Generated Files and Directories


jrun ~/tmp $ rstack ninjas
creating ninjas/lib/ninjas
creating ninjas/spec/shared
creating ninjas/spec
creating ninjas/bin
creating ninjas/lib
creating ninjas/lib
moving Rakefile to ninjas/Rakefile
moving README.txt to ninjas/README.txt
moving cruise_config.rb to ninjas/cruise_config.rb
moving main.rb to ninjas/lib/ninjas.rb
moving version.rb to ninjas/lib/ninjas/version.rb
moving spec_helper.rb to ninjas/spec/spec_helper.rb

Generated Rakefile


require 'rubygems'
require 'rstack'
require File.join(File.dirname(__FILE__), 'lib', 'ninjas', 'version')

RStack::Configuration.new 'ninjas' do |config|
  config.summary = '[ENTER A SUMMARY]'
  config.author = 'jrun'
  config.email = '[ENTER YOUR EMAIL]'
  config.url = '[ENTER A PROJECT URL]'
  config.version = Ninjas::Version::STRING
end

Available Tasks

jrun ~/tmp/ninjas $ rake -T
(in /Users/jrun/tmp/ninjas)
rake clobber_package                      # Remove package products
rake clobber_spec:with_coverage   # Remove rcov products for spec:with_coverage
rake gem                                         # Build the gem file ninjas-0.1.0.gem
rake package                                   # Build all the packages
rake repackage                               # Force a rebuild of the package files
rake spec                                        # Run specs
rake spec:with_coverage                # Run specs through RCov and generate HTML...

Future Features

Create a YAML Build Report

The next thing that will probably be added is build reporting, specially for Continuous Integration. That probably means extending Rake (while being as uninvasive as possible) to report task execution times and collect build artifacts. The end goal is to produce a YAML report detailing the build. The YAML report could then be used to do post-build processing.

This feature helps solve a particular use case while leaving room for additional use cases. The specific use case is a scenario where the build is run on one server while reporting is done on another. The YAML report is used after the build to write data to the appropriate place, in this case another server using web services.

RDoc

Use an alternative template for RDoc. It seems the two common alternatives to the default are jaxdoc or Allison.

0