From f00b16803eb57e52e7267d2eff6d5b8211384158 Mon Sep 17 00:00:00 2001 From: Santanu Bhattachrya Date: Wed, 17 Sep 2025 18:22:20 +0530 Subject: [PATCH 1/4] fix: Fixing Gem.paths for Rails 7 --- lib/warbler/templates/bundler.erb | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/lib/warbler/templates/bundler.erb b/lib/warbler/templates/bundler.erb index e171eae5..1c440158 100644 --- a/lib/warbler/templates/bundler.erb +++ b/lib/warbler/templates/bundler.erb @@ -3,6 +3,14 @@ ENV['BUNDLE_WITHOUT'] = '<%= config.bundle_without.join(':') %>' ENV['BUNDLE_FROZEN'] = '1' <% end -%> +# Fix for JRuby 9.4+ and Rails 7+ gem path resolution +if defined?(Gem) && Gem.respond_to?(:paths=) + Gem.paths = { + 'GEM_HOME' => ENV['GEM_HOME'], + 'GEM_PATH' => ENV['GEM_PATH'] + } +end + module Bundler module Patch def clean_load_path From 41eda0d6c38e17c958a89498adc09544705d13aa Mon Sep 17 00:00:00 2001 From: Santanu Bhattachrya Date: Wed, 17 Sep 2025 18:56:36 +0530 Subject: [PATCH 2/4] Fix gem path resolution for JRuby 9.4+ and Rails 7+ - Add Gem.paths configuration in bundler.erb template - Resolves 'bundle install' errors when running WAR files - Ensures RubyGems finds bundled gems correctly in servlet containers --- lib/warbler/templates/bundler.erb | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/lib/warbler/templates/bundler.erb b/lib/warbler/templates/bundler.erb index 1c440158..59224a8b 100644 --- a/lib/warbler/templates/bundler.erb +++ b/lib/warbler/templates/bundler.erb @@ -4,7 +4,12 @@ ENV['BUNDLE_FROZEN'] = '1' <% end -%> # Fix for JRuby 9.4+ and Rails 7+ gem path resolution +puts "helooo" if defined?(Gem) && Gem.respond_to?(:paths=) + puts "setting gem paths" + puts ENV + puts Gem.paths + Gem.paths = { 'GEM_HOME' => ENV['GEM_HOME'], 'GEM_PATH' => ENV['GEM_PATH'] From c65e0b6d169dd7287a38a414cb4a42199bfb555f Mon Sep 17 00:00:00 2001 From: Santanu Bhattachrya Date: Thu, 18 Sep 2025 10:35:39 +0530 Subject: [PATCH 3/4] cleanup the puts debugger lines --- lib/warbler/templates/bundler.erb | 5 ----- 1 file changed, 5 deletions(-) diff --git a/lib/warbler/templates/bundler.erb b/lib/warbler/templates/bundler.erb index 59224a8b..1c440158 100644 --- a/lib/warbler/templates/bundler.erb +++ b/lib/warbler/templates/bundler.erb @@ -4,12 +4,7 @@ ENV['BUNDLE_FROZEN'] = '1' <% end -%> # Fix for JRuby 9.4+ and Rails 7+ gem path resolution -puts "helooo" if defined?(Gem) && Gem.respond_to?(:paths=) - puts "setting gem paths" - puts ENV - puts Gem.paths - Gem.paths = { 'GEM_HOME' => ENV['GEM_HOME'], 'GEM_PATH' => ENV['GEM_PATH'] From 587a7c46b8e589e8e812b76ccded042c75fc0358 Mon Sep 17 00:00:00 2001 From: Santanu Bhattachrya Date: Thu, 18 Sep 2025 12:43:29 +0530 Subject: [PATCH 4/4] Set GEM_PATH to nil for proper gem isolation --- lib/warbler/templates/bundler.erb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/warbler/templates/bundler.erb b/lib/warbler/templates/bundler.erb index 1c440158..167896b2 100644 --- a/lib/warbler/templates/bundler.erb +++ b/lib/warbler/templates/bundler.erb @@ -7,7 +7,7 @@ ENV['BUNDLE_FROZEN'] = '1' if defined?(Gem) && Gem.respond_to?(:paths=) Gem.paths = { 'GEM_HOME' => ENV['GEM_HOME'], - 'GEM_PATH' => ENV['GEM_PATH'] + 'GEM_PATH' => nil } end