lock_jar 0.6.1 → 0.6.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
@@ -9,4 +9,6 @@ group :development do
9
9
  gem "rspec", "~> 2.9.0"
10
10
  gem "jeweler", "~> 1.8.4"
11
11
  gem "yard", "~> 0.8.0"
12
+ gem 'solr_sail', '~>0.0.6'
13
+ gem 'jruby-openssl', :platforms => :jruby
12
14
  end
data/README.md CHANGED
@@ -126,6 +126,8 @@ or directly load all Jars into the classpath
126
126
 
127
127
  Do not forget, if you change your _Jarfile_, you have to re-generate the _Jarfile.lock_.
128
128
 
129
+ See also [loading Jars into a custom ClassLoader](https://github.com/mguymon/lock_jar/wiki/ClassLoader).
130
+
129
131
  ### Shortcuts
130
132
 
131
133
  #### Skipping the Jarfile
@@ -208,7 +210,8 @@ renamed to `Rakefile`.
208
210
 
209
211
  ### Loading
210
212
 
211
- With the Jars already installed, loading the classpath for the Gem is simple. As part of the load process for the Gem add (entry file that is required, etc):
213
+ With the Jars already installed, loading the classpath for the Gem is simple.
214
+ As part of the load process for the Gem (an entry file that is required, etc) use the following:
212
215
 
213
216
  #get jarfile relative the gem dir
214
217
  lockfile = File.expand_path( "../Jarfile.lock", __FILE__ )
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.6.1
1
+ 0.6.2
@@ -0,0 +1,69 @@
1
+ # Licensed to the Apache Software Foundation (ASF) under one or more
2
+ # contributor license agreements. See the NOTICE file distributed with this
3
+ # work for additional information regarding copyright ownership. The ASF
4
+ # licenses this file to you under the Apache License, Version 2.0 (the
5
+ # "License"); you may not use this file except in compliance with the License.
6
+ # You may obtain a copy of the License at
7
+ #
8
+ # http://www.apache.org/licenses/LICENSE-2.0
9
+ #
10
+ # Unless required by applicable law or agreed to in writing, software
11
+ # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
12
+ # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
13
+ # License for the specific language governing permissions and limitations under
14
+ # the License.
15
+
16
+ require 'lock_jar'
17
+ require 'naether'
18
+
19
+ module LockJar
20
+
21
+ #
22
+ # Create a ClassLoader populated by a lockfile
23
+ #
24
+ # @author Michael Guymon
25
+ #
26
+ class ClassLoader
27
+
28
+ # Create new instance, populating ClassLoader with lockfile
29
+ #
30
+ # @param [String] lockfile path
31
+ def initialize( lockfile )
32
+ # XXX: ensure Naether has been loaded, this should be handled less
33
+ # clumsily
34
+ LockJar::Runtime.instance.resolver(nil)
35
+ @class_loader = com.tobedevoured.naether.PathClassLoader.new(JRuby.runtime.jruby_class_loader)
36
+
37
+ jars = LockJar.list( lockfile, :local_paths => true )
38
+ jars.each do |jar|
39
+ add_path( jar )
40
+ end
41
+ end
42
+
43
+ # Execute block
44
+ #
45
+ # @param [Block] blk
46
+ def isolate(&blk)
47
+ instance_eval(&blk)
48
+ end
49
+
50
+ # Add path to the ClassLoader
51
+ #
52
+ # @param [String] path of Jar or directory to add to ClassLoader
53
+ # @return [Boolean] if added
54
+ def add_path( path )
55
+ @class_loader.addPath( path )
56
+ end
57
+
58
+ #
59
+ # Create new instance of a Java class using the populated ClassLoader
60
+ #
61
+ # @param [String] clazz fully qualified Java class
62
+ # @param [Array] args arguments for constructing the Java class
63
+ # @return [Object]
64
+ def new_instance( clazz, *args )
65
+ @class_loader.newInstance( clazz, *args )
66
+ end
67
+
68
+ end
69
+ end
@@ -0,0 +1,50 @@
1
+
2
+ class LockJar::Registry
3
+ include Singleton
4
+
5
+ attr_accessor :loaded_gems
6
+ attr_accessor :loaded_jars
7
+
8
+ def initialize
9
+ @loaded_gems = {}
10
+ @loaded_jars = []
11
+ end
12
+
13
+ def register_jars( jars )
14
+ if jars
15
+ jars_to_load = jars - @loaded_jars
16
+
17
+ @loaded_jars += jars_to_load
18
+
19
+ jars_to_load
20
+ end
21
+ end
22
+
23
+ def load_gem( spec )
24
+ if @loaded_gems[spec.name].nil?
25
+ @loaded_gems[spec.name] = spec
26
+ gem_dir = spec.gem_dir
27
+
28
+ lockfile = File.join( gem_dir, "Jarfile.lock" )
29
+
30
+ if File.exists?( lockfile )
31
+ puts "#{spec.name} has Jarfile.lock, loading jars"
32
+ LockJar.load( lockfile )
33
+ end
34
+ end
35
+ end
36
+
37
+ def load_jars_for_gems
38
+ specs = Gem.loaded_specs
39
+ if specs
40
+ gems_to_check = specs.keys - @loaded_gems.keys
41
+ if gems_to_check.size > 0
42
+ gems_to_check.each do |key|
43
+ spec = specs[key]
44
+ load_gem( spec )
45
+ end
46
+ end
47
+ end
48
+ end
49
+
50
+ end
@@ -0,0 +1,21 @@
1
+ require 'lock_jar/registry'
2
+
3
+ module LockJar::Rubygems
4
+ module Kernel
5
+ unless respond_to? :lock_jar_registry
6
+ def lock_jar_registry
7
+ LockJar::Registry.instance
8
+ end
9
+
10
+ alias :_pre_lockjar_require :require
11
+
12
+ def require( filename )
13
+ spec = Gem::Specification.find_by_path( filename )
14
+ if spec
15
+ lock_jar_registry.load_gem( spec )
16
+ end
17
+ _pre_lockjar_require( filename )
18
+ end
19
+ end
20
+ end
21
+ end
@@ -19,6 +19,7 @@ require 'singleton'
19
19
  require 'lock_jar/resolver'
20
20
  require 'lock_jar/dsl'
21
21
  require 'lock_jar/runtime'
22
+ require 'lock_jar/registry'
22
23
 
23
24
  module LockJar
24
25
  class Runtime
@@ -27,13 +28,23 @@ module LockJar
27
28
  attr_reader :current_resolver
28
29
 
29
30
  def resolver( opts = {} )
30
- if opts[:local_repo]
31
- opts[:local_repo] = File.expand_path(opts[:local_repo])
32
- end
33
31
 
34
32
  # XXX: Caches the resolver by the options. Passing in nil opts will replay
35
33
  # from the cache. This need to change.
36
- if @current_resolver.nil? || (!opts.nil? && opts != @current_resolver.opts)
34
+
35
+ unless opts.nil?
36
+ if opts[:local_repo]
37
+ opts[:local_repo] = File.expand_path(opts[:local_repo])
38
+ end
39
+ else
40
+ if @current_resolver
41
+ opts = @current_resolver.opts
42
+ else
43
+ opts = {}
44
+ end
45
+ end
46
+
47
+ if @current_resolver.nil? || opts != @current_resolver.opts
37
48
  @current_resolver = LockJar::Resolver.new( opts )
38
49
  end
39
50
 
@@ -212,7 +223,7 @@ module LockJar
212
223
  end
213
224
  end
214
225
 
215
- dependencies = list( jarfile_lock, scopes, opts, &blk )
226
+ dependencies = LockJar::Registry.instance.register_jars( list( jarfile_lock, scopes, opts, &blk ) )
216
227
 
217
228
  resolver(opts).load_to_classpath( dependencies )
218
229
  end
data/lib/lock_jar.rb CHANGED
@@ -19,6 +19,7 @@ require 'lock_jar/resolver'
19
19
  require 'lock_jar/dsl'
20
20
  require 'lock_jar/runtime'
21
21
  require 'lock_jar/version'
22
+ require 'lock_jar/rubygems'
22
23
 
23
24
  #
24
25
  # LockJar manages Java Jars for Ruby.
@@ -63,9 +64,9 @@ module LockJar
63
64
  # * An arg of a String will set the Jarfile.lock, e.g. 'Better.lock'. Default lock file is *Jarfile.lock*.
64
65
  # * An arg of an Array will set the scopes, e.g. ['compile','test']. Defaults scopes are *compile* and *runtime*
65
66
  # * An arg of a Hash will set the options, e.g. { :local_repo => 'path' }
66
- # * :local_repo sets the local repo path
67
- # * :local_paths converts the notations to paths to jars in the local repo path
68
- # * :resolve to true will make transitive dependences resolve before loading to classpath
67
+ # * :local_repo [String] sets the local repo path
68
+ # * :local_paths [Boolean] to true converts the notations to paths to jars in the local repo path
69
+ # * :resolve [Boolean] to true will make transitive dependences resolve before loading to classpath
69
70
  #
70
71
  # A block can be passed in, overriding values from a Jarfile.lock.
71
72
  #
@@ -168,5 +169,6 @@ module LockJar
168
169
  Runtime.instance.read_lockfile( lockfile )
169
170
  end
170
171
 
172
+ end
171
173
 
172
- end
174
+ #include LockJar::Rubygems::Kernel
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.6.1"
8
+ s.version = "0.6.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-09-25"
12
+ s.date = "2012-09-28"
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@tobedevoured.com"
15
15
  s.executables = ["lockjar"]
@@ -27,17 +27,22 @@ Gem::Specification.new do |s|
27
27
  "bin/lockjar",
28
28
  "lib/lock_jar.rb",
29
29
  "lib/lock_jar/buildr.rb",
30
+ "lib/lock_jar/class_loader.rb",
30
31
  "lib/lock_jar/cli.rb",
31
32
  "lib/lock_jar/dsl.rb",
32
33
  "lib/lock_jar/maven.rb",
34
+ "lib/lock_jar/registry.rb",
33
35
  "lib/lock_jar/resolver.rb",
36
+ "lib/lock_jar/rubygems.rb",
34
37
  "lib/lock_jar/runtime.rb",
35
38
  "lib/lock_jar/version.rb",
36
39
  "lock_jar.gemspec",
37
40
  "spec/Jarfile",
41
+ "spec/lock_jar/class_loader_spec.rb",
38
42
  "spec/lock_jar/dsl_spec.rb",
39
43
  "spec/lock_jar/maven_spec.rb",
40
44
  "spec/lock_jar/resolver_spec.rb",
45
+ "spec/lock_jar/rubygems_spec.rb",
41
46
  "spec/lock_jar/runtime_spec.rb",
42
47
  "spec/lock_jar_spec.rb",
43
48
  "spec/pom.xml",
@@ -58,12 +63,16 @@ Gem::Specification.new do |s|
58
63
  s.add_development_dependency(%q<rspec>, ["~> 2.9.0"])
59
64
  s.add_development_dependency(%q<jeweler>, ["~> 1.8.4"])
60
65
  s.add_development_dependency(%q<yard>, ["~> 0.8.0"])
66
+ s.add_development_dependency(%q<solr_sail>, ["~> 0.0.6"])
67
+ s.add_development_dependency(%q<jruby-openssl>, [">= 0"])
61
68
  else
62
69
  s.add_dependency(%q<naether>, ["~> 0.9.0"])
63
70
  s.add_dependency(%q<thor>, ["~> 0.14.6"])
64
71
  s.add_dependency(%q<rspec>, ["~> 2.9.0"])
65
72
  s.add_dependency(%q<jeweler>, ["~> 1.8.4"])
66
73
  s.add_dependency(%q<yard>, ["~> 0.8.0"])
74
+ s.add_dependency(%q<solr_sail>, ["~> 0.0.6"])
75
+ s.add_dependency(%q<jruby-openssl>, [">= 0"])
67
76
  end
68
77
  else
69
78
  s.add_dependency(%q<naether>, ["~> 0.9.0"])
@@ -71,6 +80,8 @@ Gem::Specification.new do |s|
71
80
  s.add_dependency(%q<rspec>, ["~> 2.9.0"])
72
81
  s.add_dependency(%q<jeweler>, ["~> 1.8.4"])
73
82
  s.add_dependency(%q<yard>, ["~> 0.8.0"])
83
+ s.add_dependency(%q<solr_sail>, ["~> 0.0.6"])
84
+ s.add_dependency(%q<jruby-openssl>, [">= 0"])
74
85
  end
75
86
  end
76
87
 
data/spec/Jarfile CHANGED
@@ -5,7 +5,7 @@ jar "org.apache.mina:mina-core:2.0.4"
5
5
  pom 'spec/pom.xml'
6
6
 
7
7
  scope 'runtime' do
8
- jar 'org.apache.tomcat:servlet-api:jar:6.0.35'
8
+ jar 'com.typesafe:config:jar:0.5.0'
9
9
  end
10
10
 
11
11
  scope 'test' do
@@ -0,0 +1,53 @@
1
+ require File.expand_path(File.join(File.dirname(__FILE__),'../spec_helper'))
2
+ require 'lib/lock_jar/class_loader'
3
+
4
+
5
+ describe LockJar::ClassLoader, "#isolate" do
6
+
7
+ it "should create a SimpleEmail" do
8
+ # Generate the IsolateJarfile.lock
9
+ LockJar.lock( :lockfile => 'tmp/IsolateJarfile.lock' ) do
10
+ jar 'org.apache.commons:commons-email:1.2'
11
+ end
12
+
13
+ email = LockJar::ClassLoader.new( 'tmp/IsolateJarfile.lock' ).isolate do
14
+ email = new_instance( 'org.apache.commons.mail.SimpleEmail' )
15
+ email.setSubject( 'test subject' )
16
+
17
+ email
18
+ end
19
+
20
+ email.getSubject().should eql 'test subject'
21
+
22
+ unless $CLASSPATH.nil?
23
+ $CLASSPATH.to_a.join(' ').should_not =~ /commons-email-1\.2\.jar/
24
+ end
25
+
26
+ expect { org.apache.commons.mail.SimpleEmail.new }.to raise_error
27
+ end
28
+
29
+ it "should create a JsonFactory and ObjectMapper" do
30
+ # Generate the IsolateJarfile.lock
31
+ LockJar.lock( :lockfile => 'tmp/IsolateJarfile.lock' ) do
32
+ jar 'com.fasterxml.jackson.core:jackson-core:2.0.6'
33
+ jar 'com.fasterxml.jackson.core:jackson-databind:2.0.6'
34
+ end
35
+
36
+ json = '{ "test1": "1test1", "test2": "2test2"}'
37
+
38
+ map = LockJar::ClassLoader.new( 'tmp/IsolateJarfile.lock' ).isolate do
39
+ factory = new_instance( 'com.fasterxml.jackson.core.JsonFactory' )
40
+ mapper = new_instance( 'com.fasterxml.jackson.databind.ObjectMapper', factory)
41
+ mapper.readValue(json, java.util.Map.java_class)
42
+ end
43
+
44
+ map.get('test1').should eql "1test1"
45
+ map.get('test2').should eql "2test2"
46
+
47
+ unless $CLASSPATH.nil?
48
+ $CLASSPATH.to_a.join(' ').should_not =~ /jackson-databind-2\.0\.6\.jar/
49
+ end
50
+
51
+ expect { com.fasterxml.jackson.core.JsonFactory.new }.to raise_error
52
+ end
53
+ end
@@ -6,7 +6,10 @@ describe LockJar::Dsl do
6
6
  jarfile = LockJar::Dsl.evaluate( "spec/Jarfile" )
7
7
 
8
8
  jarfile.local_repository.should eql '~/.m2/repository'
9
- jarfile.notations.should eql( {"compile"=>["org.apache.mina:mina-core:2.0.4", "spec/pom.xml"], "runtime"=>["spec/pom.xml", "org.apache.tomcat:servlet-api:jar:6.0.35"], "test"=>["spec/pom.xml", "junit:junit:jar:4.10"]} )
9
+ jarfile.notations.should eql( {
10
+ "compile"=>["org.apache.mina:mina-core:2.0.4", "spec/pom.xml"],
11
+ "runtime"=>["spec/pom.xml", "com.typesafe:config:jar:0.5.0"],
12
+ "test"=>["spec/pom.xml", "junit:junit:jar:4.10"]} )
10
13
  jarfile.repositories.should eql( ['http://mirrors.ibiblio.org/pub/mirrors/maven2'] )
11
14
  end
12
15
 
@@ -0,0 +1,43 @@
1
+ require File.expand_path(File.join(File.dirname(__FILE__),'../spec_helper'))
2
+ require 'lib/lock_jar/rubygems'
3
+
4
+
5
+ describe LockJar::Rubygems do
6
+
7
+ include LockJar::Rubygems::Kernel
8
+
9
+
10
+ it "should set Registry" do
11
+ lock_jar_registry.is_a?( LockJar::Registry ).should be_true
12
+ end
13
+
14
+ context "with require" do
15
+ before(:all) do
16
+ require 'solr_sail'
17
+ end
18
+
19
+ it "should have only loaded jars for solr_sail" do
20
+ lock_jar_registry.loaded_gems.keys.should eql(
21
+ ["solr_sail"] )
22
+ end
23
+
24
+ it "should set classpath" do
25
+ # XXX: Need a better assertion than this. The count will include previous tests
26
+ $CLASSPATH.size.should eql( 71 )
27
+ end
28
+
29
+ it "should have correctly loaded SolrSail" do
30
+ # manually load the jar packaged with the gem
31
+ $CLASSPATH << SolrSail::DEFAULT_JAR
32
+
33
+ # Start and stop solr
34
+ # XXX: an assertion that the java is properly being called
35
+ config = com.tobedevoured.solrsail.SolrConfig.new( 'tmp/solr')
36
+ config.install
37
+
38
+ server = com.tobedevoured.solrsail.JettyServer.new( 'tmp/solr' )
39
+ server.start
40
+ server.stop
41
+ end
42
+ end
43
+ end
@@ -28,8 +28,8 @@ describe LockJar, "#lock" do
28
28
  "com.slackworks:modelcitizen:jar:0.2.2", "org.slf4j:slf4j-api:jar:1.6.1",
29
29
  "commons-io:commons-io:jar:1.4"]},
