warbler 2.1.0 → 2.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 654aeb31bfaf47861744ade9017e48bc448eae6925aa63068d2d0078f22df415
4
- data.tar.gz: 05e1441e228642e09368c8d9700088e4f150eb6fbe917e67f20aac6f6a53d39c
3
+ metadata.gz: b68e1cba9a7e9e892eb9f5950fe177c07a7bba4f349813e7bb9b18e82ad9bbcc
4
+ data.tar.gz: b0ed237291f26d1a79204499007d1527a97899214672474ef7cacd0aeb8591c4
5
5
  SHA512:
6
- metadata.gz: 3394f5ed88207814bfa6286c75f7d18e2796b541dae0adc35b061bee56b5ae704990ebeb4551b43404f5966b07ee393149b145885fee507eb5bef962a439ba32
7
- data.tar.gz: 736165aadf9d3a4005a0c9317adc8227ca68f9980b5cb46f10cf3842ec440e70252ab15f1d24906d6b8b6dd1b2fb7fe49c7c4fdc40786a3ef9c3182ef69a74b1
6
+ metadata.gz: 577dc3b4f393e6f4891e42806efdd64ab3ce8d3d222ff6b8ba6994a5f9376461ebcde493433d8875468cfacd8b63ec9fd058d26d8e6672e54458aa4120420e47
7
+ data.tar.gz: d6a263d75de2a1f2f179751face07f9b922002a7bcaa7b0534289a2188067e52ac8131fd814014421008912cb183d3afb120a6d51566072c3c737a4ed90b05b4
@@ -1,6 +1,16 @@
1
- == Unreleased
1
+ ## 2.1.1
2
2
 
3
- == 2.1.0
3
+ - #624, #635, #623: fix: ensure compatibility with JRuby 10.1
4
+ - #583: fix: Create config dir if it's missing for simpler usage
5
+ - #588: fix: NullPointerException during shutdown with executable war files
6
+ - #589: fix: Jetty wars don't have console logging enabled by default
7
+ - #617: fix: correct ability to configure/override/force specific traits via Config.new(forced_traits: [...])
8
+ - #591: chore: clean up obsolete & deprecated code from 2.0.x and old Bundler versions
9
+ - #592: chore: relax rubyzip requirement to allow rubyzip 2.x
10
+ - #593: chore: relax jruby-rack requirement to allow compatibility with upcoming 1.3.x
11
+ - #634: chore: deprecate JBundler trait for removal
12
+
13
+ ## 2.1.0
4
14
 
5
15
  Requires JRuby >= 9.4 due to needing Ruby 3.0+ compatibility.
6
16
 
@@ -17,38 +27,38 @@ Requires JRuby >= 9.4 due to needing Ruby 3.0+ compatibility.
17
27
  - #575: Fix Gem path issues on JRuby 9.4.x
18
28
  - #574: Bump default Jetty version for executables to 9.4.58.v20250814
19
29
 
20
- == 2.0.5
30
+ ## 2.0.5
21
31
 
22
32
  - #427: Check Java properties when looking up RAILS_ENV
23
33
  - #424: Rails Webpacker support
24
34
  - #397: Avoid warnings under JRuby 9K
25
35
 
26
- == 2.0.4
36
+ ## 2.0.4
27
37
 
28
38
  - fix: an instance variable name typo (@servlet_context_listeners)
29
39
  - #383: add bundler monkey patch
30
40
 
31
- == 2.0.3
41
+ ## 2.0.3
32
42
 
33
43
  - Remove test_files from gemspec to save 700k
34
44
 
35
- == 2.0.2
45
+ ## 2.0.2
36
46
 
37
47
  - #380: exclude spec/integration/rakelib and dot-files being packed into .gem
38
48
  - #379: 2.0.1 regression due forcing GEM_PATH = GEM_HOME
39
49
 
40
- == 2.0.1
50
+ ## 2.0.1
41
51
 
42
52
  - #367: avoid duplicate .jar copies in WEB-INF/lib
43
53
  - #364: support for compiling .rb files using jrubyc with options
44
54
  - #362: limit rubyzip version to not match too far
45
55
  - #363: [backport] support for running with (recent) rubyzip 1.2.0
46
56
 
47
- == 2.0.0
57
+ ## 2.0.0
48
58
 
49
59
  - Initial release with 9k support
50
60
 
