@@ -20,21 +20,19 @@ ADAPTERS = %w[derby h2 hsqldb mssql mysql postgresql sqlite3].map { |a| "activer
2020DRIVERS = %w[ derby h2 hsqldb jtds mysql postgres sqlite3 ] . map { |a | "jdbc-#{ a } " }
2121TARGETS = ( ADAPTERS + DRIVERS )
2222
23- def rake ( *args )
24- ruby "-S" , "rake" , *args
25- end
23+ rake = lambda { |task | ruby "-S" , "rake" , task }
2624
2725TARGETS . 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
4038end
4341
4442desc "Build drivers"
4543task "build:drivers" => DRIVERS . map { |name | "#{ name } :build" }
46- task "drivers:build" => DRIVERS . map { | name | " #{ name } : build" }
44+ task "drivers:build" => ' build:drivers'
4745
4846desc "Install drivers"
4947task "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
5856desc "Build adapters"
5957task "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
6260desc "Install adapters"
6361task "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
6664desc "Release adapters"
6765task "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
7281task "build:all" => [ 'build' ] + TARGETS . map { |name | "#{ name } :build" }
73- task "all:build" => [ 'build' ] + TARGETS . map { | name | " #{ name } :build" }
82+ task "all:build" => 'build:all'
7483task "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