-
Couldn't load subscription status.
- Fork 387
Releases
This page documents the process for creating new activerecord-jdbc-adapter
releases.
The project includes source and gem specifications for a number of gems.
The main gem, activerecord-jdbc-adapter, includes all the code for every
database adapter. The activerecord-jdbcDB-adapter sub-gems mainly exist as
meta-gems to pull in the driver dependencies where available. For example,
activerecord-jdbcmysql-adapter depends on activerecord-jdbc-adapter as well
as jdbc-mysql.
- activerecord-jdbc-adapter
- activerecord-jdbcderby-adapter
- activerecord-jdbch2-adapter
- activerecord-jdbchsqldb-adapter
- activerecord-jdbcmssql-adapter
- activerecord-jdbcmysql-adapter
- activerecord-jdbcpostgresql-adapter
- activerecord-jdbcsqlite3-adapter
- jdbc-derby
- jdbc-h2
- jdbc-hsqldb
- jdbc-jtds
- jdbc-mysql
- jdbc-postgres
- jdbc-sqlite3
The jdbc-* gems contain only the JDBC driver jar files. The
activerecord-jdbc*-adapter gems are the actual gems used to connect Rails to a
JDBC database within JRuby.
A normal release of AR-JDBC will only push gems for the
activerecord-jdbc*-adapter gems. The dependencies to JDBC driver gems are
defined loosely (with the "spermy" ~> operator) so that driver gems can be
released independently.
Individual driver gems are versioned with the same version as the upstream JDBC driver jar file (or similar, to make the version conform to Rubygem number-only release version standards).
Usually a new driver release will involve commits that add the new drivers,
remove the old ones, and update the version in lib/jdbc/<driver>.rb.
Once the files are in place, you can build the driver with the
jdbc-<driver>:build task:
$ rake jdbc-derby:build
jdbc-derby 10.6.2.1 built to pkg/jdbc-derby-10.6.2.1.gem
cp jdbc-derby/pkg/jdbc-derby-10.6.2.1.gem pkg
And you can release a driver with the jdbc-<driver>:release task which will
build and push the gem to rubygems.org.
- Update the new driver jar files.
- Remove the old driver jar files.
- Update the version in
jdbc-<driver>/lib/jdbc/<driver>.rb.. - Release the driver with
rake jdbc-<driver>:release.
Unlike drivers, adapters are released all at once. The adapters:build task builds
the adapter gems, while the adapters:release task builds, tags the git repository,
and pushes the gems to rubygems.org.
- Make sure tests run, check Travis build results, and ensure that as many test suites pass as possible.
- Update the
lib/arjdbc/version.rbwith the new version. - Run
rake adapters:buildto make sure you can build gems of all adapters. - Ensure there are no uncommitted files!
- Ensure there is no
v<version>tag! (adapters:releasewill create it for you.) - Run
rake adapters:releaseto re-build gems, tag, and push to rubygems.org.