51
- == 1.4.9
61
+ ## 1.4.9
52
62
 
53
63
  - Fixed a bug in detecting default PORT for executable WAR
54
64
  - #332: Warbler not picking up new Bundler convention of 'exe' directory for executables
@@ -56,11 +66,11 @@ Requires JRuby >= 9.4 due to needing Ruby 3.0+ compatibility.
56
66
  - Added the ability to set custom port for Jetty launcher with
57
67
  warbler.port or PORT env var
58
68
 
59
- == 1.4.7
69
+ ## 1.4.7
60
70
 
61
71
  - #319: Adds capacity to use the jruby-jars gem version for JRuby 9k.
62
72
 
63
- == 1.4.6
73
+ ## 1.4.6
64
74
  - #318: polish *scripts/rails* - require_relative should no longer be used
65
75
  - #315: Removed custom Jetty launcher in favor of jetty-runner
66
76
  - #316: Sprockets manifest name change
@@ -68,7 +78,7 @@ Requires JRuby >= 9.4 due to needing Ruby 3.0+ compatibility.
68
78
  - #311: Don't clear the environment if a java executable is found
69
79
  - #268: Compile's clearing of ENV vars makes it impossible to use custom compile vars
70
80
 
71
- == 1.4.5
81
+ ## 1.4.5
72
82
  - #282: Wrong default GEM_HOME in generated META-INF/init.rb
73
83
  - #305: warbler.rb: Document jar_extension, autodeploy_dir options
74
84
  - #304: enable ENV['RACK_ENV'] to honor command line environment variable
@@ -76,7 +86,7 @@ Requires JRuby >= 9.4 due to needing Ruby 3.0+ compatibility.
76
86
  - #291: Include most current gem version in README
77
87
  - #280: config.webserver = 'jetty' (by default)
78
88
 
79
- == 1.4.4
89
+ ## 1.4.4
80
90
  - #271: LoadError while excute rake command with runnable .war archive
81
91
  - #273: filtering support with `config.move_jars_to_webinf_lib`
82
92
  - #270: don't swallow compiler errors with backticks
@@ -87,7 +97,7 @@ Requires JRuby >= 9.4 due to needing Ruby 3.0+ compatibility.
87
97
  - #275: for jruby-1.7.13 we do not want to force load bouncy-castle jars
88
98
  - #276: unnecessary rubyzip dependency on "< 1.1"
89
99
 
90
- == 1.4.3
100
+ ## 1.4.3
91
101
  - Fixed a bug w/ symlinks that was introduced around jruby-1.7.10
92
102
  - #258: Bytecode version option for compiled class files
93
103
  - #259: Update README.rdoc to not require warbler in Gemfile
@@ -95,7 +105,7 @@ Requires JRuby >= 9.4 due to needing Ruby 3.0+ compatibility.
95
105
  - #167: Excluding rb and class files when using compiled flag
96
106
  - #254: Fixes #167 by excluding config.excludes from compiled files
97
107
 
98
- == 1.4.2
108
+ ## 1.4.2
99
109
  - #241: jars from jruby.jar itself do not get copied over to WEB-INF/lib
100
110
  - #199: javascript_include_tag and stylesheet_link_tag not generating digestions
101
111
  - #247: better support for Rails 4 asset pipeline
@@ -103,7 +113,7 @@ Requires JRuby >= 9.4 due to needing Ruby 3.0+ compatibility.
103
113
  - #243: Added the move_jars_to_webinf_lib method back in...
104
114
  - #249: Warbler 1.4.1 fails to compile on Windows
105
115
 
106
- == 1.4.1
116
+ ## 1.4.1
107
117
  - Support for JBundler
108
118
  - #165: Problem with bundler git gems
109
119
  - #239: Supresses a warning when using bundler
@@ -111,7 +121,7 @@ Requires JRuby >= 9.4 due to needing Ruby 3.0+ compatibility.
111
121
  - #220: For Rack-only apps, WEB-INF should be added to $LOAD_PATH
112
122
  - #218: Invoke jrubyc using system to ensure that STDERR from jrubyc is shown
113
123
 
114
- == 1.4.0
124
+ ## 1.4.0
115
125
 
116
126
  - Support for Rails 4.x
117
127
  - Improved runnable so `rails` command works w/o script dir
