lock_jar 0.3.1 → 0.3.2

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.
data/Gemfile CHANGED
@@ -8,4 +8,5 @@ group :development do
8
8
  gem "rspec", "~> 2.9.0"
9
9
  gem "bundler", "~> 1.1.0"
10
10
  gem "jeweler", "~> 1.6.4"
11
+ gem "yard", "~> 0.8.0"
11
12
  end
data/README.rdoc CHANGED
@@ -7,6 +7,8 @@ The Jarfile.lock can be used to populate the classpath.
7
7
 
8
8
  https://github.com/mguymon/lock_jar
9
9
 
10
+ {RDoc}[http://rubydoc.info/github/mguymon/lock_jar/master/frames]
11
+
10
12
  == Install
11
13
 
12
14
  gem install lock_jar
@@ -46,11 +48,11 @@ Example Jarfile
46
48
 
47
49
  ==== Resolving dependencies
48
50
 
49
- * LockJar.lock( *args ): Using a Jarfile, creates a lock file. Default jarfile is *Jarfile* and default lockfile is *Jarfile.lock*.
50
- * An arg of a String will set the Jarfile, e.g. 'Jarfile.different'
51
+ * LockJar.lock( *args ): Using a Jarfile, creates a lock file. Depending on the type of arg, a different configuration is set.
52
+ * An arg of a String will set the Jarfile, e.g. 'Jarfile.different'. Default jarfile is *Jarfile*
51
53
  * An arg of a Hash will set the options, e.g. { :local_repo => 'path' }
52
54
  * :local_repo sets the local repo path
53
- * :lockfile sets the Jarfile.lock path
55
+ * :lockfile sets the Jarfile.lock path. Default lockfile is *Jarfile.lock*.
54
56
 
55
57
  When the Jarfile is locked, the transitive dependencies are resolved and saved to the Jarfile.lock file.
56
58
 
@@ -100,9 +102,9 @@ The Jarfile.lock
100
102
 
101
103
  ==== Accessing Jars
102
104
 
103
- * LockJar.list(*args): Lists all dependencies as notations for scopes from the Jarfile.lock. Defaults scopes are *compile* and *runtime*. Default lock file is *Jarfile.lock*.
104
- * An arg of a String will set the Jarfile.lock, e.g. 'Better.lock'
105
- * An arg of an Array will set the scopes, e.g. ['compile','test']
105
+ * LockJar.list(*args): Lists all dependencies as notations for scopes from the Jarfile.lock. Depending on the type of arg, a different configuration is set.
106
+ * An arg of a String will set the Jarfile.lock, e.g. 'Better.lock'. Default lock file is *Jarfile.lock*.
107
+ * An arg of an Array will set the scopes, e.g. ['compile','test']. Defaults scopes are *compile* and *runtime*.
106
108
  * An arg of a Hash will set the options, e.g. { :local_repo => 'path' }
107
109
  * :local_repo sets the local repo path
108
110
  * :local_paths converts the notations to paths to jars in the local repo path
@@ -129,19 +131,19 @@ Do not forget, if you change your Jarfile, you have to re-generate the Jarfile.l
129
131
 
130
132
  You can skip the Jarfile and Jarfile.lock to directly play with dependencies by passing a block to LockJar.lock, LockJar.list, LockJar.load
131
133
 
132
- ===== Lock with a Jarfile
134
+ ===== Lock without a Jarfile
133
135
 
134
136
  LockJar.lock do
135
137
  jar 'org.eclipse.jetty:example-jetty-embedded:jar:8.1.2.v20120308'
136
138
  end
137
139
 
138
- ===== List with a Jarfile
140
+ ===== List without a Jarfile.lock
139
141
 
140
142
  LockJar.list do
141
143
  jar 'org.eclipse.jetty:example-jetty-embedded:jar:8.1.2.v20120308'
142
144
  end
143
145
 
144
- ===== Load with a Jarfile
146
+ ===== Load without a Jarfile.lock
145
147
 
146
148
  LockJar.load do
147
149
  jar 'org.eclipse.jetty:example-jetty-embedded:jar:8.1.2.v20120308'
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.3.1
1
+ 0.3.2
@@ -16,22 +16,58 @@
16
16
  require 'lock_jar/runtime'
17
17
 
18
18
  module LockJar
19
+
20
+ # Helper for providing Maven specific operations
21
+ #
22
+ # @author Michael Guymon
23
+ #
19
24
  class Maven
20
25
 
21
26
  class << self
22
27
 
28
+ #
29
+ # Get the version of a POM
30
+ #
31
+ # @param [String] pom_path path to the pom
32
+ # @param [Hash] options
33
+ #
34
+ # @return [String] version of POM
35
+ #
23
36
  def pom_version( pom_path, opts = {} )
24
37
  Runtime.instance.resolver(opts).naether.pom_version( pom_path )
25
38
  end
26
39
 
27
- def write_pom( notation, file_path, opts = {} )
28
- Runtime.instance.resolver(opts).naether.write_pom( notation, file_path )
40
+ #
41
+ # Write a POM from list of notations
42
+ #
43
+ # @param [Array] notations
44
+ # @param [String] file_path path of new pom
45
+ # @param [Hash] options
46
+ def write_pom( notations, file_path, opts = {} )
47
+ Runtime.instance.resolver(opts).naether.write_pom( notations, file_path )
29
48
  end
30
49
 
50
+ #
51
+ # Deploy an artifact to a Maven repository
52
+ #
53
+ # @param [String] notation of artifact
54
+ # @param [String] file_path path to the Jar
55
+ # @param [String] url Maven repository deploying to
56
+ # @param [Hash] deploy_opts options for deploying
57
+ # @param [Hash] lockjar_opts options for initializing LockJar
58
+ #
31
59
  def deploy_artifact( notation, file_path, url, deploy_opts = {}, lockjar_opts = {} )
32
60
  Runtime.instance.resolver(lockjar_opts).naether.deploy_artifact( notation, file_path, url, deploy_opts )
33
61
  end
34
62
 
63
+ #
64
+ # Install an artifact to a local repository
65
+ #
66
+ # @param [String] notation of artifact
67
+ # @param [String] pom_path path to the pom
68
+ # @param [String] jar_path path to the jar
69
+ # @param [Hash] opts options
70
+ #
35
71
  def install( notation, pom_path, jar_path, opts = {} )
36
72
  Runtime.instance.resolver(opts).naether.install( notation, pom_path, jar_path )
37
73
  end
@@ -35,7 +35,7 @@ module LockJar
35
35
  deps = Naether::Bootstrap.download_dependencies( temp_jar_dir, deps.merge( :local_repo => local_repo ) )
36
36
  if deps[:downloaded].size > 0
37
37
 
38
- unless Dir.exists?( temp_jar_dir )
38
+ unless File.directory?( temp_jar_dir )
39
39
  FileUtils.mkdir_p jar_dir
40
40
  end
41
41
 
@@ -84,23 +84,19 @@ module LockJar
84
84
  lock_data['repositories'] = lock_jar_file.repositories
85
85
 
86
86
  if needs_force_encoding
87
- lock_data['repositories'].map { |repo| repo.force_encoding("UTF-8") }
87
+ lock_data['repositories'].map! { |repo| repo.force_encoding("UTF-8") }
88
88
  end
89
89
  end
90
90
 
91
91
  if lock_jar_file.maps.size > 0
92
92
  lock_data['maps'] = lock_jar_file.maps
93
-
94
- #if needs_force_encoding
95
- # lock_data['maps'].map { |maps| maps.map { |map| map.force_encoding("UTF-8") } }
96
- #end
97
93
  end
98
94
 
99
95
  if lock_jar_file.excludes.size > 0
100
96
  lock_data['excludes'] = lock_jar_file.excludes
101
97
 
102
98
  if needs_force_encoding
103
- lock_data['excludes'].map { |exclude| exclude.force_encoding("UTF-8") }
99
+ lock_data['excludes'].map! { |exclude| exclude.force_encoding("UTF-8") }
104
100
  end
105
101
  end
106
102
 
@@ -109,7 +105,7 @@ module LockJar
109
105
  lock_jar_file.notations.each do |scope, notations|
110
106
 
111
107
  if needs_force_encoding
112
- notations.map { |notation| notation.force_encoding("UTF-8") }
108
+ notations.map! { |notation| notation.force_encoding("UTF-8") }
113
109
  end
114
110
 
115
111
  dependencies = []
data/lib/lock_jar.rb CHANGED
@@ -19,15 +19,32 @@ require 'lock_jar/resolver'
19
19
  require 'lock_jar/dsl'
20
20
  require 'lock_jar/runtime'
21
21
 
22
+ #
23
+ # LockJar manages Java Jars for Ruby.
24
+ #
25
+ # @author Michael Guymon
26
+ #
22
27
  module LockJar
23
28
 
29
+ #
30
+ # Override LockJar configuration
31
+ #
24
32
  def self.config( opts )
25
33
  Runtime.instance.resolver( opts )
26
34
  end
27
35
 
28
- # Lock a Jarfile and generate a Jarfile.lock
36
+ # Lock a Jarfile and generate a Jarfile.lock.
37
+ #
38
+ # LockJar.lock accepts an Array for parameters. Depending on the type of arg, a different configuration is set.
29
39
  #
30
- # Accepts path to the jarfile and hash of options to configure LockJar
40
+ # * An arg of a String will set the Jarfile, e.g. 'Jarfile.different'. Default Jarfile is *Jarfile*.
41
+ # * An arg of a Hash will set the options, e.g. { :local_repo => 'path' }
42
+ # * :local_repo sets the local repo path
43
+ # * :lockfile sets the Jarfile.lock path. Default lockfile is *Jarfile.lock*.
44
+ #
45
+ # A block can be passed in, overriding values from a Jarfile.
46
+ #
47
+ # @return [Hash] Lock data
31
48
  def self.lock( *args, &blk )
32
49
  jarfile = nil
33
50
  opts = {}
@@ -48,9 +65,18 @@ module LockJar
48
65
  Runtime.instance.lock( jarfile, opts, &blk )
49
66
  end
50
67
 
51
- # List jars for an array of scope in a lockfile
68
+ # Lists all dependencies as notations for scopes from the Jarfile.lock. Depending on the type of arg, a different configuration is set.
69
+ #
70
+ # * An arg of a String will set the Jarfile.lock, e.g. 'Better.lock'. Default lock file is *Jarfile.lock*.
71
+ # * An arg of an Array will set the scopes, e.g. ['compile','test']. Defaults scopes are *compile* and *runtime*
72
+ # * An arg of a Hash will set the options, e.g. { :local_repo => 'path' }
73
+ # * :local_repo sets the local repo path
74
+ # * :local_paths converts the notations to paths to jars in the local repo path
75
+ # * :resolve to true will make transitive dependences resolve before loading to classpath
76
+ #
77
+ # A block can be passed in, overriding values from a Jarfile.lock.
52
78
  #
53
- # Accepts path to the lockfile, array of scopes, and hash of options to configure LockJar
79
+ # @return [Array] of jar and mapped path
54
80
  def self.list( *args, &blk )
55
81
  lockfile = nil
56
82
  opts = {}
@@ -74,10 +100,16 @@ module LockJar
74
100
  Runtime.instance.list( lockfile, scopes, opts, &blk )
75
101
  end
76
102
 
77
- # Load jars for an array of scopes in a lockfile. Defaults lockfile to Jarfile.lock
103
+ # LockJar.load(*args): Loads all dependencies to the classpath for scopes from the Jarfile.lock. Depending on the type of arg, a different configuration is set.
104
+ # * An arg of a String will set the Jarfile.lock, e.g. 'Better.lock'. Default lock file is *Jarfile.lock*.
105
+ # * An arg of an Array will set the scopes, e.g. ['compile','test'].Defaults scopes are *compile* and *runtime*.
106
+ # * An arg of a Hash will set the options, e.g. { :local_repo => 'path' }
107
+ # * :local_repo sets the local repo path
108
+ # * :resolve to true will make transitive dependences resolve before loading to classpath
109
+ #
110
+ # A block can be passed in, overriding values from a Jarfile.lock.
78
111
  #
79
- # Accepts a path to the lockfile, array scopes, and hash of options to configure LockJar. A
80
- # block of LockJar::Dsl can be set.
112
+ # @return [Array] of absolute paths of jars and mapped paths loaded into claspath
81
113
  def self.load( *args, &blk )
82
114
  lockfile = nil
83
115
  opts = {}
@@ -101,6 +133,11 @@ module LockJar
101
133
  Runtime.instance.load( lockfile, scopes, opts, &blk )
102
134
  end
103
135
 
136
+ #
137
+ # Read a Jafile.lock and convert it to a Hash
138
+ #
139
+ # @param [String] lockfile path to lockfile
140
+ # @return [Hash] Lock Data
104
141
  def self.read( lockfile )
105
142
  Runtime.instance.read_lockfile( lockfile )
106
143
  end
data/lock_jar.gemspec CHANGED
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = "lock_jar"
8
- s.version = "0.3.1"
8
+ s.version = "0.3.2"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Michael Guymon"]
12
- s.date = "2012-05-14"
12
+ s.date = "2012-05-17"
13
13
  s.description = "Manage Jar files for Ruby. In the spirit of Bundler, a Jarfile\n is used to generate a Jarfile.lock that contains all the resolved jar dependencies for scopes runtime, compile, and test.\n The Jarfile.lock can be used to populate the classpath"
14
14
  s.email = "michael.guymon@gmail.com"
15
15
  s.extra_rdoc_files = [
@@ -45,7 +45,7 @@ Gem::Specification.new do |s|
45
45
  s.homepage = "http://github.com/mguymon/lock_jar"
46
46
  s.licenses = ["Apache"]
47
47
  s.require_paths = ["lib"]
48
- s.rubygems_version = "1.8.15"
48
+ s.rubygems_version = "1.8.24"
49
49
  s.summary = "Manage Jar files for Ruby"
50
50
 
51
51
  if s.respond_to? :specification_version then
@@ -56,17 +56,20 @@ Gem::Specification.new do |s|
56
56
  s.add_development_dependency(%q<rspec>, ["~> 2.9.0"])
57
57
  s.add_development_dependency(%q<bundler>, ["~> 1.1.0"])
58
58
  s.add_development_dependency(%q<jeweler>, ["~> 1.6.4"])
59
+ s.add_development_dependency(%q<yard>, ["~> 0.8.0"])
59
60
  else
60
61
  s.add_dependency(%q<naether>, ["~> 0.8.0"])
61
62
  s.add_dependency(%q<rspec>, ["~> 2.9.0"])
62
63
  s.add_dependency(%q<bundler>, ["~> 1.1.0"])
63
64
  s.add_dependency(%q<jeweler>, ["~> 1.6.4"])
65
+ s.add_dependency(%q<yard>, ["~> 0.8.0"])
64
66
  end
65
67
  else
66
68
  s.add_dependency(%q<naether>, ["~> 0.8.0"])
67
69
  s.add_dependency(%q<rspec>, ["~> 2.9.0"])
68
70
  s.add_dependency(%q<bundler>, ["~> 1.1.0"])
69
71
  s.add_dependency(%q<jeweler>, ["~> 1.6.4"])
72
+ s.add_dependency(%q<yard>, ["~> 0.8.0"])
70
73
  end
71
74
  end
72
75
 
@@ -11,7 +11,6 @@ describe Bundler do
11
11
 
12
12
  before(:all) do
13
13
  FileUtils.rm_rf( bundled_app ) if File.exists? bundled_app
14
- FileUtils.mkdir_p tmp('bundler')
15
14
  end
16
15
 
17
16
  before(:each) do
@@ -27,6 +26,9 @@ describe Bundler do
27
26
  pom "#{File.join(root, 'spec', 'pom.xml')}", :scope => :development
28
27
  end
29
28
  G
29
+
30
+ ENV['BUNDLE_GEMFILE'] = bundled_app("Gemfile").to_s
31
+
30
32
  in_app_root
31
33
  end
32
34
 
@@ -36,10 +38,13 @@ describe Bundler do
36
38
  end
37
39
 
38
40
  it "provides a list of the env dependencies" do
39
- Bundler.load.dependencies.should have_dep("naether", ">= 0")
41
+ dep = Bundler.load.dependencies.first
42
+ dep.name.should eql("naether")
43
+ (dep.requirement >= ">= 0").should be_true
40
44
  end
41
45
 
42
46
  it "provides a list of the jar and pom dependencies" do
47
+ # XXX: In JRuby - works in autotest, fails directly from rspec. *sigh*
43
48
  Bundler.load.lock_jar.notations.should eql( {"compile"=>[File.expand_path(File.join(File.dirname(__FILE__), "../../spec/pom.xml"))], "runtime"=>[], "test"=>["junit:junit:jar:4.10"]} )
44
49
  end
45
50
 
@@ -4,11 +4,11 @@ require 'lib/lock_jar/runtime'
4
4
  describe LockJar::Runtime do
5
5
  context "Singleton" do
6
6
  it "should set local repo" do
7
- LockJar::Runtime.instance.load( nil ) do
7
+ LockJar::Runtime.instance.load( nil, [], :resolve => true, :local_repo => 'tmp/test-repo' ) do
8
8
  jar 'junit:junit:4.10'
9
9
  end
10
10
 
11
- LockJar::Runtime.instance.current_resolver.naether.local_repo_path.should eql File.expand_path('~/.m2/repository')
11
+ LockJar::Runtime.instance.current_resolver.naether.local_repo_path.should eql File.expand_path('tmp/test-repo')
12
12
 
13
13
  LockJar::Runtime.instance.load( nil, [], :local_repo => 'tmp/param_config' ) do
14
14
  local 'dsl_config'
data/spec/spec_helper.rb CHANGED
@@ -1,6 +1,6 @@
1
1
  $:.unshift File.expand_path('.')
2
2
  $:.unshift File.expand_path(File.join('..', File.dirname(__FILE__)))
3
- $:.unshift File.expand_path(File.join('../lib', File.dirname(__FILE__)))
3
+ $:.unshift File.expand_path(File.join('..', File.dirname(__FILE__), 'lib'))
4
4
 
5
5
  require 'rubygems'
6
6
  require 'rspec'
metadata CHANGED
@@ -1,71 +1,115 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: lock_jar
3
- version: !ruby/object:Gem::Version
4
- version: 0.3.1
3
+ version: !ruby/object:Gem::Version
4
+ hash: 23
5
5
  prerelease:
6
+ segments:
7
+ - 0
8
+ - 3
9
+ - 2
10
+ version: 0.3.2
6
11
  platform: ruby
7
- authors:
12
+ authors:
8
13
  - Michael Guymon
9
14
  autorequire:
10
15
  bindir: bin
11
16
  cert_chain: []
12
- date: 2012-05-14 00:00:00.000000000 Z
13
- dependencies:
14
- - !ruby/object:Gem::Dependency
15
- name: naether
16
- requirement: &15583440 !ruby/object:Gem::Requirement
17
+
18
+ date: 2012-05-17 00:00:00 Z
19
+ dependencies:
20
+ - !ruby/object:Gem::Dependency
21
+ prerelease: false
22
+ requirement: &id001 !ruby/object:Gem::Requirement
17
23
  none: false
18
- requirements:
24
+ requirements:
19
25
  - - ~>
20
- - !ruby/object:Gem::Version
26
+ - !ruby/object:Gem::Version
27
+ hash: 63
28
+ segments:
29
+ - 0
30
+ - 8
31
+ - 0
21
32
  version: 0.8.0
22
33
  type: :runtime
34
+ name: naether
35
+ version_requirements: *id001
36
+ - !ruby/object:Gem::Dependency
23
37
  prerelease: false
24
- version_requirements: *15583440
25
- - !ruby/object:Gem::Dependency
26
- name: rspec
27
- requirement: &15580160 !ruby/object:Gem::Requirement
38
+ requirement: &id002 !ruby/object:Gem::Requirement
28
39
  none: false
29
- requirements:
40
+ requirements:
30
41
  - - ~>
31
- - !ruby/object:Gem::Version
42
+ - !ruby/object:Gem::Version
43
+ hash: 43
44
+ segments:
45
+ - 2
46
+ - 9
47
+ - 0
32
48
  version: 2.9.0
33
49
  type: :development
50
+ name: rspec
51
+ version_requirements: *id002
52
+ - !ruby/object:Gem::Dependency
34
53
  prerelease: false
35
- version_requirements: *15580160
36
- - !ruby/object:Gem::Dependency
37
- name: bundler
38
- requirement: &15700940 !ruby/object:Gem::Requirement
54
+ requirement: &id003 !ruby/object:Gem::Requirement
39
55
  none: false
40
- requirements:
56
+ requirements:
41
57
  - - ~>
42
- - !ruby/object:Gem::Version
58
+ - !ruby/object:Gem::Version
59
+ hash: 19
60
+ segments:
61
+ - 1
62
+ - 1
63
+ - 0
43
64
  version: 1.1.0
44
65
  type: :development
66
+ name: bundler
67
+ version_requirements: *id003
68
+ - !ruby/object:Gem::Dependency
45
69
  prerelease: false
46
- version_requirements: *15700940
47
- - !ruby/object:Gem::Dependency
48
- name: jeweler
49
- requirement: &15697920 !ruby/object:Gem::Requirement
70
+ requirement: &id004 !ruby/object:Gem::Requirement
50
71
  none: false
51
- requirements:
72
+ requirements:
52
73
  - - ~>
53
- - !ruby/object:Gem::Version
74
+ - !ruby/object:Gem::Version
75
+ hash: 7
76
+ segments:
77
+ - 1
78
+ - 6
79
+ - 4
54
80
  version: 1.6.4
55
81
  type: :development
82
+ name: jeweler
83
+ version_requirements: *id004
84
+ - !ruby/object:Gem::Dependency
56
85
  prerelease: false
57
- version_requirements: *15697920
58
- description: ! "Manage Jar files for Ruby. In the spirit of Bundler, a Jarfile\n is
59
- used to generate a Jarfile.lock that contains all the resolved jar dependencies
60
- for scopes runtime, compile, and test.\n The Jarfile.lock can be used to populate
61
- the classpath"
86
+ requirement: &id005 !ruby/object:Gem::Requirement
87
+ none: false
88
+ requirements:
89
+ - - ~>
90
+ - !ruby/object:Gem::Version
91
+ hash: 63
92
+ segments:
93
+ - 0
94
+ - 8
95
+ - 0
96
+ version: 0.8.0
97
+ type: :development
98
+ name: yard
99
+ version_requirements: *id005
100
+ description: |-
101
+ Manage Jar files for Ruby. In the spirit of Bundler, a Jarfile
102
+ is used to generate a Jarfile.lock that contains all the resolved jar dependencies for scopes runtime, compile, and test.
103
+ The Jarfile.lock can be used to populate the classpath
62
104
  email: michael.guymon@gmail.com
63
105
  executables: []
106
+
64
107
  extensions: []
65
- extra_rdoc_files:
108
+
109
+ extra_rdoc_files:
66
110
  - LICENSE
67
111
  - README.rdoc
68
- files:
112
+ files:
69
113
  - Gemfile
70
114
  - LICENSE
71
115
  - README.rdoc
@@ -91,31 +135,37 @@ files:
91
135
  - spec/pom.xml
92
136
  - spec/spec_helper.rb
93
137
  homepage: http://github.com/mguymon/lock_jar
94
- licenses:
138
+ licenses:
95
139
  - Apache
96
140
  post_install_message:
97
141
  rdoc_options: []
98
- require_paths:
142
+
143
+ require_paths:
99
144
  - lib
100
- required_ruby_version: !ruby/object:Gem::Requirement
145
+ required_ruby_version: !ruby/object:Gem::Requirement
101
146
  none: false
102
- requirements:
103
- - - ! '>='
104
- - !ruby/object:Gem::Version
105
- version: '0'
106
- segments:
147
+ requirements:
148
+ - - ">="
149
+ - !ruby/object:Gem::Version
150
+ hash: 3
151
+ segments:
107
152
  - 0
108
- hash: -3207536742551290776
109
- required_rubygems_version: !ruby/object:Gem::Requirement
153
+ version: "0"
154
+ required_rubygems_version: !ruby/object:Gem::Requirement
110
155
  none: false
111
- requirements:
112
- - - ! '>='
113
- - !ruby/object:Gem::Version
114
- version: '0'
156
+ requirements:
157
+ - - ">="
158
+ - !ruby/object:Gem::Version
159
+ hash: 3
160
+ segments:
161
+ - 0
162
+ version: "0"
115
163
  requirements: []
164
+
116
165
  rubyforge_project:
117
- rubygems_version: 1.8.15
166
+ rubygems_version: 1.8.24
118
167
  signing_key:
119
168
  specification_version: 3
120
169
  summary: Manage Jar files for Ruby
121
170
  test_files: []
171
+