30
30
  "runtime"=>{
31
- "dependencies"=>["spec/pom.xml", "org.apache.tomcat:servlet-api:jar:6.0.35"],
32
- "resolved_dependencies"=>["org.apache.tomcat:servlet-api:jar:6.0.35"]},
31
+ "dependencies"=>["spec/pom.xml", "com.typesafe:config:jar:0.5.0"],
32
+ "resolved_dependencies"=>["com.typesafe:config:jar:0.5.0"]},
33
33
  "test"=>{
34
34
  "dependencies"=>["spec/pom.xml", "junit:junit:jar:4.10"],
35
35
  "resolved_dependencies"=>["junit:junit:jar:4.10", "org.jboss.unit:jboss-unit:jar:1.2.4",
@@ -137,7 +137,7 @@ describe LockJar, "#list" do
137
137
  "commons-logging:commons-logging:jar:1.1.1", "junit:junit:jar:4.7",
138
138
  "ch.qos.logback:logback-core:jar:0.9.24", "commons-lang:commons-lang:jar:2.6",
139
139
  "com.slackworks:modelcitizen:jar:0.2.2", "org.slf4j:slf4j-api:jar:1.6.1",
140
- "commons-io:commons-io:jar:1.4", "org.apache.tomcat:servlet-api:jar:6.0.35" ])
140
+ "commons-io:commons-io:jar:1.4", "com.typesafe:config:jar:0.5.0" ])
141
141
  end
