-
Notifications
You must be signed in to change notification settings - Fork 189
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'master' of github.com:soundcloud/large-hadron-migrator
- Loading branch information
Showing
5 changed files
with
36 additions
and
147 deletions.
There are no files selected for viewing
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
*.gem | ||
.bundle | ||
Gemfile.lock | ||
pkg/* | ||
.rvmrc |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,8 +1,3 @@ | ||
|
||
source "http://rubygems.org" | ||
|
||
group :test do | ||
gem 'activerecord', '~> 2.3.8' | ||
gem 'activesupport', '~> 2.3.8' | ||
gem 'rspec', '= 1.3.1' | ||
end | ||
gemspec |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,15 +1,23 @@ | ||
PATH | ||
remote: . | ||
specs: | ||
large-hadron-migrator (0.1.0) | ||
activerecord (~> 2.3.8) | ||
activesupport (~> 2.3.8) | ||
mysql (= 2.8.1) | ||
|
||
GEM | ||
remote: http://rubygems.org/ | ||
specs: | ||
activerecord (2.3.11) | ||
activesupport (= 2.3.11) | ||
activesupport (2.3.11) | ||
mysql (2.8.1) | ||
rspec (1.3.1) | ||
|
||
PLATFORMS | ||
ruby | ||
|
||
DEPENDENCIES | ||
activerecord (~> 2.3.8) | ||
activesupport (~> 2.3.8) | ||
large-hadron-migrator! | ||
rspec (= 1.3.1) |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,96 +1,5 @@ | ||
require 'rake' | ||
|
||
############################################################################# | ||
# | ||
# Helper functions | ||
# | ||
############################################################################# | ||
|
||
def name | ||
@name ||= Dir['*.gemspec'].first.split('.').first | ||
end | ||
|
||
def gemspec_file | ||
"#{name}.gemspec" | ||
end | ||
|
||
def gemspec | ||
@gemspec ||= eval(IO.read(gemspec_file)) | ||
end | ||
|
||
def gem_file | ||
gemspec.file_name | ||
end | ||
|
||
############################################################################# | ||
# | ||
# Standard tasks | ||
# | ||
############################################################################# | ||
|
||
begin | ||
require 'jeweler' | ||
Jeweler::Tasks.new do |gem| | ||
gem.name = "large_hadron_migration" | ||
gem.summary = %Q{online schema changer for mysql} | ||
gem.description = %Q{Migrate large tables without downtime by copying to a temporary table in chunks. The old table is not dropped. Instead, it is moved to timestamp_table_name for verification.} | ||
gem.email = "rany@soundcloud.com, tobi@soundcloud.com" | ||
gem.homepage = "http://github.com/soundcloud/large_hadron_migration" | ||
gem.authors = ["SoundCloud", "Rany Keddo", "Tobias Bielohlawek"] | ||
gem.add_development_dependency "activerecord", "= 2.3.5" | ||
gem.add_development_dependency "activesupport", "= 2.3.5" | ||
gem.add_development_dependency "rspec", "= 1.3.0" | ||
# gem is a Gem::Specification... see http://www.rubygems.org/read/chapter/20 for additional settings | ||
end | ||
#Jeweler::GemcutterTasks.new | ||
rescue LoadError | ||
puts "Jeweler (or a dependency) not available. Install it with: gem install jeweler" | ||
end | ||
require 'bundler' | ||
Bundler::GemHelper.install_tasks | ||
|
||
require 'spec/rake/spectask' | ||
Spec::Rake::SpecTask.new(:spec) do |spec| | ||
spec.libs << 'lib' << 'spec' | ||
spec.spec_files = FileList['spec/**/*_spec.rb'] | ||
end | ||
|
||
Spec::Rake::SpecTask.new(:rcov) do |spec| | ||
spec.libs << 'lib' << 'spec' | ||
spec.pattern = 'spec/**/*_spec.rb' | ||
spec.rcov = true | ||
end | ||
|
||
#task :spec => :check_dependencies | ||
|
||
task :default => :spec | ||
|
||
require 'rake/rdoctask' | ||
Rake::RDocTask.new do |rdoc| | ||
version = File.exist?('VERSION') ? File.read('VERSION') : "" | ||
|
||
rdoc.rdoc_dir = 'rdoc' | ||
rdoc.title = "large_hadron_migration #{version}" | ||
rdoc.rdoc_files.include('README*') | ||
rdoc.rdoc_files.include('lib/**/*.rb') | ||
end | ||
|
||
desc "Deploys the builded gem to the soundcloud gem repository: gems.soundcloud.com" | ||
task :release => :build do | ||
remote_gem_host = 'soundcloud@gems.int.s-cloud.net' | ||
remote_gem_path = '/srv/www/gems' | ||
Dir.chdir File.dirname(__FILE__) | ||
unless `git branch` =~ /^\* master$/ | ||
puts "You must be on the master branch to release!" | ||
exit! | ||
end | ||
if `git fetch --tags && git tag`.split(/\n/).include?(gem_file) | ||
raise "Version #{gem_file} already deployed" | ||
end | ||
sh <<-END | ||
git commit -a --allow-empty -m 'Release #{gem_file}' | ||
git tag -a #{gem_file} -m 'Version #{gem_file}' | ||
git push origin master | ||
git push origin --tags | ||
scp pkg/#{gem_file} #{remote_gem_host}:#{remote_gem_path}/gems && \ | ||
ssh #{remote_gem_host} 'gem generate_index -d #{remote_gem_path}' | ||
END | ||
end | ||
Spec::Rake::SpecTask.new |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,52 +1,24 @@ | ||
# Generated by jeweler | ||
# DO NOT EDIT THIS FILE DIRECTLY | ||
# Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec' | ||
# -*- encoding: utf-8 -*- | ||
|
||
Gem::Specification.new do |s| | ||
s.name = %q{ Large Hadron Migrator } | ||
s.version = "0.1.0" | ||
|
||
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version= | ||
s.authors = ["SoundCloud", "Rany Keddo", "Tobias Bielohlawek"] | ||
s.date = %q{2011-03-03} | ||
s.description = %q{Migrate large tables without downtime by copying to a temporary table in chunks. The old table is not dropped. Instead, it is moved to timestamp_table_name for verification.} | ||
s.email = %q{rany@soundcloud.com, tobi@soundcloud.com} | ||
s.files = [ | ||
".gitignore", | ||
"Gemfile", | ||
"LICENSE", | ||
"README.rdoc", | ||
"Rakefile", | ||
"VERSION", | ||
"large-hadron-migrator.gemspec", | ||
"lib/large_hadron_migration.rb", | ||
"spec/large_hadron_migration_spec.rb", | ||
"spec/migrate/add_new_column.rb", | ||
"spec/spec_helper.rb" | ||
] | ||
s.homepage = %q{http://github.com/soundcloud/large-hadron-migrator} | ||
s.name = "large-hadron-migrator" | ||
s.version = "0.1.0" | ||
s.platform = Gem::Platform::RUBY | ||
s.authors = ["SoundCloud", "Rany Keddo", "Tobias Bielohlawek"] | ||
s.email = %q{rany@soundcloud.com, tobi@soundcloud.com} | ||
s.summary = %q{online schema changer for mysql} | ||
s.description = %q{Migrate large tables without downtime by copying to a temporary table in chunks. The old table is not dropped. Instead, it is moved to timestamp_table_name for verification.} | ||
s.homepage = %q{http://github.com/soundcloud/large-hadron-migrator} | ||
s.files = `git ls-files`.split("\n") | ||
s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n") | ||
s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) } | ||
s.require_paths = ["lib"] | ||
s.rubygems_version = %q{1.3.7} | ||
s.summary = %q{online schema changer for mysql} | ||
|
||
if s.respond_to? :specification_version then | ||
current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION | ||
s.specification_version = 3 | ||
|
||
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then | ||
s.add_development_dependency(%q<activerecord>, ["= 2.3.5"]) | ||
s.add_development_dependency(%q<activesupport>, ["= 2.3.5"]) | ||
s.add_development_dependency(%q<rspec>, ["= 1.3.0"]) | ||
else | ||
s.add_dependency(%q<activerecord>, ["= 2.3.5"]) | ||
s.add_dependency(%q<activesupport>, ["= 2.3.5"]) | ||
s.add_dependency(%q<rspec>, ["= 1.3.0"]) | ||
end | ||
else | ||
s.add_dependency(%q<activerecord>, ["= 2.3.5"]) | ||
s.add_dependency(%q<activesupport>, ["= 2.3.5"]) | ||
s.add_dependency(%q<rspec>, ["= 1.3.0"]) | ||
['activerecord ~>2.3.8', 'activesupport ~>2.3.8', 'mysql =2.8.1'].each do |gem| | ||
s.add_dependency *gem.split(' ') | ||
end | ||
end | ||
|
||
['rspec =1.3.1'].each do |gem| | ||
s.add_development_dependency *gem.split(' ') | ||
end | ||
end |