diff --git a/.gitignore b/.gitignore index 0a39fca18..0433ae387 100644 --- a/.gitignore +++ b/.gitignore @@ -18,3 +18,5 @@ patches* /bin /jndi_test/jdbc/.bindings target +/test/fscontext.jar +/test/providerutil.jar diff --git a/.rvmrc b/.rvmrc old mode 100644 new mode 100755 index 8f08fac0a..fe368d3f8 --- a/.rvmrc +++ b/.rvmrc @@ -4,7 +4,7 @@ # development environment upon cd'ing into the directory # First we specify our desired [@], the @gemset name is optional. -environment_id="jruby-1.6.2@activerecord-jdbc-adapter" +environment_ids=("jruby-head@activerecord-jdbc-adapter" "jruby@activerecord-jdbc-adapter") # # First we attempt to load the desired environment directly from the environment @@ -12,22 +12,26 @@ environment_id="jruby-1.6.2@activerecord-jdbc-adapter" # CLI and selector. If you want feedback on which environment was used then # insert the word 'use' after --create as this triggers verbose mode. # -if [[ -d "${rvm_path:-$HOME/.rvm}/environments" \ - && -s "${rvm_path:-$HOME/.rvm}/environments/$environment_id" ]] -then - \. "${rvm_path:-$HOME/.rvm}/environments/$environment_id" +for environment_id in ${environment_ids[*]}; do + if [[ -d "${rvm_path:-$HOME/.rvm}/environments" \ + && -s "${rvm_path:-$HOME/.rvm}/environments/$environment_id" ]] + then + \. "${rvm_path:-$HOME/.rvm}/environments/$environment_id" - if [[ -s ".rvm/hooks/after_use" ]] - then - . ".rvm/hooks/after_use" - fi -else - # If the environment file has not yet been created, use the RVM CLI to select. - if ! rvm --create "$environment_id" - then - echo "Failed to create RVM environment 'jruby-1.6.2@activerecord-jdbc-adapter'." - fi + if [[ -s ".rvm/hooks/after_use" ]] + then + . ".rvm/hooks/after_use" + fi + chosen_environment=$environment_id + break + fi +done + +# If the environment file has not yet been created, use the RVM CLI to select. +if [ -z "$chosen_environment" ] && ! rvm --create ${environment_ids[1]}; then + echo "Failed to create RVM environment '${environment_ids[1]}'." fi +unset chosen_environment # # If you use an RVM gemset file to install a list of gems (*.gems), you can have diff --git a/Rakefile b/Rakefile index b9e0ee660..cd81ba423 100644 --- a/Rakefile +++ b/Rakefile @@ -12,6 +12,7 @@ task :build => :java_compile task :install => :java_compile ADAPTERS = %w[derby h2 hsqldb mssql mysql postgresql sqlite3].map {|a| "activerecord-jdbc#{a}-adapter" } +DRIVERS = %w[derby h2 hsqldb jtds mysql postgres sqlite3].map {|a| "jdbc-#{a}" } root = File.expand_path("..", __FILE__) version = File.read("#{root}/ARJDBC_VERSION").strip @@ -20,7 +21,7 @@ def rake(args) ruby "-S", "rake", *args end -ADAPTERS.each do |adapter| +(ADAPTERS + DRIVERS).each do |adapter| namespace adapter do task :build do @@ -47,12 +48,15 @@ end namespace :all do desc "Build all adapters" + task :build => "build" task :build => ADAPTERS.map { |f| "#{f}:build" } desc "Install all adapters" + task :install => "install" task :install => ADAPTERS.map { |f| "#{f}:install" } desc "Release all adapters" + task :release => "release" task :release => ADAPTERS.map { |f| "#{f}:release" } end diff --git a/drivers/derby/LICENSE.txt b/jdbc-derby/LICENSE.txt similarity index 100% rename from drivers/derby/LICENSE.txt rename to jdbc-derby/LICENSE.txt diff --git a/drivers/derby/README.txt b/jdbc-derby/README.txt similarity index 100% rename from drivers/derby/README.txt rename to jdbc-derby/README.txt diff --git a/jdbc-derby/Rakefile b/jdbc-derby/Rakefile new file mode 100644 index 000000000..14cfe0b57 --- /dev/null +++ b/jdbc-derby/Rakefile @@ -0,0 +1,2 @@ +require 'bundler' +Bundler::GemHelper.install_tasks diff --git a/jdbc-derby/jdbc-derby.gemspec b/jdbc-derby/jdbc-derby.gemspec new file mode 100644 index 000000000..69e6718de --- /dev/null +++ b/jdbc-derby/jdbc-derby.gemspec @@ -0,0 +1,25 @@ +# -*- encoding: utf-8 -*- + +$LOAD_PATH << File.expand_path('../lib', __FILE__) +require 'jdbc/derby' +version = Jdbc::Derby::VERSION +Gem::Specification.new do |s| + s.name = %q{jdbc-derby} + s.version = version + + s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version= + s.authors = ["Nick Sieger, Ola Bini and JRuby contributors"] + s.date = %q{2010-10-12} + + s.description = %q{Install this gem and require 'derby' within JRuby to load the driver.} + s.email = %q{nick@nicksieger.com, ola.bini@gmail.com} + s.files = [ + "Rakefile", "README.txt", "LICENSE.txt", + *Dir["lib/**/*"].to_a + ] + s.homepage = %q{http://jruby-extras.rubyforge.org/ActiveRecord-JDBC} + s.rdoc_options = ["--main", "README.txt"] + s.require_paths = ["lib"] + s.rubyforge_project = %q{jruby-extras} + s.summary = %q{Derby/JavaDB JDBC driver for Java and Derby/ActiveRecord-JDBC.} +end diff --git a/drivers/derby/lib/derby-10.6.2.1.jar b/jdbc-derby/lib/derby-10.6.2.1.jar similarity index 100% rename from drivers/derby/lib/derby-10.6.2.1.jar rename to jdbc-derby/lib/derby-10.6.2.1.jar diff --git a/drivers/derby/lib/jdbc/derby.rb b/jdbc-derby/lib/jdbc/derby.rb similarity index 100% rename from drivers/derby/lib/jdbc/derby.rb rename to jdbc-derby/lib/jdbc/derby.rb diff --git a/drivers/h2/History.txt b/jdbc-h2/History.txt similarity index 100% rename from drivers/h2/History.txt rename to jdbc-h2/History.txt diff --git a/drivers/h2/LICENSE.txt b/jdbc-h2/LICENSE.txt similarity index 100% rename from drivers/h2/LICENSE.txt rename to jdbc-h2/LICENSE.txt diff --git a/drivers/h2/README.txt b/jdbc-h2/README.txt similarity index 100% rename from drivers/h2/README.txt rename to jdbc-h2/README.txt diff --git a/jdbc-h2/Rakefile b/jdbc-h2/Rakefile new file mode 100644 index 000000000..14cfe0b57 --- /dev/null +++ b/jdbc-h2/Rakefile @@ -0,0 +1,2 @@ +require 'bundler' +Bundler::GemHelper.install_tasks diff --git a/jdbc-h2/jdbc-h2.gemspec b/jdbc-h2/jdbc-h2.gemspec new file mode 100644 index 000000000..c8733c2a8 --- /dev/null +++ b/jdbc-h2/jdbc-h2.gemspec @@ -0,0 +1,23 @@ +# -*- encoding: utf-8 -*- + +$LOAD_PATH << File.expand_path('../lib', __FILE__) +require 'jdbc/h2' +version = Jdbc::H2::VERSION +Gem::Specification.new do |s| + s.name = %q{jdbc-h2} + s.version = version + + s.authors = ["Nick Sieger, Ola Bini and JRuby contributors"] + s.date = %q{2011-06-19} + s.description = %q{Install this gem and require 'h2' within JRuby to load the driver.} + s.email = %q{nick@nicksieger.com, ola.bini@gmail.com} + s.files = [ + "Rakefile", "README.txt", "LICENSE.txt", + *Dir["lib/**/*"].to_a + ] + s.homepage = %q{http://jruby-extras.rubyforge.org/ActiveRecord-JDBC} + s.rdoc_options = ["--main", "README.txt"] + s.require_paths = ["lib"] + s.rubyforge_project = %q{jruby-extras} + s.summary = %q{H2 JDBC driver for Java and H2/ActiveRecord-JDBC.} +end diff --git a/drivers/h2/lib/h2-1.3.154.jar b/jdbc-h2/lib/h2-1.3.154.jar similarity index 100% rename from drivers/h2/lib/h2-1.3.154.jar rename to jdbc-h2/lib/h2-1.3.154.jar diff --git a/drivers/h2/lib/jdbc/h2.rb b/jdbc-h2/lib/jdbc/h2.rb similarity index 100% rename from drivers/h2/lib/jdbc/h2.rb rename to jdbc-h2/lib/jdbc/h2.rb diff --git a/drivers/hsqldb/History.txt b/jdbc-hsqldb/History.txt similarity index 100% rename from drivers/hsqldb/History.txt rename to jdbc-hsqldb/History.txt diff --git a/drivers/hsqldb/LICENSE.txt b/jdbc-hsqldb/LICENSE.txt similarity index 100% rename from drivers/hsqldb/LICENSE.txt rename to jdbc-hsqldb/LICENSE.txt diff --git a/drivers/hsqldb/README.txt b/jdbc-hsqldb/README.txt similarity index 100% rename from drivers/hsqldb/README.txt rename to jdbc-hsqldb/README.txt diff --git a/jdbc-hsqldb/Rakefile b/jdbc-hsqldb/Rakefile new file mode 100644 index 000000000..14cfe0b57 --- /dev/null +++ b/jdbc-hsqldb/Rakefile @@ -0,0 +1,2 @@ +require 'bundler' +Bundler::GemHelper.install_tasks diff --git a/jdbc-hsqldb/jdbc-hsqldb.gemspec b/jdbc-hsqldb/jdbc-hsqldb.gemspec new file mode 100644 index 000000000..93442697f --- /dev/null +++ b/jdbc-hsqldb/jdbc-hsqldb.gemspec @@ -0,0 +1,24 @@ +# -*- encoding: utf-8 -*- + +$LOAD_PATH << File.expand_path('../lib', __FILE__) +require 'jdbc/hsqldb' +version = Jdbc::HSQLDB::VERSION +Gem::Specification.new do |s| + s.name = %q{jdbc-hsqldb} + s.version = version + + s.authors = ["Nick Sieger, Ola Bini and JRuby contributors"] + s.date = %q{2010-09-15} + s.description = %q{Install this gem and require 'hsqldb' within JRuby to load the driver.} + s.email = %q{nick@nicksieger.com, ola.bini@gmail.com} + + s.files = [ + "Rakefile", "README.txt", "LICENSE.txt", + *Dir["lib/**/*"].to_a + ] + s.homepage = %q{http://jruby-extras.rubyforge.org/ActiveRecord-JDBC} + s.rdoc_options = ["--main", "README.txt"] + s.require_paths = ["lib"] + s.rubyforge_project = %q{jruby-extras} + s.summary = %q{HSQLDB JDBC driver for Java and HSQLDB/ActiveRecord-JDBC.} +end diff --git a/drivers/hsqldb/lib/hsqldb-1.8.1.3.jar b/jdbc-hsqldb/lib/hsqldb-1.8.1.3.jar similarity index 100% rename from drivers/hsqldb/lib/hsqldb-1.8.1.3.jar rename to jdbc-hsqldb/lib/hsqldb-1.8.1.3.jar diff --git a/drivers/hsqldb/lib/jdbc/hsqldb.rb b/jdbc-hsqldb/lib/jdbc/hsqldb.rb similarity index 100% rename from drivers/hsqldb/lib/jdbc/hsqldb.rb rename to jdbc-hsqldb/lib/jdbc/hsqldb.rb diff --git a/drivers/jtds/History.txt b/jdbc-jtds/History.txt similarity index 100% rename from drivers/jtds/History.txt rename to jdbc-jtds/History.txt diff --git a/drivers/jtds/LICENSE.txt b/jdbc-jtds/LICENSE.txt similarity index 100% rename from drivers/jtds/LICENSE.txt rename to jdbc-jtds/LICENSE.txt diff --git a/drivers/jtds/README.txt b/jdbc-jtds/README.txt similarity index 100% rename from drivers/jtds/README.txt rename to jdbc-jtds/README.txt diff --git a/jdbc-jtds/Rakefile b/jdbc-jtds/Rakefile new file mode 100644 index 000000000..14cfe0b57 --- /dev/null +++ b/jdbc-jtds/Rakefile @@ -0,0 +1,2 @@ +require 'bundler' +Bundler::GemHelper.install_tasks diff --git a/jdbc-jtds/jdbc-jtds.gemspec b/jdbc-jtds/jdbc-jtds.gemspec new file mode 100644 index 000000000..bd5998e2d --- /dev/null +++ b/jdbc-jtds/jdbc-jtds.gemspec @@ -0,0 +1,23 @@ +# -*- encoding: utf-8 -*- + +$LOAD_PATH << File.expand_path('../lib', __FILE__) +require 'jdbc/jtds' +version = Jdbc::JTDS::VERSION +Gem::Specification.new do |s| + s.name = %q{jdbc-jtds} + s.version = version + s.authors = ["Nick Sieger, Ola Bini and JRuby contributors"] + s.date = %q{2010-04-21} + s.description = %q{Install this gem and require 'jtds' within JRuby to load the driver.} + s.email = %q{nick@nicksieger.com, ola.bini@gmail.com} + + s.files = [ + "Rakefile", "README.txt", "LICENSE.txt", + *Dir["lib/**/*"].to_a + ] + + s.homepage = %q{http://jruby-extras.rubyforge.org/ActiveRecord-JDBC} + s.rdoc_options = ["--main", "README.txt"] + s.require_paths = ["lib"] + s.rubyforge_project = %q{jruby-extras} +end diff --git a/drivers/jtds/lib/jdbc/jtds.rb b/jdbc-jtds/lib/jdbc/jtds.rb similarity index 100% rename from drivers/jtds/lib/jdbc/jtds.rb rename to jdbc-jtds/lib/jdbc/jtds.rb diff --git a/drivers/jtds/lib/jtds-1.2.5.jar b/jdbc-jtds/lib/jtds-1.2.5.jar similarity index 100% rename from drivers/jtds/lib/jtds-1.2.5.jar rename to jdbc-jtds/lib/jtds-1.2.5.jar diff --git a/drivers/mysql/History.txt b/jdbc-mysql/History.txt similarity index 100% rename from drivers/mysql/History.txt rename to jdbc-mysql/History.txt diff --git a/drivers/mysql/LICENSE.txt b/jdbc-mysql/LICENSE.txt similarity index 100% rename from drivers/mysql/LICENSE.txt rename to jdbc-mysql/LICENSE.txt diff --git a/drivers/mysql/README.txt b/jdbc-mysql/README.txt similarity index 100% rename from drivers/mysql/README.txt rename to jdbc-mysql/README.txt diff --git a/jdbc-mysql/Rakefile b/jdbc-mysql/Rakefile new file mode 100644 index 000000000..14cfe0b57 --- /dev/null +++ b/jdbc-mysql/Rakefile @@ -0,0 +1,2 @@ +require 'bundler' +Bundler::GemHelper.install_tasks diff --git a/jdbc-mysql/jdbc-mysql.gemspec b/jdbc-mysql/jdbc-mysql.gemspec new file mode 100644 index 000000000..4ba32162a --- /dev/null +++ b/jdbc-mysql/jdbc-mysql.gemspec @@ -0,0 +1,24 @@ +# -*- encoding: utf-8 -*- + +$LOAD_PATH << File.expand_path('../lib', __FILE__) +require 'jdbc/mysql' +version = Jdbc::MySQL::VERSION +Gem::Specification.new do |s| + s.name = %q{jdbc-mysql} + s.version = version + + s.authors = ["Nick Sieger, Ola Bini and JRuby contributors"] + s.date = %q{2010-12-08} + s.description = %q{Install this gem and require 'mysql' within JRuby to load the driver.} + s.email = %q{nick@nicksieger.com, ola.bini@gmail.com} + + s.files = [ + "Rakefile", "README.txt", "LICENSE.txt", + *Dir["lib/**/*"].to_a + ] + s.homepage = %q{http://jruby-extras.rubyforge.org/ActiveRecord-JDBC} + s.rdoc_options = ["--main", "README.txt"] + s.require_paths = ["lib"] + s.rubyforge_project = %q{jruby-extras} + s.summary = %q{MySQL JDBC driver for Java and MySQL/ActiveRecord-JDBC.} +end diff --git a/drivers/mysql/lib/jdbc/mysql.rb b/jdbc-mysql/lib/jdbc/mysql.rb similarity index 100% rename from drivers/mysql/lib/jdbc/mysql.rb rename to jdbc-mysql/lib/jdbc/mysql.rb diff --git a/drivers/mysql/lib/mysql-connector-java-5.1.13.jar b/jdbc-mysql/lib/mysql-connector-java-5.1.13.jar similarity index 100% rename from drivers/mysql/lib/mysql-connector-java-5.1.13.jar rename to jdbc-mysql/lib/mysql-connector-java-5.1.13.jar diff --git a/drivers/postgres/History.txt b/jdbc-postgres/History.txt similarity index 100% rename from drivers/postgres/History.txt rename to jdbc-postgres/History.txt diff --git a/drivers/postgres/LICENSE.txt b/jdbc-postgres/LICENSE.txt similarity index 100% rename from drivers/postgres/LICENSE.txt rename to jdbc-postgres/LICENSE.txt diff --git a/drivers/postgres/README.txt b/jdbc-postgres/README.txt similarity index 100% rename from drivers/postgres/README.txt rename to jdbc-postgres/README.txt diff --git a/jdbc-postgres/Rakefile b/jdbc-postgres/Rakefile new file mode 100644 index 000000000..14cfe0b57 --- /dev/null +++ b/jdbc-postgres/Rakefile @@ -0,0 +1,2 @@ +require 'bundler' +Bundler::GemHelper.install_tasks diff --git a/jdbc-postgres/jdbc-postgres.gemspec b/jdbc-postgres/jdbc-postgres.gemspec new file mode 100644 index 000000000..7e159e940 --- /dev/null +++ b/jdbc-postgres/jdbc-postgres.gemspec @@ -0,0 +1,25 @@ +# -*- encoding: utf-8 -*- + +$LOAD_PATH << File.expand_path('../lib', __FILE__) +require 'jdbc/postgres +version = Jdbc::Postgres::VERSION +Gem::Specification.new do |s| + s.name = %q{jdbc-postgres} + s.version = version + + s.authors = ["Nick Sieger, Ola Bini and JRuby contributors"] + s.date = %q{2010-12-15} + s.description = %q{Install this gem and require 'postgres' within JRuby to load the driver.} + s.email = %q{nick@nicksieger.com, ola.bini@gmail.com} + + s.files = [ + "History.txt", "LICENSE.txt", "README.txt", "Rakefile", + *Dir["lib/**/*"].to_a + ] + + s.homepage = %q{http://jruby-extras.rubyforge.org/ActiveRecord-JDBC} + s.rdoc_options = ["--main", "README.txt"] + s.require_paths = ["lib"] + s.rubyforge_project = %q{jruby-extras} + s.summary = %q{PostgreSQL JDBC driver for Java and PostgreSQL/ActiveRecord-JDBC.} +end diff --git a/drivers/postgres/lib/jdbc/postgres.rb b/jdbc-postgres/lib/jdbc/postgres.rb similarity index 100% rename from drivers/postgres/lib/jdbc/postgres.rb rename to jdbc-postgres/lib/jdbc/postgres.rb diff --git a/drivers/postgres/lib/postgresql-9.0-801.jdbc3.jar b/jdbc-postgres/lib/postgresql-9.0-801.jdbc3.jar similarity index 100% rename from drivers/postgres/lib/postgresql-9.0-801.jdbc3.jar rename to jdbc-postgres/lib/postgresql-9.0-801.jdbc3.jar diff --git a/drivers/postgres/lib/postgresql-9.0-801.jdbc4.jar b/jdbc-postgres/lib/postgresql-9.0-801.jdbc4.jar similarity index 100% rename from drivers/postgres/lib/postgresql-9.0-801.jdbc4.jar rename to jdbc-postgres/lib/postgresql-9.0-801.jdbc4.jar diff --git a/drivers/sqlite3/LICENSE.txt b/jdbc-sqlite3/LICENSE.txt similarity index 100% rename from drivers/sqlite3/LICENSE.txt rename to jdbc-sqlite3/LICENSE.txt diff --git a/drivers/sqlite3/README.txt b/jdbc-sqlite3/README.txt similarity index 100% rename from drivers/sqlite3/README.txt rename to jdbc-sqlite3/README.txt diff --git a/jdbc-sqlite3/Rakefile b/jdbc-sqlite3/Rakefile new file mode 100644 index 000000000..14cfe0b57 --- /dev/null +++ b/jdbc-sqlite3/Rakefile @@ -0,0 +1,2 @@ +require 'bundler' +Bundler::GemHelper.install_tasks diff --git a/jdbc-sqlite3/jdbc-sqlite3.gemspec b/jdbc-sqlite3/jdbc-sqlite3.gemspec new file mode 100644 index 000000000..5cd7bbd20 --- /dev/null +++ b/jdbc-sqlite3/jdbc-sqlite3.gemspec @@ -0,0 +1,25 @@ +# -*- encoding: utf-8 -*- + +$LOAD_PATH << File.expand_path('../lib', __FILE__) +require 'jdbc/sqlite3' +version = Jdbc::Sqlite3::VERSION +Gem::Specification.new do |s| + s.name = %q{jdbc-sqlite3} + s.version = version + + s.authors = ["Nick Sieger, Ola Bini and JRuby contributors"] + s.date = %q{2011-06-16} + s.description = %q{Install this gem and require 'sqlite3' within JRuby to load the driver.} + s.email = %q{nick@nicksieger.com, ola.bini@gmail.com} + + s.files = [ + "Rakefile", "README.txt", "LICENSE.txt", + *Dir["lib/**/*"].to_a + ] + + s.homepage = %q{http://jruby-extras.rubyforge.org/ActiveRecord-JDBC} + s.rdoc_options = ["--main", "README.txt"] + s.require_paths = ["lib"] + s.rubyforge_project = %q{jruby-extras} + s.summary = %q{SQLite3 JDBC driver for Java and SQLite3/ActiveRecord-JDBC.} +end diff --git a/drivers/sqlite3/lib/jdbc/sqlite3.rb b/jdbc-sqlite3/lib/jdbc/sqlite3.rb similarity index 100% rename from drivers/sqlite3/lib/jdbc/sqlite3.rb rename to jdbc-sqlite3/lib/jdbc/sqlite3.rb diff --git a/drivers/sqlite3/lib/sqlite-jdbc-3.7.2.jar b/jdbc-sqlite3/lib/sqlite-jdbc-3.7.2.jar similarity index 100% rename from drivers/sqlite3/lib/sqlite-jdbc-3.7.2.jar rename to jdbc-sqlite3/lib/sqlite-jdbc-3.7.2.jar