Skip to content

Commit 7d27502

Browse files
committed
review tasks - add a **release:do** for convenience
1 parent ecb13c2 commit 7d27502

File tree

1 file changed

+25
-20
lines changed

1 file changed

+25
-20
lines changed

Rakefile

Lines changed: 25 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -20,21 +20,19 @@ ADAPTERS = %w[derby h2 hsqldb mssql mysql postgresql sqlite3].map { |a| "activer
2020
DRIVERS = %w[derby h2 hsqldb jtds mysql postgres sqlite3].map { |a| "jdbc-#{a}" }
2121
TARGETS = ( ADAPTERS + DRIVERS )
2222

23-
def rake(*args)
24-
ruby "-S", "rake", *args
25-
end
23+
rake = lambda { |task| ruby "-S", "rake", task }
2624

2725
TARGETS.each do |target|
2826
namespace target do
2927
task :build do
30-
Dir.chdir(target) { rake "build" }
28+
Dir.chdir(target) { rake.call "build" }
3129
cp FileList["#{target}/pkg/#{target}-*.gem"], "pkg"
3230
end
3331
task :install do
34-
Dir.chdir(target) { rake "install" }
32+
Dir.chdir(target) { rake.call "install" }
3533
end
3634
task :release do
37-
Dir.chdir(target) { rake "release" }
35+
Dir.chdir(target) { rake.call "release" }
3836
end
3937
end
4038
end
@@ -43,37 +41,44 @@ end
4341

4442
desc "Build drivers"
4543
task "build:drivers" => DRIVERS.map { |name| "#{name}:build" }
46-
task "drivers:build" => DRIVERS.map { |name| "#{name}:build" }
44+
task "drivers:build" => 'build:drivers'
4745

4846
desc "Install drivers"
4947
task "install:drivers" => DRIVERS.map { |name| "#{name}:install" }
50-
task "drivers:install" => DRIVERS.map { |name| "#{name}:install" }
48+
task "drivers:install" => 'install:drivers'
5149

52-
desc "Release drivers"
53-
task "release:drivers" => DRIVERS.map { |name| "#{name}:release" }
54-
task "drivers:release" => DRIVERS.map { |name| "#{name}:release" }
50+
# desc "Release drivers"
51+
# task "release:drivers" => DRIVERS.map { |name| "#{name}:release" }
52+
# task "drivers:release" => DRIVERS.map { |name| "#{name}:release" }
5553

5654
# ADAPTERS
5755

5856
desc "Build adapters"
5957
task "build:adapters" => [ 'build' ] + ADAPTERS.map { |name| "#{name}:build" }
60-
task "adapters:build" => [ 'build' ] + ADAPTERS.map { |name| "#{name}:build" }
58+
task "adapters:build" => 'build:adapters'
6159

6260
desc "Install adapters"
6361
task "install:adapters" => [ 'install' ] + ADAPTERS.map { |name| "#{name}:install" }
64-
task "adapters:install" => [ 'install' ] + ADAPTERS.map { |name| "#{name}:install" }
62+
task "adapters:install" => 'install:adapters'
6563

6664
desc "Release adapters"
6765
task "release:adapters" => [ 'release' ] + ADAPTERS.map { |name| "#{name}:release" }
68-
task "adapters:release" => [ 'release' ] + ADAPTERS.map { |name| "#{name}:release" }
66+
task "adapters:release" => 'release:adapters'
67+
68+
task 'release:do' => 'build:adapters' do
69+
gemspec = Bundler.load_gemspec('activerecord-jdbc-adapter.gemspec')
70+
version = gemspec.version; version_tag = "v#{version}"
71+
72+
sh("git diff --no-patch --exit-code") { |ok| fail "git working dir is not clean" unless ok }
73+
sh("git diff-index --quiet --cached HEAD") { |ok| fail "git index is not clean" unless ok }
74+
75+
sh "git tag -a -m \"AR-JDBC #{version}\" #{version_tag}"
76+
sh "for gem in `ls pkg/*-#{version}.gem`; do gem push $gem; done"
77+
end
6978

7079
# ALL
7180

7281
task "build:all" => [ 'build' ] + TARGETS.map { |name| "#{name}:build" }
73-
task "all:build" => [ 'build' ] + TARGETS.map { |name| "#{name}:build" }
82+
task "all:build" => 'build:all'
7483
task "install:all" => [ 'install' ] + TARGETS.map { |name| "#{name}:install" }
75-
task "all:install" => [ 'install' ] + TARGETS.map { |name| "#{name}:install" }
76-
77-
task :filelist do
78-
puts FileList['pkg/**/*'].inspect
79-
end
84+
task "all:install" => 'install:all'

0 commit comments

Comments
 (0)