warbler 1.4.2 → 1.4.3
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 +7 -0
- data/.travis.yml +1 -1
- data/Gemfile +1 -0
- data/History.txt +8 -0
- data/README.rdoc +1 -1
- data/integration/pom.xml +2 -2
- data/lib/warbler/config.rb +4 -0
- data/lib/warbler/jar.rb +9 -4
- data/lib/warbler/templates/jbundler.erb +1 -1
- data/lib/warbler/version.rb +1 -1
- data/lib/warbler_jar.jar +0 -0
- data/pom.xml +1 -1
- data/spec/warbler/jar_spec.rb +9 -0
- data/spec/warbler/jbundler_spec.rb +1 -1
- data/spec/warbler/task_spec.rb +19 -0
- data/warble.rb +3 -0
- metadata +55 -75
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: a4464dec04874d3dce2dd2ffd5b4c5ee82a0d475
|
4
|
+
data.tar.gz: cb9ea2082c156117e3990ac48012c9db695c379a
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 64e0e83ebff4d7b073f90009ce1c47627fbea84799919f7842ba03b1fe91dcd5d9d331506dc7bb0838dd0f09b39bac3bfec4868bec084730fc83e8befa88aca9
|
7
|
+
data.tar.gz: 784b4e947ec1c06ec230f15d5cc566d33dc964a99c417c5d417f5a43af5c0f97f753a55b3b0b8b3715ac5c0505ea43cb98cb6d31823a78068b6cc3b0f1b5046e
|
data/.travis.yml
CHANGED
@@ -10,7 +10,7 @@ matrix:
|
|
10
10
|
include:
|
11
11
|
- rvm: jruby-head
|
12
12
|
env: JRUBY_OPTS="--server -Xcext.enabled=false -Xcompile.invokedynamic=false"
|
13
|
-
- rvm: jruby-1.7.
|
13
|
+
- rvm: jruby-1.7.12
|
14
14
|
env: JRUBY_OPTS="--server -Xcext.enabled=false -Xcompile.invokedynamic=false"
|
15
15
|
- rvm: 1.8.7
|
16
16
|
env: ''
|
data/Gemfile
CHANGED
data/History.txt
CHANGED
@@ -1,3 +1,11 @@
|
|
1
|
+
== 1.4.3
|
2
|
+
- Fixed a bug w/ symlinks that was introduced around jruby-1.7.10
|
3
|
+
- #258: Bytecode version option for compiled class files
|
4
|
+
- #259: Update README.rdoc to not require warbler in Gemfile
|
5
|
+
- #260: Can't convert TrueClass into String
|
6
|
+
- #167: Excluding rb and class files when using compiled flag
|
7
|
+
- #254: Fixes #167 by excluding config.excludes from compiled files
|
8
|
+
|
1
9
|
== 1.4.2
|
2
10
|
- #241: jars from jruby.jar itself do not get copied over to WEB-INF/lib
|
3
11
|
- #199: javascript_include_tag and stylesheet_link_tag not generating digestions
|
data/README.rdoc
CHANGED
@@ -226,7 +226,7 @@ simply add the following code somewhere in the +Rakefile+ :
|
|
226
226
|
If you're using Bundler, you'll want to add Warbler to your +Gemfile+ :
|
227
227
|
|
228
228
|
group :development do
|
229
|
-
gem "warbler"
|
229
|
+
gem "warbler", :require => false
|
230
230
|
end
|
231
231
|
|
232
232
|
Now you should be able to invoke <tt>rake war</tt> to create your war file.
|
data/integration/pom.xml
CHANGED
@@ -18,9 +18,9 @@
|
|
18
18
|
<properties>
|
19
19
|
<version.jruby-maven-plugins>1.0.0-rc</version.jruby-maven-plugins>
|
20
20
|
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
21
|
-
<jruby.version>1.7.
|
21
|
+
<jruby.version>1.7.12</jruby.version>
|
22
22
|
<!-- prereleased gems ARE snapshots -->
|
23
|
-
<warbler.version>1.4.
|
23
|
+
<warbler.version>1.4.3-SNAPSHOT</warbler.version>
|
24
24
|
<gem.home>${session.executionRootDirectory}/target/rubygems</gem.home>
|
25
25
|
<gem.path>${session.executionRootDirectory}/target/rubygems</gem.path>
|
26
26
|
</properties>
|
data/lib/warbler/config.rb
CHANGED
@@ -130,6 +130,10 @@ module Warbler
|
|
130
130
|
# Defaults to true
|
131
131
|
attr_accessor :override_gem_home
|
132
132
|
|
133
|
+
# Explicit bytecode version for compiled ruby files. If given bytecode version is
|
134
|
+
# specified when ruby files are compiled using jrubyc
|
135
|
+
attr_accessor :bytecode_version
|
136
|
+
|
133
137
|
# Extra configuration for web.xml. Controls how the dynamically-generated web.xml
|
134
138
|
# file is generated.
|
135
139
|
#
|
data/lib/warbler/jar.rb
CHANGED
@@ -40,8 +40,9 @@ module Warbler
|
|
40
40
|
# option to configure what gets compiled?
|
41
41
|
return if config.compiled_ruby_files.nil? || config.compiled_ruby_files.empty?
|
42
42
|
|
43
|
-
|
44
|
-
|
43
|
+
compiled_ruby_files = config.compiled_ruby_files - config.excludes.to_a
|
44
|
+
run_javac(config, compiled_ruby_files)
|
45
|
+
replace_compiled_ruby_files(config, compiled_ruby_files)
|
45
46
|
end
|
46
47
|
|
47
48
|
def run_javac(config, compiled_ruby_files)
|
@@ -51,7 +52,7 @@ module Warbler
|
|
51
52
|
compat_version = ''
|
52
53
|
end
|
53
54
|
# Need to use the version of JRuby in the application to compile it
|
54
|
-
javac_cmd = %Q{java -classpath #{config.java_libs.join(File::PATH_SEPARATOR)} org.jruby.Main #{compat_version} -S jrubyc \"#{compiled_ruby_files.join('" "')}\"}
|
55
|
+
javac_cmd = %Q{java -classpath #{config.java_libs.join(File::PATH_SEPARATOR)} #{java_version(config)} org.jruby.Main #{compat_version} -S jrubyc \"#{compiled_ruby_files.join('" "')}\"}
|
55
56
|
if which('env')
|
56
57
|
system %Q{env -i #{javac_cmd}}
|
57
58
|
else
|
@@ -59,6 +60,10 @@ module Warbler
|
|
59
60
|
end
|
60
61
|
raise "Compile failed" if $?.exitstatus > 0
|
61
62
|
end
|
63
|
+
|
64
|
+
def java_version(config)
|
65
|
+
config.bytecode_version ? "-Djava.specification.version=#{config.bytecode_version}" : ''
|
66
|
+
end
|
62
67
|
|
63
68
|
def replace_compiled_ruby_files(config, compiled_ruby_files)
|
64
69
|
# Exclude the rb files and recreate them. This
|
@@ -155,7 +160,7 @@ module Warbler
|
|
155
160
|
end.each do |d|
|
156
161
|
@files[apply_pathmaps(config, d, :application)] = nil
|
157
162
|
end
|
158
|
-
@app_filelist = FileList[*(config.dirs.map{|d|
|
163
|
+
@app_filelist = FileList[*(config.dirs.map{|d| %W{#{d}/**/*/**/* #{d}/*}}.flatten)]
|
159
164
|
@app_filelist.include *(config.includes.to_a)
|
160
165
|
@app_filelist.exclude *(config.excludes.to_a)
|
161
166
|
@app_filelist.map {|f| add_with_pathmaps(config, f, :application) }
|
@@ -1,2 +1,2 @@
|
|
1
1
|
# the jars are already loaded via the servlet classloader
|
2
|
-
ENV['JBUNDLE_SKIP'] = true
|
2
|
+
ENV['JBUNDLE_SKIP'] = 'true'
|
data/lib/warbler/version.rb
CHANGED
data/lib/warbler_jar.jar
CHANGED
Binary file
|
data/pom.xml
CHANGED
@@ -4,7 +4,7 @@
|
|
4
4
|
<modelVersion>4.0.0</modelVersion>
|
5
5
|
<groupId>rubygems</groupId>
|
6
6
|
<artifactId>warbler</artifactId>
|
7
|
-
<version>1.4.
|
7
|
+
<version>1.4.3-SNAPSHOT</version>
|
8
8
|
<packaging>gem</packaging>
|
9
9
|
<name>Warbler chirpily constructs .war files of your Rails applications.</name>
|
10
10
|
<description>Warbler is a gem to make a Java jar or war file out of any Ruby,
|
data/spec/warbler/jar_spec.rb
CHANGED
@@ -167,6 +167,15 @@ describe Warbler::Jar do
|
|
167
167
|
file_list(%r{^sample_jar/lib$}).should be_empty
|
168
168
|
file_list(%r{^sample_jar/bin$}).should_not be_empty
|
169
169
|
end
|
170
|
+
|
171
|
+
it "excludes .rb and .class files from compile" do
|
172
|
+
config.compiled_ruby_files = %w(lib/sample_jar.rb)
|
173
|
+
config.excludes += FileList["lib/sample_jar.*"]
|
174
|
+
jar.compile(config)
|
175
|
+
jar.apply(config)
|
176
|
+
file_list(%r{^sample_jar/lib/sample_jar\.class$}).should be_empty
|
177
|
+
jar.contents('sample_jar/lib/sample_jar.rb').should_not =~ /load __FILE__\.sub/
|
178
|
+
end
|
170
179
|
end
|
171
180
|
|
172
181
|
context "with a gemspec without a default executable" do
|
@@ -54,7 +54,7 @@ describe Warbler::Jar, "with JBundler" do
|
|
54
54
|
it "adds JBUNDLE_SKIP to init.rb" do
|
55
55
|
jar.add_init_file(config)
|
56
56
|
contents = jar.contents('META-INF/init.rb')
|
57
|
-
contents.should =~ /ENV\['JBUNDLE_SKIP'\]/
|
57
|
+
contents.should =~ /ENV\['JBUNDLE_SKIP'\] = 'true'/
|
58
58
|
end
|
59
59
|
|
60
60
|
it "uses ENV['JBUNDLE_JARFILE'] if set" do
|
data/spec/warbler/task_spec.rb
CHANGED
@@ -125,6 +125,25 @@ describe Warbler::Task do
|
|
125
125
|
end
|
126
126
|
end
|
127
127
|
|
128
|
+
it "should allow bytecode version in config" do
|
129
|
+
config.features << "compiled"
|
130
|
+
config.bytecode_version = '1.6'
|
131
|
+
silence { run_task "warble" }
|
132
|
+
|
133
|
+
java_class_magic_number = [0xCA,0xFE,0xBA,0xBE].map { |magic_char| magic_char.chr }.join
|
134
|
+
# 0x32 is version 50, i.e. Java6
|
135
|
+
java6_version_bytes = [0x00,0x32].map { |magic_char| magic_char.chr }.join
|
136
|
+
|
137
|
+
Warbler::ZipSupport.open("#{config.jar_name}.war") do |zf|
|
138
|
+
class_file_bytes = zf.get_input_stream('WEB-INF/lib/ruby_one_nine.class') {|io| io.read }
|
139
|
+
java_class_header = class_file_bytes[0..3]
|
140
|
+
bytecode_version = class_file_bytes[6..7]
|
141
|
+
|
142
|
+
java_class_header.should == java_class_magic_number
|
143
|
+
bytecode_version.should == java6_version_bytes
|
144
|
+
end
|
145
|
+
end
|
146
|
+
|
128
147
|
it "should delete .class files after finishing the jar" do
|
129
148
|
config.features << "compiled"
|
130
149
|
silence { run_task "warble" }
|
data/warble.rb
CHANGED
@@ -88,6 +88,9 @@ Warbler::Config.new do |config|
|
|
88
88
|
# files will be compiled. Default is to compile all \.rb files in
|
89
89
|
# the application.
|
90
90
|
# config.compiled_ruby_files = FileList['app/**/*.rb']
|
91
|
+
|
92
|
+
# When set it specify the bytecode version for compiled class files
|
93
|
+
# config.bytecode_version = "1.6"
|
91
94
|
|
92
95
|
# When set to true, Warbler will override the value of ENV['GEM_HOME'] even it
|
93
96
|
# has already been set. When set to false it will use any existing value of
|
metadata
CHANGED
@@ -1,163 +1,144 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: warbler
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.4.
|
5
|
-
prerelease:
|
4
|
+
version: 1.4.3
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Nick Sieger
|
9
|
-
autorequire:
|
8
|
+
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date: 2014-
|
11
|
+
date: 2014-05-24 00:00:00.000000000 Z
|
13
12
|
dependencies:
|
14
13
|
- !ruby/object:Gem::Dependency
|
15
14
|
name: rake
|
16
|
-
|
17
|
-
none: false
|
15
|
+
version_requirements: !ruby/object:Gem::Requirement
|
18
16
|
requirements:
|
19
|
-
- -
|
17
|
+
- - '>='
|
20
18
|
- !ruby/object:Gem::Version
|
21
19
|
version: 0.9.6
|
22
|
-
|
23
|
-
prerelease: false
|
24
|
-
version_requirements: !ruby/object:Gem::Requirement
|
25
|
-
none: false
|
20
|
+
requirement: !ruby/object:Gem::Requirement
|
26
21
|
requirements:
|
27
|
-
- -
|
22
|
+
- - '>='
|
28
23
|
- !ruby/object:Gem::Version
|
29
24
|
version: 0.9.6
|
25
|
+
prerelease: false
|
26
|
+
type: :runtime
|
30
27
|
- !ruby/object:Gem::Dependency
|
31
28
|
name: jruby-jars
|
32
|
-
|
33
|
-
none: false
|
29
|
+
version_requirements: !ruby/object:Gem::Requirement
|
34
30
|
requirements:
|
35
|
-
- -
|
31
|
+
- - '>='
|
36
32
|
- !ruby/object:Gem::Version
|
37
33
|
version: 1.5.6
|
38
34
|
- - <
|
39
35
|
- !ruby/object:Gem::Version
|
40
36
|
version: '2.0'
|
41
|
-
|
42
|
-
prerelease: false
|
43
|
-
version_requirements: !ruby/object:Gem::Requirement
|
44
|
-
none: false
|
37
|
+
requirement: !ruby/object:Gem::Requirement
|
45
38
|
requirements:
|
46
|
-
- -
|
39
|
+
- - '>='
|
47
40
|
- !ruby/object:Gem::Version
|
48
41
|
version: 1.5.6
|
49
42
|
- - <
|
50
43
|
- !ruby/object:Gem::Version
|
51
44
|
version: '2.0'
|
45
|
+
prerelease: false
|
46
|
+
type: :runtime
|
52
47
|
- !ruby/object:Gem::Dependency
|
53
48
|
name: jruby-rack
|
54
|
-
|
55
|
-
none: false
|
49
|
+
version_requirements: !ruby/object:Gem::Requirement
|
56
50
|
requirements:
|
57
|
-
- -
|
51
|
+
- - '>='
|
58
52
|
- !ruby/object:Gem::Version
|
59
53
|
version: 1.0.0
|
60
|
-
|
61
|
-
prerelease: false
|
62
|
-
version_requirements: !ruby/object:Gem::Requirement
|
63
|
-
none: false
|
54
|
+
requirement: !ruby/object:Gem::Requirement
|
64
55
|
requirements:
|
65
|
-
- -
|
56
|
+
- - '>='
|
66
57
|
- !ruby/object:Gem::Version
|
67
58
|
version: 1.0.0
|
59
|
+
prerelease: false
|
60
|
+
type: :runtime
|
68
61
|
- !ruby/object:Gem::Dependency
|
69
62
|
name: rubyzip
|
70
|
-
|
71
|
-
none: false
|
63
|
+
version_requirements: !ruby/object:Gem::Requirement
|
72
64
|
requirements:
|
73
|
-
- -
|
65
|
+
- - '>='
|
74
66
|
- !ruby/object:Gem::Version
|
75
67
|
version: '0.9'
|
76
68
|
- - <
|
77
69
|
- !ruby/object:Gem::Version
|
78
70
|
version: '1.1'
|
79
|
-
|
80
|
-
prerelease: false
|
81
|
-
version_requirements: !ruby/object:Gem::Requirement
|
82
|
-
none: false
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
83
72
|
requirements:
|
84
|
-
- -
|
73
|
+
- - '>='
|
85
74
|
- !ruby/object:Gem::Version
|
86
75
|
version: '0.9'
|
87
76
|
- - <
|
88
77
|
- !ruby/object:Gem::Version
|
89
78
|
version: '1.1'
|
79
|
+
prerelease: false
|
80
|
+
type: :runtime
|
90
81
|
- !ruby/object:Gem::Dependency
|
91
82
|
name: jbundler
|
92
|
-
|
93
|
-
none: false
|
83
|
+
version_requirements: !ruby/object:Gem::Requirement
|
94
84
|
requirements:
|
95
85
|
- - ~>
|
96
86
|
- !ruby/object:Gem::Version
|
97
87
|
version: 0.5.5
|
98
|
-
|
99
|
-
prerelease: false
|
100
|
-
version_requirements: !ruby/object:Gem::Requirement
|
101
|
-
none: false
|
88
|
+
requirement: !ruby/object:Gem::Requirement
|
102
89
|
requirements:
|
103
90
|
- - ~>
|
104
91
|
- !ruby/object:Gem::Version
|
105
92
|
version: 0.5.5
|
93
|
+
prerelease: false
|
94
|
+
type: :development
|
106
95
|
- !ruby/object:Gem::Dependency
|
107
96
|
name: ruby-maven
|
108
|
-
|
109
|
-
none: false
|
97
|
+
version_requirements: !ruby/object:Gem::Requirement
|
110
98
|
requirements:
|
111
99
|
- - ~>
|
112
100
|
- !ruby/object:Gem::Version
|
113
101
|
version: 3.1.1.0
|
114
|
-
|
115
|
-
prerelease: false
|
116
|
-
version_requirements: !ruby/object:Gem::Requirement
|
117
|
-
none: false
|
102
|
+
requirement: !ruby/object:Gem::Requirement
|
118
103
|
requirements:
|
119
104
|
- - ~>
|
120
105
|
- !ruby/object:Gem::Version
|
121
106
|
version: 3.1.1.0
|
107
|
+
prerelease: false
|
108
|
+
type: :development
|
122
109
|
- !ruby/object:Gem::Dependency
|
123
110
|
name: rspec
|
124
|
-
|
125
|
-
none: false
|
111
|
+
version_requirements: !ruby/object:Gem::Requirement
|
126
112
|
requirements:
|
127
113
|
- - ~>
|
128
114
|
- !ruby/object:Gem::Version
|
129
115
|
version: '2.10'
|
130
|
-
|
131
|
-
prerelease: false
|
132
|
-
version_requirements: !ruby/object:Gem::Requirement
|
133
|
-
none: false
|
116
|
+
requirement: !ruby/object:Gem::Requirement
|
134
117
|
requirements:
|
135
118
|
- - ~>
|
136
119
|
- !ruby/object:Gem::Version
|
137
120
|
version: '2.10'
|
121
|
+
prerelease: false
|
122
|
+
type: :development
|
138
123
|
- !ruby/object:Gem::Dependency
|
139
124
|
name: rdoc
|
140
|
-
|
141
|
-
none: false
|
125
|
+
version_requirements: !ruby/object:Gem::Requirement
|
142
126
|
requirements:
|
143
|
-
- -
|
127
|
+
- - '>='
|
144
128
|
- !ruby/object:Gem::Version
|
145
129
|
version: 2.4.2
|
146
|
-
|
147
|
-
prerelease: false
|
148
|
-
version_requirements: !ruby/object:Gem::Requirement
|
149
|
-
none: false
|
130
|
+
requirement: !ruby/object:Gem::Requirement
|
150
131
|
requirements:
|
151
|
-
- -
|
132
|
+
- - '>='
|
152
133
|
- !ruby/object:Gem::Version
|
153
134
|
version: 2.4.2
|
154
|
-
|
155
|
-
|
135
|
+
prerelease: false
|
136
|
+
type: :development
|
137
|
+
description: |-
|
138
|
+
Warbler is a gem to make a Java jar or war file out of any Ruby,
|
156
139
|
Rails, Merb, or Rack application. Warbler provides a minimal,
|
157
|
-
|
158
140
|
flexible, Ruby-like way to bundle up all of your application files for
|
159
|
-
|
160
|
-
deployment to a Java environment.'
|
141
|
+
deployment to a Java environment.
|
161
142
|
email: nick@nicksieger.com
|
162
143
|
executables:
|
163
144
|
- warble
|
@@ -384,7 +365,8 @@ files:
|
|
384
365
|
homepage: http://caldersphere.rubyforge.org/warbler
|
385
366
|
licenses:
|
386
367
|
- MIT
|
387
|
-
|
368
|
+
metadata: {}
|
369
|
+
post_install_message:
|
388
370
|
rdoc_options:
|
389
371
|
- --main
|
390
372
|
- README.rdoc
|
@@ -394,22 +376,20 @@ rdoc_options:
|
|
394
376
|
require_paths:
|
395
377
|
- lib
|
396
378
|
required_ruby_version: !ruby/object:Gem::Requirement
|
397
|
-
none: false
|
398
379
|
requirements:
|
399
|
-
- -
|
380
|
+
- - '>='
|
400
381
|
- !ruby/object:Gem::Version
|
401
382
|
version: '0'
|
402
383
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
403
|
-
none: false
|
404
384
|
requirements:
|
405
|
-
- -
|
385
|
+
- - '>='
|
406
386
|
- !ruby/object:Gem::Version
|
407
387
|
version: '0'
|
408
388
|
requirements: []
|
409
389
|
rubyforge_project: caldersphere
|
410
|
-
rubygems_version:
|
411
|
-
signing_key:
|
412
|
-
specification_version:
|
390
|
+
rubygems_version: 2.2.2
|
391
|
+
signing_key:
|
392
|
+
specification_version: 4
|
413
393
|
summary: Warbler chirpily constructs .war files of your Rails applications.
|
414
394
|
test_files:
|
415
395
|
- integration/Rakefile
|