@@ -130,14 +140,14 @@ Requires JRuby >= 9.4 due to needing Ruby 3.0+ compatibility.
130
140
  - #204: Reset RubyGems gemspec cache between tests
131
141
  - #203: Test ordering issue when running with RubyGems 2.1.9
132
142
 
133
- == 1.3.8
143
+ ## 1.3.8
134
144
 
135
145
  - Numerous fixes related to -S option and local environment.
136
146
  - #162: Close the URLClassLoader before deleting tempJARs
137
147
  - #161: Comment out config.dirs to match default
138
148
  - #158: Warbler looking in the wrong directory for bundler gem
139
149
 
140
- == 1.3.7
150
+ ## 1.3.7
141
151
 
142
152
  - #154: Use #load in .rb shims
143
153
  - #153: Runnable war error
@@ -155,18 +165,18 @@ Requires JRuby >= 9.4 due to needing Ruby 3.0+ compatibility.
155
165
  - #105: Pick executables deterministically and warn when doing so
156
166
  - #104: Default executable is system-dependent
157
167
 
158
- == 1.3.6
168
+ ## 1.3.6
159
169
 
160
170
  - #100: fix winstone URL
161
171
 
162
- == 1.3.5
172
+ ## 1.3.5
163
173
 
164
174
  - Add config.webserver to give choices for which lightweight Java
165
175
  webserver is used in an executable war.
166
176
  - Add jenkins-ci.winstone and jetty as embeddable servers
167
177
  - #76, #81: fix rubyzip "can't modify frozen string" issue
168
178
 
169
- == 1.3.4
179
+ ## 1.3.4
170
180
 
171
181
  - #77, #78: Handle the case when multiple gems exists in a git path
172
182
  (Patrick Cheng)
@@ -176,7 +186,7 @@ Requires JRuby >= 9.4 due to needing Ruby 3.0+ compatibility.
176
186
  threadsafe (Joe Kutner)
177
187
  - #37, #64: Fix issues with Bundler and recent Rubygems/Rails
178
188
 
179
- == 1.3.3
189
+ ## 1.3.3
180
190
 
181
191
  - Note: 1.3.3 was YANKED due to #62
182
192
  - Move all jars to WEB-INF/lib, and leave an empty jar in the original
@@ -186,18 +196,18 @@ Requires JRuby >= 9.4 due to needing Ruby 3.0+ compatibility.
186
196
  - GH #42: Tricks to allow Bundler to find git repo gems even when they
187
197
  are excluded form production
188
198
 
189
- == 1.3.2
199
+ ## 1.3.2
190
200
 
191
201
  - Compatibility with rake 0.9.x, avoid deprecation warnings and deal
192
202
  with new FileList exclusion behavior
193
203
  - Exclude config.bundle_without groups properly
194
204
 
195
- == 1.3.1
205
+ ## 1.3.1
196
206
 
197
207
  - Pin rake version to ~> 0.8.7 for now. Rake 0.9.0 compatibility will
198
208
  follow in a future release.
199
209
 
200
- == 1.3.0
210
+ ## 1.3.0
201
211
 
202
212
  - Warbler can now package regular Ruby projects as executable jar
203
213
  files. See the README.rdoc file for details.
@@ -211,7 +221,7 @@ Requires JRuby >= 9.4 due to needing Ruby 3.0+ compatibility.
211
221
  - GH#8: Clean up compiled .class files after building war
212
222
  - GH#15: Simplify detection of thread-safe Rails
213
223
 
214
- == 1.2.1
224
+ ## 1.2.1
215
225
 
216
226
  - Add --directoryListings=false to Winstone launch by default. In some
217
227
  cases (sinatra) Winstone's directory listing masks application
@@ -221,7 +231,7 @@ Requires JRuby >= 9.4 due to needing Ruby 3.0+ compatibility.
221
231
  environment initialization before the web framework is loaded. See
222
232
  config.init_contents in Warbler::Config for details.
223
233
 
224
- == 1.2.0
234
+ ## 1.2.0
225
235
 
226
236
  - Drop compatibility with earlier versions of Bundler -- Bundler has
227
237
  changed a lot in a short period of time, so I'm expecting the number
@@ -242,7 +252,7 @@ Requires JRuby >= 9.4 due to needing Ruby 3.0+ compatibility.
242
252
  - Exclude 'tmp/war' directory so that people upgrading from 0.9 won't
243
253
  accidentally include it in their war file.