142
142
 
143
143
  it "should replace dependencies with maps" do
@@ -187,7 +187,7 @@ describe LockJar, "#load" do
187
187
  File.expand_path("tmp/test-repo/com/slackworks/modelcitizen/0.2.2/modelcitizen-0.2.2.jar"),
188
188
  File.expand_path("tmp/test-repo/org/slf4j/slf4j-api/1.6.1/slf4j-api-1.6.1.jar"),
189
189
  File.expand_path("tmp/test-repo/commons-io/commons-io/1.4/commons-io-1.4.jar"),
190
- File.expand_path("tmp/test-repo/org/apache/tomcat/servlet-api/6.0.35/servlet-api-6.0.35.jar") ]
190
+ File.expand_path("tmp/test-repo/com/typesafe/config/0.5.0/config-0.5.0.jar") ]
191
191
  )
192
192
  if Naether.platform == 'java'
193
193
  lambda { include_class 'org.apache.mina.core.IoUtil' }.should_not raise_error
data/spec/spec_helper.rb CHANGED
@@ -14,5 +14,8 @@ def mock_terminal
14
14
  end
15
15
 
16
16
  RSpec.configure do |config|
17
-
17
+ config.order = 'default'
18
+ config.treat_symbols_as_metadata_keys_with_true_values = true
19
+ config.run_all_when_everything_filtered = true
20
+ config.filter_run :focus
18
21
  end
