Skip to content

Commit

Permalink
Merge branch 'master' of github.com:soundcloud/large-hadron-migrator
Browse files Browse the repository at this point in the history
  • Loading branch information
Rany Keddo committed May 4, 2011
2 parents 96bbc94 + ddee520 commit b1f90ad
Show file tree
Hide file tree
Showing 5 changed files with 36 additions and 147 deletions.
5 changes: 5 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
*.gem
.bundle
Gemfile.lock
pkg/*
.rvmrc
7 changes: 1 addition & 6 deletions Gemfile
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
12 changes: 10 additions & 2 deletions Gemfile.lock
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)
97 changes: 3 additions & 94 deletions Rakefile
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
62 changes: 17 additions & 45 deletions large-hadron-migrator.gemspec
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

0 comments on commit b1f90ad

Please sign in to comment.