244
254
 
245
- == 1.1.0
255
+ ## 1.1.0
246
256
 
247
257
  - Add concept of "features" -- small Rake tasks that run before the
248
258
  creation of the war file and make manipulations to the war file
@@ -262,24 +272,24 @@ Requires JRuby >= 9.4 due to needing Ruby 3.0+ compatibility.
262
272
  default. Instead, config.ru is included in the war file.
263
273
  - Bump jruby-rack version requirement to 0.9.8.
264
274
 
265
- == 1.0.3
275
+ ## 1.0.3
266
276
 
267
277
  - Tracking recent Bundler changes - handle locked Gemfiles differently
268
278
  than unlocked ones
269
279
  - Handle file-based symlinks, and warn about inoperational directory
270
280
  symlinks under non-JRuby versions of Ruby.
271
281
 
272
- == 1.0.2
282
+ ## 1.0.2
273
283
 
274
284
  - Add 'warble pluginize' task back. This task now just creates a
275
285
  vendor/plugins/warbler/tasks/warbler.rake file. There's no need to
276
286
  "vendor" all of Warbler into your application anymore.
277
287
 
278
- == 1.0.1
288
+ ## 1.0.1
279
289
 
280
290
  - Fix careless bug where Warbler doesn't work with JRuby 1.4
281
291
 
282
- == 1.0
292
+ ## 1.0
283
293
 
284
294
  - Warbler hits 1.0! There are enough structural changes in Warbler
285
295
  that I feel it's time to roll the major version over to 1.0.
@@ -295,7 +305,7 @@ Requires JRuby >= 9.4 due to needing Ruby 3.0+ compatibility.
295
305
  - WARBLER-7: Add config.webinf_files option with more support for
296
306
  custom web.xml files
297
307
 
298
- == 0.9.14
308
+ ## 0.9.14
299
309
 
300
310
  - So, jruby-rack is bundled for one more release. 1.0 will not contain
301
311
  any jar files, I promise!
@@ -306,7 +316,7 @@ Requires JRuby >= 9.4 due to needing Ruby 3.0+ compatibility.
306
316
  (this happened with the Authlogic gem on Edge Rails)
307
317
  (thanks Laszlo Bacsi)
308
318
 
309
- == 0.9.13
319
+ ## 0.9.13
310
320
 
311
321
  - RailsConf 2009 edition.
312
322
  - Only bundled JRuby and JRuby-Rack upgrades. Bug fixes will have to come in 0.9.14.
@@ -314,7 +324,7 @@ Requires JRuby >= 9.4 due to needing Ruby 3.0+ compatibility.
314
324
  - Upgrade to JRuby 1.3.0RC1 and JRuby-Rack 0.9.4. The latter allows
315
325
  Rails 2.3 to work with Warbler.
316
326
 
317
- == 0.9.12
327
+ ## 0.9.12
318
328
 
319
329
  - Allow framework auto-detection to be disabled. Set