metadata CHANGED
@@ -1,100 +1,132 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: lock_jar
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.1
5
- prerelease:
4
+ prerelease:
5
+ version: 0.6.2
6
6
  platform: ruby
7
7
  authors:
8
8
  - Michael Guymon
9
- autorequire:
9
+ autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-09-25 00:00:00.000000000 Z
12
+ date: 2012-09-28 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: naether
16
- requirement: !ruby/object:Gem::Requirement
17
- none: false
16
+ version_requirements: !ruby/object:Gem::Requirement
18
17
  requirements:
19
18
  - - ~>
20
19
  - !ruby/object:Gem::Version
21
20
  version: 0.9.0
22
- type: :runtime
23
- prerelease: false
24
- version_requirements: !ruby/object:Gem::Requirement
25
21
  none: false
22
+ requirement: !ruby/object:Gem::Requirement
26
23
  requirements:
27
24
  - - ~>
28
25
  - !ruby/object:Gem::Version
29
26
  version: 0.9.0
27
+ none: false
28
+ prerelease: false
29
+ type: :runtime
30
30
  - !ruby/object:Gem::Dependency
31
31
  name: thor
32
- requirement: !ruby/object:Gem::Requirement
33
- none: false
32
+ version_requirements: !ruby/object:Gem::Requirement
34
33
  requirements:
