<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array">
    <added>
      <filename>features/rubigen_cli.feature</filename>
    </added>
  </added>
  <modified type="array">
    <modified>
      <diff>@@ -31,8 +31,10 @@ app_generators/ruby_app/templates/Rakefile
 app_generators/ruby_app/templates/lib/module.rb
 app_generators/ruby_app/templates/test/test_helper.rb.erb
 bin/install_rubigen_scripts
+bin/rubigen
 bin/ruby_app
 features/development.feature
+features/help.feature
 features/steps/common.rb
 features/steps/env.rb
 generators/install_rubigen_scripts/install_rubigen_scripts_generator.rb
@@ -41,6 +43,7 @@ generators/install_rubigen_scripts/templates/script/generate
 generators/install_rubigen_scripts/templates/script/win_script.cmd
 lib/rubigen.rb
 lib/rubigen/base.rb
+lib/rubigen/cli.rb
 lib/rubigen/commands.rb
 lib/rubigen/generated_attribute.rb
 lib/rubigen/helpers/generator_test_helper.rb
@@ -94,6 +97,7 @@ test/test_generator_helper.rb
 test/test_helper.rb
 test/test_install_rubigen_scripts_generator.rb
 test/test_lookup.rb
+test/test_rubigen_cli.rb
 test_unit_generators/test_unit/USAGE
 test_unit_generators/test_unit/templates/test.rb
 test_unit_generators/test_unit/test_unit_generator.rb</diff>
      <filename>Manifest.txt</filename>
    </modified>
    <modified>
      <diff>@@ -7,4 +7,4 @@ require File.expand_path(File.dirname(__FILE__) + &quot;/../lib/rubigen&quot;)
 
 require &quot;rubigen/cli&quot;
 
-Rubigen::CLI.execute(STDOUT, ARGV)
+Rubigen::CLI.execute(STDOUT, ARGV, :destination =&gt; File.expand_path(&quot;.&quot;))</diff>
      <filename>bin/rubigen</filename>
    </modified>
    <modified>
      <diff>@@ -75,9 +75,10 @@ end
 
 When %r{run local executable '(.*)' with arguments '(.*)'} do |executable, arguments|
   @stdout = File.expand_path(File.join(@tmp_root, &quot;executable.out&quot;))
+  @stderr = File.expand_path(File.join(@tmp_root, &quot;executable.err&quot;))
   executable = File.expand_path(File.join(File.dirname(__FILE__), &quot;/../../bin&quot;, executable))
   in_project_folder do
-    system &quot;ruby #{executable} #{arguments} &gt; #{@stdout} 2&gt; #{@stdout}&quot;
+    system &quot;ruby #{executable} #{arguments} &gt; #{@stdout} 2&gt; #{@stderr}&quot;
   end
 end
 </diff>
      <filename>features/steps/common.rb</filename>
    </modified>
    <modified>
      <diff>@@ -4,18 +4,21 @@ module Rubigen
   class CLI
     attr_reader :stdout
     
-    def self.execute(stdout, arguments=[])
-      self.new.execute(stdout, arguments)
+    def self.execute(stdout, arguments, runtime_arguments = {})
+      self.new.execute(stdout, arguments, runtime_arguments)
     end
 
-    def execute(stdout, arguments=[])
+    def execute(stdout, arguments, runtime_arguments = {})
       @stdout = stdout
       main_usage and return unless scope = arguments.shift
       scopes = scope.split(&quot;,&quot;)
-      
+      runtime_arguments.merge!(:stdout =&gt; stdout, :no_exit =&gt; true, :backtrace =&gt; true)
+
+      RubiGen::Base.logger = RubiGen::SimpleLogger.new(stdout)
+
       require 'rubigen/scripts/generate'
       RubiGen::Base.use_component_sources!(scopes.map(&amp;:to_sym))
-      RubiGen::Scripts::Generate.new.run(arguments, :stdout =&gt; stdout, :no_exit =&gt; true)
+      RubiGen::Scripts::Generate.new.run(arguments, runtime_arguments)
     end
     
     def main_usage</diff>
      <filename>lib/rubigen/cli.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,8 +1,23 @@
-require File.join(File.dirname(__FILE__), &quot;test_helper.rb&quot;)
+require File.dirname(__FILE__) + &quot;/test_generator_helper&quot;
 require 'rubigen/cli'
 
 class TestRubigenCli &lt; Test::Unit::TestCase
+  include RubiGen::GeneratorTestHelper
   attr_reader :stdout
+
+  context &quot;run executable with scope 'rubygems'&quot; do
+    setup do
+      bare_setup
+      Rubigen::CLI.new.execute(@stdout_io = StringIO.new, 
+        %w[rubygems component_generator name scope], :backtrace =&gt; true)
+      @stdout_io.rewind
+      @stdout = @stdout_io.read
+    end
+
+    should &quot;create main generator manifest&quot; do
+      assert_file_exists(&quot;scope_generators/name/name_generator.rb&quot;)
+    end
+  end
   
   context &quot;run executable with scope 'rubygems'&quot; do
     setup do</diff>
      <filename>test/test_rubigen_cli.rb</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>f526a9483047a854d1c78851c81ea311c0438b0e</id>
    </parent>
  </parents>
  <author>
    <name>Dr Nic Williams</name>
    <email>drnicwilliams@gmail.com</email>
  </author>
  <url>http://github.com/drnic/rubigen/commit/a99e9ed17899fb338aa94e1ea9c63230242bdf1a</url>
  <id>a99e9ed17899fb338aa94e1ea9c63230242bdf1a</id>
  <committed-date>2008-12-26T19:45:45-08:00</committed-date>
  <authored-date>2008-12-26T19:45:45-08:00</authored-date>
  <message>rubigen CLI can run generators</message>
  <tree>a9a7d7136dd90ab6c4eb192b85260ea8e3749701</tree>
  <committer>
    <name>Dr Nic Williams</name>
    <email>drnicwilliams@gmail.com</email>
  </committer>
</commit>