320
330
  `Warbler.framework_detection = false' at the top of config/warble.rb
@@ -332,7 +342,7 @@ Requires JRuby >= 9.4 due to needing Ruby 3.0+ compatibility.
332
342
  - Ignore gem development dependencies
333
343
  - Upgrade to JRuby 1.1.6 and JRuby-Rack 0.9.3
334
344
 
335
- == 0.9.11
345
+ ## 0.9.11
336
346
 
337
347
  - Auto-detect Rails and Merb and configure appropriately
338
348
  - For Rails, set rails booter, determine max runtimes based on Rails.configuration.threadsafe!,
@@ -350,7 +360,7 @@ Requires JRuby >= 9.4 due to needing Ruby 3.0+ compatibility.
350
360
  - Upgrade to JRuby 1.1.4 and JRuby-Rack 0.9.2
351
361
  - add [] as a way to specify non-identifier keys, example: config.webxml['!@#$%^'] = 'haha'
352
362
 
353
- == 0.9.10
363
+ ## 0.9.10
354
364
 
355
365
  - Upgraded to JRuby-Rack 0.9.1. Fixes JRUBY-2620, JRUBY-2594, JRUBY-2507.
356
366
  - Now verified to work with Camping and Sinatra. See
@@ -361,7 +371,7 @@ Requires JRuby >= 9.4 due to needing Ruby 3.0+ compatibility.
361
371
  - Fix #<Warbler::WebxmlOpenStruct ...> appearing in web.xml and document workarounds.
362
372
  - Add config.autodeploy_dir that, when specified, will create the war there.
363
373
 
364
- == 0.9.9
374
+ ## 0.9.9
365
375
 
366
376
  - Now shipping with JRuby-Rack 0.9!
367
377
  - Upgrade to JRuby 1.1.1
@@ -373,36 +383,36 @@ Requires JRuby >= 9.4 due to needing Ruby 3.0+ compatibility.
373
383
  -- config.webxml.pool.* have been replaced by config.webxml.jruby.(min|max).runtimes
374
384
  -- config.webxml.standalone and config.webxml.jruby_home no longer have any effect.
375
385
 
376
- == 0.9.5
386
+ ## 0.9.5
377
387
 
378
388
  - Fix bug in plugin warbler.rake task file that would favor loading warbler from gems before the version
379
389
  installed as a plugin
380
390
  - Upgrade to JRuby 1.1 final and Goldspike 1.6.1
381
391
 
382
- == 0.9.4
392
+ ## 0.9.4
383
393
 
384
394
  - Update bundled JRuby to 1.1RC3 and Goldspike to 1.6.
385
395
  - Fix inclusion of gems with platform-specific bits (e.g., Hpricot)
386
396
 
387
- == 0.9.3
397
+ ## 0.9.3
388
398
 
389
399
  - Update bundled JRuby to 1.1RC2, and Goldspike to 1.5.
390
400
  - The bundled JRuby and Goldspike now require JDK 5 or greater. If you wish to use JDK 1.4, use Warbler 0.9.2.
391
401
 
392
- == 0.9.2
402
+ ## 0.9.2
393
403
 
394
404
  - Update bundled JRuby to version 1.0.3 and Goldspike 1.4.
395
405
  - Add config.java_classes to allow you to copy loose Java classes into WEB-INF/classes.
396
406
  - Make jar command a single command string so that jar creation doesn't fail (works around bug in JRuby 1.0.2)
397
407
  - Use File.join to form staging directory, should produce the proper jar-command path in Windows
398
408
 
399
- == 0.9.1
409
+ ## 0.9.1
400
410
 
401
411
  - Add rake >= 0.7.3 as a dependency in the gem specification.
402
412
  - Add debug tasks: war:debug, war:debug:gems, war:debug:public, war:debug:app, war:debug:includes,
403
413
  war:debug:excludes, war:debug:java_libs gives you a breakdown of what Warbler expects to package.
404
414
 
405
- == 0.9
415
+ ## 0.9
406
416
 
407
417
  - Birthday! Warbler is a gem to make a .war file out of a Rails project. The intent is to provide a
408
418
  minimal, flexible, ruby-like way to bundle up all of your application files for deployment to a
data/Gemfile CHANGED
@@ -2,13 +2,11 @@ source "https://rubygems.org/"
2
2
 
3
3
  gemspec
4
4
 
5
- # override default maven-tools used by bundler
6
- gem 'maven-tools', '1.2.3'
7
-
8
-
9
5
  group :development, :test do
10
- gem 'rdoc', ['>= 3.10', '< 7'], :require => nil
6
+ gem 'rdoc', '~> 7.0', :require => nil
11
7
 
12
- # force jruby-jars to use current JRuby version for testing
13
- gem 'jruby-jars', '~> ' + JRUBY_VERSION.split('.')[0..1].join('.')
8
+ if defined?(JRUBY_VERSION)
9
+ # force jruby-jars to use current JRuby version for testing
10
+ gem 'jruby-jars', '~> ' + JRUBY_VERSION.split('.')[0..2].join('.')
11
+ end
14
12
  end
data/LICENSE.txt CHANGED
@@ -1,10 +1,8 @@
1
- = Warbler
1
+ MIT License
2
2
 
3
- Warbler is provided under the terms of the MIT license.
4
-
5
- Warbler (c) 2013-2018 The JRuby Team
6
- Warbler (c) 2010-2013 Engine Yard, Inc.
7
- Warbler (c) 2007-2009 Sun Microsystems, Inc.
3
+ Copyright (c) 2013-2018 The JRuby Team
4
+ Copyright (c) 2010-2013 Engine Yard, Inc.
5
+ Copyright (c) 2007-2009 Sun Microsystems, Inc.
8
6
 
9
7
  Permission is hereby granted, free of charge, to any person
10
8
  obtaining a copy of this software and associated documentation files
data/Mavenfile CHANGED
@@ -1,24 +1,14 @@
1
1
  #-*- mode: ruby -*-
2
+ warn "ruby-maven is running fixed JRuby version #{JRUBY_VERSION}"
2
3
 
3
4
  # tell the gem setup for maven where the java sources are
4
5
  # and how to name the jar file (default path for the jar: ./lib )
5
6
  gemspec( :jar => 'warbler_jar.jar',
6
7
  :source => 'ext' )
7
8
 
8
- plugin_repository( :url => 'https://central.sonatype.com/repository/maven-snapshots/',
9
- :id => 'central-snapshots' ) do
10
- releases 'false'
11
- snapshots 'true'
12
- end
13
- repository( :url => 'https://central.sonatype.com/repository/maven-snapshots/',
14
- :id => 'central-snapshots' ) do
15
- releases 'false'
16
- snapshots 'true'
17
- end
18
-
19
9
  properties(
20
10
  'project.build.sourceEncoding' => 'UTF-8',
21
- 'mavengem.wagon.version' => '2.0.2',
11
+ 'mavengem.wagon.version' => '2.0.3',
22
12
  'jruby.plugins.version' => '3.0.6',
23
13
  'jetty.version' => '9.4.58.v20250814',
24
14
  )
@@ -30,9 +20,9 @@ scope :provided do
30
20
  end
31
21
 
32
22
  plugin :clean, '3.5.0'
33
- plugin :compiler, '3.14.1', :release => '8'
34
- plugin :resources, '3.3.1'
35
- plugin :jar, '3.4.2' do
23
+ plugin :compiler, '3.15.0', :release => '8'
24
+ plugin :resources, '3.5.0'
25
+ plugin :jar, '3.5.0' do
36
26
  execute_goals(:phase => 'none') # Avoid a duplicate execution with that defined by the :gemspec directive
37
27
  end
38
28
  plugin :install, '3.1.4'
@@ -40,17 +30,20 @@ plugin :install, '3.1.4'
40
30
  gem 'bundler', '${bundler.version}'
41
31
  gem 'jruby-jars', '${jruby.version}'
42
32
 
43
- plugin :invoker, '3.9.1' do
33
+ plugin :invoker, '3.10.1' do
44
34
  execute_goals( :install, :run,
45
35
  :id => 'integration-test',
46
- :properties => { 'warbler.version' => '${project.version}',
47
- 'jruby.version' => '${jruby.version}',
48
- 'jetty.version' => '${jetty.version}',
49
- 'bundler.version' => '${bundler.version}',
50
- 'jruby.plugins.version' => '${jruby.plugins.version}',
51
- 'style.color' => 'always' },
52
-
36
+ :properties => {
37
+ 'warbler.version' => '${project.version}',
38
+ 'jruby.version' => '${jruby.version}',
39
+ 'jetty.version' => '${jetty.version}',
40
+ 'bundler.version' => '${bundler.version}',
41
+ 'jruby.plugins.version' => '${jruby.plugins.version}',
42
+ 'style.color' => 'always',
43
+ },
53
44
  :goals => ['verify'],
54
45
  :projectsDirectory => 'integration',
46
+ :pomIncludes => [ '*/pom.xml' ],
47
+ :pomExcludes => [],
55
48
  :streamLogs => true )
56
49
  end
data/README.rdoc CHANGED
@@ -1,5 +1,5 @@
1
1
  = Warbler
2
- {rdoc-image:https://badge.fury.io/rb/warbler.svg}[http://badge.fury.io/rb/warbler] {rdoc-image:https://github.com/jruby/warbler/actions/workflows/ci.yml/badge.svg}[https://github.com/jruby/warbler/actions/workflows/ci.yml]
2
+ {rdoc-image:https://img.shields.io/gem/v/warbler}[https://rubygems.org/gems/warbler] {rdoc-image:https://github.com/jruby/warbler/actions/workflows/ci.yml/badge.svg}[https://github.com/jruby/warbler/actions/workflows/ci.yml]
3
3
 
4
4
  Warbler is a gem to make a Java jar or war file out of any Ruby, Rails or Rack
5
5
  application. Warbler provides a minimal, flexible, Ruby-like way to bundle up
@@ -8,9 +8,18 @@ all of your application files for deployment to a Java environment.
8
8
  Warbler provides a sane set of out-of-the box defaults that should allow most
9
9
  Ruby applications to assemble and Just Work.
10
10
 
11
- Version 2.x of Warbler supports versions of JRuby from 9.2.0.0 and up.
11
+ == Compatibility
12
12
 
13
- Version 1.4.x of Warbler supports versions of JRuby up to 1.7.x. The {1.x-dev branch}[https://github.com/jruby/warbler/tree/1.x-dev] is the working code for this.
13
+ Warbler Status JRuby Java JRuby-Rack Rails Notes
14
+ ------- ---------- ---------- ---- ---------- --------- ----------------------------------------------
15
+ 2.1 Maintained 9.4 → 10.1 8+ 1.2 → 1.3 5.0 → 8.0 Rails 8.1 may be OK with pure Ruby webservers.
16
+ 2.0 EOL 9.2 → 9.3 6+ 1.1 → 1.2 → 6.1
17
+ 1.4 EOL 1.1 → 1.7 5+ ? ?
18
+
19
+ For running wars with specific Java web servers, consult jruby-rack compatibility (
20
+ {master}[https://github.com/jruby/jruby-rack/tree/master],
21
+ {1.2-stable}[https://github.com/jruby/jruby-rack/tree/1.2-stable],
22
+ {1.1-stable}[https://github.com/jruby/jruby-rack/tree/1.1-stable] ).
14
23
 
15
24
  == Getting Started
16
25
 
@@ -137,10 +146,14 @@ Warbler supports Bundler for gems and git repositories, but not for plain path
137
146
  components. Warbler will warn when a +:path+ component is found in the +Gemfile+
138
147
  and will refuse to include it in the archive.
139
148
 
140
- === JBundler (experimental)
149
+ === JBundler (deprecated, experimental)
150
+
151
+ Applications that use JBundler[http://github.com/jruby/jbundler], detected via presence of a +Jarfile+, will have
152
+ the jars packaged up into the archive. The JBundler gem is **not** needed for runtime since all jars are already part of the classloader.
141
153
 
142
- Applications that use JBundler[http://github.com/mkristian/jbundler], detected
143
- via presence of a +Jarfile+, will have the jars packaged up into the archive. the JBundler gem is **not** needed for runtime since all jars are already part of the classloader.
154
+ JBundler is EOL; and this capability is thus deprecated for removal in a future release, and is not recommended for use.
155
+ The recommended replacement is bundler with +jar-dependencies+ (bundled with modern JRuby); but requires some work for
156
+ compatibility. See https://github.com/jruby/warbler/issues/481 for more details and contribute if you'd like this feature to be retained and supported.
144
157
 
145
158
  == War Files
146
159
 
@@ -183,12 +196,11 @@ of how to configure Warbler to package Camping and Sinatra apps.
183
196
 
184
197
  If the default settings are not appropriate for your application, you can
185
198
  customize Warbler's behavior. To customize files, libraries, and gems included
186
- in the .war file, you'll need a config/warble.rb file. There a two ways of
187
- doing this. With the gem, simply run
199
+ in the .war file, you'll need a +config/warble.rb+ file. To generate one:
188
200
 
189
201
  warble config
190
202
 
191
- Finally, edit the +config/warble.rb+ to your taste. The generated file is
203
+ Edit the +config/warble.rb+ to your taste. The generated file is
192
204
  fully-documented with the available options and default values.
193
205
 
194
206
  === Archive Layout
@@ -244,6 +256,45 @@ task to give you more insight into what's going on.
244
256
  If you think you found a bug, please file one at
245
257
  https://github.com/jruby/warbler/issues.
246
258
 
259
+ === Common issues with executable wars
260
+
261
+ If your app isn't working or starting up correctly:
262
+
263
+ - <b>Missing Logging:</b>
264
+ If your boot process is failing silently (or with a logging warning), try configuring the logger
265
+ manually:
266
+
267
+ java "-Dorg.eclipse.jetty.util.log.class=org.eclipse.jetty.util.log.StdErrLog" -jar my_app.war
268
+
269
+ - <b>CompatVersion errors:</b>
270
+ If you are getting <tt>java.lang.NoClassDefFoundError: org/jruby/CompatVersion</tt> errors at start-up
271
+ you are probably running Warbler with a jruby-rack version which does not yet support JRuby 10+ - it
272
+ swallows the true error making debugging impossible. Ensure you're on jruby-rack `1.2.7+`.
273
+
274
+ - <b>Bundler `restart_with` errors:</b>
275
+ If you are getting <tt>org.jruby.rack.RackInitializationException: No such file or directory - java -cp...</tt>,
276
+ that probably means bundler is trying to switch versions dynamically during start-up because your
277
+ `Gemfile.lock` implies a different locked version of bundler to that packaged with JRuby by default.
278
+
279
+ JRuby/Bundler running embedded inside a jar like this does not support switching bundler versions dynamically.
280
+
281
+ This may happen due to
282
+ - system gems for jruby installation upgradingg bundler to a newer version than packaged by default
283
+ - running <tt>bundle update --bundler</tt>
284
+ - using `BUNDLE_VERSION` to override bundle version which generating/editing your `Gemfile.lock`
285
+
286
+ Options to address this
287
+ - use <tt>bundle config set version system</tt> / <tt>bundle config set disable_shared_gems</tt> to avoid bundler picking system versions
288
+ - ensure your `Gemfile.lock`'s <tt>BUNDLED WITH</tt> version matches the default bundler packaged with your `jruby-jars` version.
289
+ You can check inside the relevant `jruby-stdlib` jar or inside a clean installation dir from your Ruby version manager of choice.
290
+ - remove <tt>BUNDLED WITH</tt> entirely from `Gemfile.lock`. Sometimes bundler will add this back again; so not recommended in the longer term
291
+
292
+ - <b>Rack version compatibility</b>
293
+ An exception happened during JRuby-Rack startup
294
+ no such file to load -- rack/chunked
295
+ You are trying to use Rack 3.x with a jruby-rack version that does not yet support Rack 3. Try upgrading to a compatible
296
+ jruby-rack version, or lock rack at a compatibile version with <tt>gem 'rack', '~> 2.2.0'</tt>. Note that Rack `2.2` requires Rails < `8.1`.
297
+
247
298
  == Source
248
299
 
249
300
  You can get the Warbler source using Git, in any of the following ways:
@@ -256,9 +307,9 @@ https://github.com/jruby/warbler/archive/master.zip.
256
307
  == Development
257
308
 
258
309
  You can develop Warbler with any implementation of Ruby. To write Warbler code
259
- and run specs, you need to have Bundler installed and run <tt>bundle</tt> once.
310
+ and run specs, you need to have Bundler installed and run <tt>bundle install</tt> once.
260
311
 
261
- After that, simply run <tt>rake</tt>.
312
+ After that, simply run +rake+.
262
313
 
263
314
  === Integration Tests
264
315
 
@@ -275,7 +326,5 @@ You'll need to have Maven >= 3.1.1 installed, of course: http://maven.apache.org
275
326
  Warbler is provided under the terms of the MIT license.
276
327
 
277
328
  Warbler (c) 2013-2018 The JRuby Team
278
-
279
329
  Warbler (c) 2010-2012 Engine Yard, Inc.
280
-
281
330
  Warbler (c) 2007-2009 Sun Microsystems, Inc.
data/Rakefile CHANGED
@@ -29,8 +29,6 @@ mvn << "-Dbundler.version=#{Bundler::VERSION}"
29
29
  mvn << '--no-transfer-progress'
30
30
  mvn << '--color=always'
31
31
 
32
- mvn.inherit_jruby_version
33
-
34
32
  desc 'compile java sources and build jar'
35
33
  task :jar do
36
34
  success = mvn.prepare_package
@@ -56,7 +54,7 @@ require 'rdoc/task'
56
54
  RDoc::Task.new(:docs) do |rd|
57
55
  gemspec = Gem::Specification.load(File.expand_path('warbler.gemspec', File.dirname(__FILE__)))
58
56
  rd.rdoc_dir = "doc"
59
- rd.rdoc_files.include("README.rdoc", "History.txt", "LICENSE.txt")
57
+ rd.rdoc_files.include("README.rdoc", "CHANGELOG.md", "LICENSE.txt")
60
58
  rd.rdoc_files += gemspec.require_paths
61
59
  rd.options << '--title' << "#{gemspec.name}-#{gemspec.version} Documentation"
62
60
  rd.options += gemspec.rdoc_options