35
34
  - - ~>
36
35
  - !ruby/object:Gem::Version
37
36
  version: 0.14.6
38
- type: :runtime
39
- prerelease: false
40
- version_requirements: !ruby/object:Gem::Requirement
41
37
  none: false
38
+ requirement: !ruby/object:Gem::Requirement
42
39
  requirements:
43
40
  - - ~>
44
41
  - !ruby/object:Gem::Version
45
42
  version: 0.14.6
43
+ none: false
44
+ prerelease: false
45
+ type: :runtime
46
46
  - !ruby/object:Gem::Dependency
47
47
  name: rspec
48
- requirement: !ruby/object:Gem::Requirement
49
- none: false
48
+ version_requirements: !ruby/object:Gem::Requirement
50
49
  requirements:
51
50
  - - ~>
52
51
  - !ruby/object:Gem::Version
53
52
  version: 2.9.0
54
- type: :development
55
- prerelease: false
56
- version_requirements: !ruby/object:Gem::Requirement
57
53
  none: false
54
+ requirement: !ruby/object:Gem::Requirement
58
55
  requirements:
59
56
  - - ~>
60
57
  - !ruby/object:Gem::Version
61
58
  version: 2.9.0
59
+ none: false
60
+ prerelease: false
61
+ type: :development
62
62
  - !ruby/object:Gem::Dependency
63
63
  name: jeweler
64
- requirement: !ruby/object:Gem::Requirement
65
- none: false
64
+ version_requirements: !ruby/object:Gem::Requirement
66
65
  requirements:
67
66
  - - ~>
68
67
  - !ruby/object:Gem::Version
69
68
  version: 1.8.4
70
- type: :development
71
- prerelease: false
72
- version_requirements: !ruby/object:Gem::Requirement
73
69
  none: false
70
+ requirement: !ruby/object:Gem::Requirement
74
71
  requirements:
75
72
  - - ~>
76
73
  - !ruby/object:Gem::Version
77
74
  version: 1.8.4
75
+ none: false
76
+ prerelease: false
77
+ type: :development
78
78
  - !ruby/object:Gem::Dependency
79
79
  name: yard
80
- requirement: !ruby/object:Gem::Requirement
80
+ version_requirements: !ruby/object:Gem::Requirement
81
+ requirements:
82
+ - - ~>
83
+ - !ruby/object:Gem::Version
84
+ version: 0.8.0
81
85
  none: false
86
+ requirement: !ruby/object:Gem::Requirement
82
87
  requirements:
83
88
  - - ~>
84
89
  - !ruby/object:Gem::Version
85
90
  version: 0.8.0
86
- type: :development
91
+ none: false
87
92
  prerelease: false
93
+ type: :development
94
+ - !ruby/object:Gem::Dependency
95
+ name: solr_sail
88
96
  version_requirements: !ruby/object:Gem::Requirement
