jar_wrapper 0.1.7 → 0.1.8
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 +15 -0
- data/.idea/.rakeTasks +1 -1
- data/.idea/jar_wrapper.iml +157 -13
- data/.idea/workspace.xml +424 -127
- data/.ruby-gemset +1 -0
- data/.ruby-version +1 -0
- data/CHANGES +6 -1
- data/Gemfile +5 -3
- data/Gemfile.lock +15 -13
- data/README.md +11 -10
- data/Rakefile +10 -10
- data/jar_wrapper.gemspec +4 -3
- data/jar_wrapper.gemspec.erb +3 -3
- data/lib/jar_wrapper.rb +0 -17
- data/lib/jar_wrapper/runner.rb +15 -2
- data/lib/jar_wrapper/version.rb +1 -1
- data/spec/runner_spec.rb +38 -0
- data/spec/spec_helper.rb +2 -0
- metadata +14 -17
- data/.rvmrc +0 -6
data/.ruby-gemset
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
jar_wrapper
|
data/.ruby-version
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
ruby-1.9.3
|
data/CHANGES
CHANGED
data/Gemfile
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
source
|
1
|
+
source "https://rubygems.org"
|
2
2
|
|
3
3
|
require 'rbconfig'
|
4
4
|
|
@@ -6,8 +6,10 @@ def windows?
|
|
6
6
|
!!(RbConfig::CONFIG['host_os'] =~ /mswin|mingw|windows/)
|
7
7
|
end
|
8
8
|
|
9
|
-
|
10
|
-
gem "
|
9
|
+
group :default do
|
10
|
+
gem "zip"
|
11
|
+
gem "rubyzip" if windows?
|
12
|
+
end
|
11
13
|
|
12
14
|
group :development do
|
13
15
|
gem "gemspec_deps_gen"
|
data/Gemfile.lock
CHANGED
@@ -1,25 +1,27 @@
|
|
1
1
|
GEM
|
2
|
-
remote:
|
2
|
+
remote: https://rubygems.org/
|
3
3
|
specs:
|
4
|
-
diff-lcs (1.
|
5
|
-
file_utils (1.0.
|
4
|
+
diff-lcs (1.2.5)
|
5
|
+
file_utils (1.0.7)
|
6
6
|
gemcutter (0.7.1)
|
7
|
-
gemspec_deps_gen (1.
|
7
|
+
gemspec_deps_gen (1.1.2)
|
8
|
+
bundler
|
8
9
|
file_utils
|
9
10
|
metaclass (0.0.1)
|
10
|
-
mocha (0.
|
11
|
+
mocha (0.14.0)
|
11
12
|
metaclass (~> 0.0.1)
|
12
|
-
rspec (2.
|
13
|
-
rspec-core (~> 2.
|
14
|
-
rspec-expectations (~> 2.
|
15
|
-
rspec-mocks (~> 2.
|
16
|
-
rspec-core (2.
|
17
|
-
rspec-expectations (2.
|
18
|
-
diff-lcs (
|
19
|
-
rspec-mocks (2.
|
13
|
+
rspec (2.14.1)
|
14
|
+
rspec-core (~> 2.14.0)
|
15
|
+
rspec-expectations (~> 2.14.0)
|
16
|
+
rspec-mocks (~> 2.14.0)
|
17
|
+
rspec-core (2.14.7)
|
18
|
+
rspec-expectations (2.14.4)
|
19
|
+
diff-lcs (>= 1.1.3, < 2.0)
|
20
|
+
rspec-mocks (2.14.4)
|
20
21
|
zip (2.0.2)
|
21
22
|
|
22
23
|
PLATFORMS
|
24
|
+
java
|
23
25
|
ruby
|
24
26
|
|
25
27
|
DEPENDENCIES
|
data/README.md
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
# Jar Wrapper
|
1
|
+
# Jar Wrapper - wrapper for executable java jar files
|
2
2
|
|
3
3
|
## Installing Jar Wrapper
|
4
4
|
|
@@ -6,25 +6,26 @@
|
|
6
6
|
|
7
7
|
## Usage
|
8
8
|
|
9
|
+
```ruby
|
9
10
|
require 'jar_wrapper'
|
10
11
|
|
11
12
|
wrapper = JarWrapper::Runner.new
|
12
13
|
wrapper.java_opts = ["-Xmx1024m", "-Xss1024k" ]
|
13
14
|
|
14
|
-
|
15
|
+
# install jar file from source URL into target file:
|
15
16
|
|
16
17
|
wrapper.install source, target
|
17
18
|
|
18
|
-
|
19
|
+
# execute jar file (java -jar jar_file.jar):
|
19
20
|
|
20
|
-
wrapper.jar_file = jar_file
|
21
|
-
wrapper.run
|
21
|
+
wrapper.jar_file = "jar_file.jar"
|
22
|
+
wrapper.run
|
22
23
|
|
23
|
-
|
24
|
-
|
25
|
-
wrapper.classpath = some_class_path
|
26
|
-
wrapper.main_class = main_class
|
27
|
-
wrapper.run ARGV
|
24
|
+
# execute main class (java -cp some_class_path main_class):
|
28
25
|
|
26
|
+
wrapper.classpath = "some_class_path"
|
27
|
+
wrapper.main_class = "main_class"
|
28
|
+
wrapper.run
|
29
|
+
```
|
29
30
|
|
30
31
|
|
data/Rakefile
CHANGED
@@ -6,20 +6,16 @@ require "rspec/core/rake_task"
|
|
6
6
|
require "jar_wrapper/version"
|
7
7
|
require "gemspec_deps_gen/gemspec_deps_gen"
|
8
8
|
|
9
|
-
|
10
|
-
|
11
|
-
end
|
12
|
-
|
13
|
-
def project_name
|
14
|
-
File.basename(Dir.pwd)
|
15
|
-
end
|
9
|
+
version = JarWrapper::VERSION
|
10
|
+
project_name = File.basename(Dir.pwd)
|
16
11
|
|
17
|
-
task :
|
18
|
-
system "rm #{project_name}.gemspec"
|
12
|
+
task :gen do
|
19
13
|
generator = GemspecDepsGen.new
|
20
14
|
|
21
|
-
generator.generate_dependencies "#{project_name}.gemspec.erb", "#{project_name}.gemspec"
|
15
|
+
generator.generate_dependencies "spec", "#{project_name}.gemspec.erb", "#{project_name}.gemspec"
|
16
|
+
end
|
22
17
|
|
18
|
+
task :build => :gen do
|
23
19
|
system "gem build #{project_name}.gemspec"
|
24
20
|
end
|
25
21
|
|
@@ -27,6 +23,10 @@ task :install do
|
|
27
23
|
system "gem install #{project_name}-#{version}.gem"
|
28
24
|
end
|
29
25
|
|
26
|
+
task :uninstall do
|
27
|
+
system "gem uninstall #{project_name}"
|
28
|
+
end
|
29
|
+
|
30
30
|
task :release => :build do
|
31
31
|
system "gem push #{project_name}-#{version}.gem"
|
32
32
|
end
|
data/jar_wrapper.gemspec
CHANGED
@@ -4,8 +4,8 @@ require File.expand_path(File.dirname(__FILE__) + '/lib/jar_wrapper/version')
|
|
4
4
|
|
5
5
|
Gem::Specification.new do |spec|
|
6
6
|
spec.name = "jar_wrapper"
|
7
|
-
spec.summary = %q{
|
8
|
-
spec.description = %q{
|
7
|
+
spec.summary = %q{Wrapper for executable java jar file (summary).}
|
8
|
+
spec.description = %q{Wrapper for executable java jar file.}
|
9
9
|
spec.email = "alexander.shvets@gmail.com"
|
10
10
|
spec.authors = ["Alexander Shvets"]
|
11
11
|
spec.homepage = "http://github.com/shvets/jar_wrapper"
|
@@ -15,8 +15,9 @@ Gem::Specification.new do |spec|
|
|
15
15
|
spec.require_paths = ["lib"]
|
16
16
|
spec.version = JarWrapper::VERSION
|
17
17
|
|
18
|
+
|
18
19
|
spec.add_runtime_dependency "zip", [">= 0"]
|
19
20
|
spec.add_development_dependency "gemspec_deps_gen", [">= 0"]
|
20
21
|
spec.add_development_dependency "gemcutter", [">= 0"]
|
21
|
-
|
22
|
+
|
22
23
|
end
|
data/jar_wrapper.gemspec.erb
CHANGED
@@ -4,8 +4,8 @@ require File.expand_path(File.dirname(__FILE__) + '/lib/jar_wrapper/version')
|
|
4
4
|
|
5
5
|
Gem::Specification.new do |spec|
|
6
6
|
spec.name = "jar_wrapper"
|
7
|
-
spec.summary = %q{
|
8
|
-
spec.description = %q{
|
7
|
+
spec.summary = %q{Wrapper for executable java jar file (summary).}
|
8
|
+
spec.description = %q{Wrapper for executable java jar file.}
|
9
9
|
spec.email = "alexander.shvets@gmail.com"
|
10
10
|
spec.authors = ["Alexander Shvets"]
|
11
11
|
spec.homepage = "http://github.com/shvets/jar_wrapper"
|
@@ -15,5 +15,5 @@ Gem::Specification.new do |spec|
|
|
15
15
|
spec.require_paths = ["lib"]
|
16
16
|
spec.version = JarWrapper::VERSION
|
17
17
|
|
18
|
-
<%=
|
18
|
+
<%= project_dependencies %>
|
19
19
|
end
|
data/lib/jar_wrapper.rb
CHANGED
@@ -1,18 +1 @@
|
|
1
|
-
require 'rubygems' unless Object.const_defined?(:Gem)
|
2
|
-
|
3
|
-
$:.unshift(File.dirname(__FILE__)) unless
|
4
|
-
$:.include?(File.dirname(__FILE__)) || $:.include?(File.expand_path(File.dirname(__FILE__)))
|
5
|
-
|
6
|
-
require 'fileutils'
|
7
|
-
require 'net/http'
|
8
|
-
|
9
1
|
require 'jar_wrapper/runner'
|
10
|
-
|
11
|
-
require 'rbconfig'
|
12
|
-
|
13
|
-
def windows?
|
14
|
-
!!(RbConfig::CONFIG['host_os'] =~ /mswin|mingw|windows/)
|
15
|
-
end
|
16
|
-
|
17
|
-
windows? ? (require "zip/zipfilesystem") : (require 'zip/zip')
|
18
|
-
|
data/lib/jar_wrapper/runner.rb
CHANGED
@@ -1,4 +1,6 @@
|
|
1
|
+
require 'fileutils'
|
1
2
|
require 'open-uri'
|
3
|
+
require 'rbconfig'
|
2
4
|
|
3
5
|
# some code is extracted from redcar project (https://github.com/redcar/redcar) which is in turn extracted
|
4
6
|
# from ruby-processing gem (https://github.com/jashkenas/ruby-processing).
|
@@ -7,6 +9,10 @@ module JarWrapper
|
|
7
9
|
class Runner
|
8
10
|
attr_accessor :main_class, :classpath, :jar_file, :java_opts
|
9
11
|
|
12
|
+
def initialize
|
13
|
+
windows? ? (require "zip/zipfilesystem") : (require 'zip/zip')
|
14
|
+
end
|
15
|
+
|
10
16
|
def install source, destination
|
11
17
|
download_file_to(source, destination)
|
12
18
|
|
@@ -21,12 +27,16 @@ module JarWrapper
|
|
21
27
|
|
22
28
|
private
|
23
29
|
|
30
|
+
def windows?
|
31
|
+
!!(RbConfig::CONFIG['host_os'] =~ /mswin|mingw|windows/)
|
32
|
+
end
|
33
|
+
|
24
34
|
def construct_command(args="")
|
25
35
|
command = ["java"]
|
26
36
|
command.push(*java_args)
|
27
37
|
# command.push("-Xbootclasspath/a:#{jruby_complete}")
|
28
38
|
# command.push("-Dfile.encoding=UTF8", "-Xmx320m", "-Xss1024k", "-Djruby.memory.max=320m", "-Djruby.stack.max=1024k", "org.jruby.Main")
|
29
|
-
command.push(*java_opts)
|
39
|
+
command.push(*java_opts) unless java_opts.nil? or java_opts.length == 0
|
30
40
|
|
31
41
|
command.push("-jar", jar_file) if jar_file
|
32
42
|
command.push("-cp", classpath, main_class) if main_class
|
@@ -91,6 +101,8 @@ module JarWrapper
|
|
91
101
|
:windows
|
92
102
|
when /linux/
|
93
103
|
:linux
|
104
|
+
else
|
105
|
+
# type code here
|
94
106
|
end
|
95
107
|
end
|
96
108
|
|
@@ -113,7 +125,7 @@ module JarWrapper
|
|
113
125
|
open(uri) do |in_file|
|
114
126
|
done = false
|
115
127
|
|
116
|
-
|
128
|
+
until done do
|
117
129
|
buffer = in_file.read(1024*1000)
|
118
130
|
out_file.write(buffer)
|
119
131
|
|
@@ -148,6 +160,7 @@ module JarWrapper
|
|
148
160
|
begin
|
149
161
|
entry.extract
|
150
162
|
rescue Zip::ZipDestinationFileExistsError
|
163
|
+
# ignored
|
151
164
|
end
|
152
165
|
end
|
153
166
|
end
|
data/lib/jar_wrapper/version.rb
CHANGED
data/spec/runner_spec.rb
ADDED
@@ -0,0 +1,38 @@
|
|
1
|
+
require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
|
2
|
+
|
3
|
+
require 'jar_wrapper/runner'
|
4
|
+
|
5
|
+
describe JarWrapper::Runner do
|
6
|
+
describe "#build" do
|
7
|
+
before do
|
8
|
+
subject.java_opts = ["-Xmx1024m", "-Xss1024k" ]
|
9
|
+
end
|
10
|
+
|
11
|
+
it "should install jar file from URL" do
|
12
|
+
source = "http://selenium.googlecode.com/files/selenium-server-standalone-2.37.0.jar"
|
13
|
+
target = "selenium-server-standalone-2.37.0.jar"
|
14
|
+
|
15
|
+
subject.stub(:download_file_to)
|
16
|
+
subject.stub(:unzip_file)
|
17
|
+
|
18
|
+
subject.install source, target
|
19
|
+
end
|
20
|
+
|
21
|
+
it "should execute java jar file" do
|
22
|
+
subject.jar_file = "selenium-server-standalone.jar"
|
23
|
+
|
24
|
+
subject.stub(:exec).with "java -XstartOnFirstThread -d32 -client -Xmx1024m -Xss1024k -jar selenium-server-standalone.jar #{`pwd`.chomp!}/spec/runner_spec.rb"
|
25
|
+
|
26
|
+
subject.run ARGV
|
27
|
+
end
|
28
|
+
|
29
|
+
it "should execute java main class" do
|
30
|
+
subject.classpath = "some_class_path"
|
31
|
+
subject.main_class = "main_class"
|
32
|
+
|
33
|
+
subject.stub(:exec).with "java -XstartOnFirstThread -d32 -client -Xmx1024m -Xss1024k -cp some_class_path main_class #{`pwd`.chomp!}/spec/runner_spec.rb"
|
34
|
+
|
35
|
+
subject.run ARGV
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
data/spec/spec_helper.rb
ADDED
metadata
CHANGED
@@ -1,20 +1,18 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: jar_wrapper
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
5
|
-
prerelease:
|
4
|
+
version: 0.1.8
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Alexander Shvets
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date: 2013-
|
11
|
+
date: 2013-11-23 00:00:00.000000000 Z
|
13
12
|
dependencies:
|
14
13
|
- !ruby/object:Gem::Dependency
|
15
14
|
name: zip
|
16
15
|
requirement: !ruby/object:Gem::Requirement
|
17
|
-
none: false
|
18
16
|
requirements:
|
19
17
|
- - ! '>='
|
20
18
|
- !ruby/object:Gem::Version
|
@@ -22,7 +20,6 @@ dependencies:
|
|
22
20
|
type: :runtime
|
23
21
|
prerelease: false
|
24
22
|
version_requirements: !ruby/object:Gem::Requirement
|
25
|
-
none: false
|
26
23
|
requirements:
|
27
24
|
- - ! '>='
|
28
25
|
- !ruby/object:Gem::Version
|
@@ -30,7 +27,6 @@ dependencies:
|
|
30
27
|
- !ruby/object:Gem::Dependency
|
31
28
|
name: gemspec_deps_gen
|
32
29
|
requirement: !ruby/object:Gem::Requirement
|
33
|
-
none: false
|
34
30
|
requirements:
|
35
31
|
- - ! '>='
|
36
32
|
- !ruby/object:Gem::Version
|
@@ -38,7 +34,6 @@ dependencies:
|
|
38
34
|
type: :development
|
39
35
|
prerelease: false
|
40
36
|
version_requirements: !ruby/object:Gem::Requirement
|
41
|
-
none: false
|
42
37
|
requirements:
|
43
38
|
- - ! '>='
|
44
39
|
- !ruby/object:Gem::Version
|
@@ -46,7 +41,6 @@ dependencies:
|
|
46
41
|
- !ruby/object:Gem::Dependency
|
47
42
|
name: gemcutter
|
48
43
|
requirement: !ruby/object:Gem::Requirement
|
49
|
-
none: false
|
50
44
|
requirements:
|
51
45
|
- - ! '>='
|
52
46
|
- !ruby/object:Gem::Version
|
@@ -54,12 +48,11 @@ dependencies:
|
|
54
48
|
type: :development
|
55
49
|
prerelease: false
|
56
50
|
version_requirements: !ruby/object:Gem::Requirement
|
57
|
-
none: false
|
58
51
|
requirements:
|
59
52
|
- - ! '>='
|
60
53
|
- !ruby/object:Gem::Version
|
61
54
|
version: '0'
|
62
|
-
description:
|
55
|
+
description: Wrapper for executable java jar file.
|
63
56
|
email: alexander.shvets@gmail.com
|
64
57
|
executables: []
|
65
58
|
extensions: []
|
@@ -75,7 +68,8 @@ files:
|
|
75
68
|
- .idea/scopes/scope_settings.xml
|
76
69
|
- .idea/vcs.xml
|
77
70
|
- .idea/workspace.xml
|
78
|
-
- .
|
71
|
+
- .ruby-gemset
|
72
|
+
- .ruby-version
|
79
73
|
- CHANGES
|
80
74
|
- Gemfile
|
81
75
|
- Gemfile.lock
|
@@ -87,28 +81,31 @@ files:
|
|
87
81
|
- lib/jar_wrapper.rb
|
88
82
|
- lib/jar_wrapper/runner.rb
|
89
83
|
- lib/jar_wrapper/version.rb
|
84
|
+
- spec/runner_spec.rb
|
85
|
+
- spec/spec_helper.rb
|
90
86
|
homepage: http://github.com/shvets/jar_wrapper
|
91
87
|
licenses: []
|
88
|
+
metadata: {}
|
92
89
|
post_install_message:
|
93
90
|
rdoc_options: []
|
94
91
|
require_paths:
|
95
92
|
- lib
|
96
93
|
required_ruby_version: !ruby/object:Gem::Requirement
|
97
|
-
none: false
|
98
94
|
requirements:
|
99
95
|
- - ! '>='
|
100
96
|
- !ruby/object:Gem::Version
|
101
97
|
version: '0'
|
102
98
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
103
|
-
none: false
|
104
99
|
requirements:
|
105
100
|
- - ! '>='
|
106
101
|
- !ruby/object:Gem::Version
|
107
102
|
version: '0'
|
108
103
|
requirements: []
|
109
104
|
rubyforge_project:
|
110
|
-
rubygems_version:
|
105
|
+
rubygems_version: 2.0.7
|
111
106
|
signing_key:
|
112
|
-
specification_version:
|
113
|
-
summary:
|
114
|
-
test_files:
|
107
|
+
specification_version: 4
|
108
|
+
summary: Wrapper for executable java jar file (summary).
|
109
|
+
test_files:
|
110
|
+
- spec/runner_spec.rb
|
111
|
+
- spec/spec_helper.rb
|