Upgrading Rack
- Install local JRuby (match aspace version, currently: 9.2.12.0) and switch to it.
- Install Maven.
- Download jruby-rack.
git checkout 1.1-stable# install bundler version to match 1.1-stable Gemfile.lockgem install bundler --version=1.14.6
Should result in:
Fetching bundler-1.14.6.gemSuccessfully installed bundler-1.14.6Parsing documentation for bundler-1.14.6Installing ri documentation for bundler-1.14.6Done installing documentation for bundler after 5 seconds1 gem installed
Set environment to target rack version (the version being upgraded to):
export RACK_VERSION=2.2.3bundle
Should result in:
Fetching gem metadata from https://rubygems.org/.............Fetching version metadata from https://rubygems.org/..Resolving dependencies...Installing rake 10.4.2Using bundler 1.14.6Using diff-lcs 1.2.5Installing jruby-openssl 0.9.21 (java)Using rack 2.2.3 (was 1.6.8)Using rspec-core 2.14.8Using rspec-mocks 2.14.6Using appraisal 0.5.2Using rspec-expectations 2.14.5Using rspec 2.14.1Bundle complete! 5 Gemfile dependencies, 10 gems now installed.Use `bundle show [gemname]` to see where a bundled gem is installed.
This will have bumped the Rack version in Gemfile.lock:
diff --git a/Gemfile.lock b/Gemfile.lockindex 493c667..f016925 100644--- a/Gemfile.lock+++ b/Gemfile.lock@@ -6,7 +6,7 @@ GEM rake diff-lcs (1.2.5) jruby-openssl (0.9.21-java)- rack (1.6.8)+ rack (2.2.3) rake (10.4.2) rspec (2.14.1) rspec-core (~> 2.14.0)@@ -23,7 +23,7 @@ PLATFORMS DEPENDENCIES appraisal jruby-openssl (~> 0.9.20)- rack (~> 1.6.8)+ rack (= 2.2.3) rake (~> 10.4.2) rspec (~> 2.14.1)
Build the jruby-rack jar:
bundle exec jruby -S rake clean gem SKIP_SPECS=true
This creates target/jruby-rack-1.1.21.jar
with Rack 2.2.3.
Upload the jar to the public s3 bucket, specifying the rack version:
aws s3 cp target/jruby-rack-1.1.21.jar \ s3://as-public-shared-files/jruby-rack-1.1.21_rack-2.2.3.jar \ --profile archivesspace
Finally, update rack_version
in the aspace build.xml
file.