97
+ requirements:
98
+ - - ~>
99
+ - !ruby/object:Gem::Version
100
+ version: 0.0.6
89
101
  none: false
102
+ requirement: !ruby/object:Gem::Requirement
90
103
  requirements:
91
104
  - - ~>
92
105
  - !ruby/object:Gem::Version
93
- version: 0.8.0
94
- description: ! "Manage Jar files for Ruby. In the spirit of Bundler, a Jarfile\n is
95
- used to generate a Jarfile.lock that contains all the resolved jar dependencies
96
- for scopes runtime, compile, and test.\n The Jarfile.lock can be used to populate
97
- the classpath"
106
+ version: 0.0.6
107
+ none: false
108
+ prerelease: false
109
+ type: :development
110
+ - !ruby/object:Gem::Dependency
111
+ name: jruby-openssl
112
+ version_requirements: !ruby/object:Gem::Requirement
113
+ requirements:
114
+ - - ! '>='
115
+ - !ruby/object:Gem::Version
116
+ version: '0'
117
+ none: false
118
+ requirement: !ruby/object:Gem::Requirement
119
+ requirements:
120
+ - - ! '>='
121
+ - !ruby/object:Gem::Version
122
+ version: '0'
123
+ none: false
124
+ prerelease: false
125
+ type: :development
126
+ description: ! "Manage Jar files for Ruby. In the spirit of Bundler, a Jarfile\n \
127
+ \ is used to generate a Jarfile.lock that contains all the resolved jar dependencies\
128
+ \ for scopes runtime, compile, and test.\n The Jarfile.lock can be used to populate\
129
+ \ the classpath"
98
130
  email: michael@tobedevoured.com
99
131
  executables:
100
132
  - lockjar
@@ -112,17 +144,22 @@ files:
112
144
  - bin/lockjar
113
145
  - lib/lock_jar.rb
114
146
  - lib/lock_jar/buildr.rb
147
+ - lib/lock_jar/class_loader.rb
115
148
  - lib/lock_jar/cli.rb
116
149
  - lib/lock_jar/dsl.rb
117
150
  - lib/lock_jar/maven.rb
151
+ - lib/lock_jar/registry.rb
118
152
  - lib/lock_jar/resolver.rb
153
+ - lib/lock_jar/rubygems.rb
119
154
  - lib/lock_jar/runtime.rb
120
155
  - lib/lock_jar/version.rb
121
156
  - lock_jar.gemspec
122
157
  - spec/Jarfile
158
+ - spec/lock_jar/class_loader_spec.rb
123
159
  - spec/lock_jar/dsl_spec.rb
124
160
  - spec/lock_jar/maven_spec.rb
125
161
  - spec/lock_jar/resolver_spec.rb
162
+ - spec/lock_jar/rubygems_spec.rb
126
163
  - spec/lock_jar/runtime_spec.rb
127
164
  - spec/lock_jar_spec.rb
128
165
  - spec/pom.xml
@@ -130,29 +167,30 @@ files:
130
167
  homepage: http://github.com/mguymon/lock_jar
131
168
  licenses:
132
169
  - Apache
133
- post_install_message:
170
+ post_install_message:
134
171
  rdoc_options: []
135
172
  require_paths:
136
173
  - lib
137
174
  required_ruby_version: !ruby/object:Gem::Requirement
138
- none: false
139
175
  requirements:
140
176
  - - ! '>='
141
177
  - !ruby/object:Gem::Version
142
- version: '0'
143
178
  segments:
144
179
  - 0
145
- hash: 625320197936297623
146
- required_rubygems_version: !ruby/object:Gem::Requirement
180
+ hash: 2
181
+ version: '0'
147
182
  none: false
183
+ required_rubygems_version: !ruby/object:Gem::Requirement
148
184
  requirements:
149
185
  - - ! '>='
150
186
  - !ruby/object:Gem::Version
151
187
  version: '0'
188
+ none: false
152
189
  requirements: []
153
- rubyforge_project:
190
+ rubyforge_project:
154
191
  rubygems_version: 1.8.24
155
- signing_key:
192
+ signing_key:
156
193
  specification_version: 3
157
194
  summary: Manage Jar files for Ruby
158
195
  test_files: []
196
+ ...