Created
January 30, 2009 12:34
-
-
Save robmckinnon/55045 to your computer and use it in GitHub Desktop.
setups up a Rails git project and plugins using git submodules
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
if ARGV.empty? | |
puts 'usage: ruby setup_project.rb [project_name] [git_user]' | |
return | |
end | |
require 'fileutils' | |
project = ARGV[0] | |
git_user = ARGV.size > 1 ? ARGV[1] : 'default_user_name' | |
git_url = "git@github.com:#{git_user}/#{project}.git" | |
puts "cloning #{git_url}" | |
puts `git clone #{git_url}` | |
puts "entering #{project}" | |
Dir.chdir project | |
puts "make #{project}/vendor" | |
Dir.mkdir 'vendor' | |
puts "submodule edge rails" | |
puts `git submodule add git://github.com/rails/rails.git vendor/rails` | |
puts "commit edge rails" | |
puts `git commit -m 'imported edge rails as a submodule'` | |
puts "push edge rails" | |
puts `git push` | |
puts "make .gitignore" | |
File.open('.gitignore','w') do |file| | |
file.write "log/*.log\n" | |
file.write "tmp/**/*\n" | |
file.write "test\n" | |
file.write "config/database.yml\n" | |
file.write ".DS_Store\n" | |
file.write "doc\n" | |
end | |
puts "make rails project" | |
Dir.chdir('..') | |
puts `ruby #{project}/vendor/rails/railties/bin/rails #{project} -s` | |
Dir.chdir(project) | |
FileUtils.remove_dir('test', true) | |
FileUtils.cp('config/database.yml', 'config/database.yml.example') | |
puts "commit rails project" | |
puts `git add .` | |
puts `git commit -am 'generated project using edge rails'` | |
puts "push rails project" | |
puts `git push` | |
puts "import edge rspec, rspec_on_rails, haml, cucumber, resource_controller, and friendly_id as submodules" | |
puts `git submodule add git://github.com/nex3/haml.git vendor/plugins/haml` | |
puts `git submodule add git://github.com/dchelimsky/rspec-rails.git vendor/plugins/rspec_rails` | |
puts `git submodule add git://github.com/dchelimsky/rspec.git vendor/plugins/rspec` | |
puts `git submodule add git://github.com/giraffesoft/resource_controller.git vendor/plugins/resource_controller` | |
puts `git submodule add git://github.com/aslakhellesoy/cucumber.git vendor/plugins/cucumber` | |
puts `git submodule add git://github.com/brynary/webrat.git vendor/plugins/webrat` | |
puts `git submodule add git://github.com/norman/friendly_id.git vendor/plugins/friendly_id` | |
# `git submodule add git://github.com/dfischer/rspec-haml-scaffold-generator.git vendor/plugins/rspec_haml_scaffold_generator` | |
puts `ruby script/generate rspec` | |
puts `ruby script/generate friendly_id` | |
puts `git add .` | |
puts `git commit -am 'imported edge rspec, rspec_on_rails, haml, cucumber, resource_controller, and friendly_id as submodules'` | |
puts "push submodules" | |
puts `git push` |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment