lock_jar 0.6.1 → 0.6.2

Sign up to get free protection for your applications and to get access to all the features.
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
+ ...