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 +2 -0
- data/README.md +4 -1
- data/VERSION +1 -1
- data/lib/lock_jar/class_loader.rb +69 -0
- data/lib/lock_jar/registry.rb +50 -0
- data/lib/lock_jar/rubygems.rb +21 -0
- data/lib/lock_jar/runtime.rb +16 -5
- data/lib/lock_jar.rb +6 -4
- data/lock_jar.gemspec +13 -2
- data/spec/Jarfile +1 -1
- data/spec/lock_jar/class_loader_spec.rb +53 -0
- data/spec/lock_jar/dsl_spec.rb +4 -1
- data/spec/lock_jar/rubygems_spec.rb +43 -0
- data/spec/lock_jar_spec.rb +4 -4
- data/spec/spec_helper.rb +4 -1
- metadata +76 -38
data/Gemfile
CHANGED
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.
|
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
|
+
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
|
data/lib/lock_jar/runtime.rb
CHANGED
@@ -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
|
-
|
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
|
-
|
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.
|
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-
|
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
@@ -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
|
data/spec/lock_jar/dsl_spec.rb
CHANGED
@@ -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( {
|
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
|
data/spec/lock_jar_spec.rb
CHANGED
@@ -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", "
|
32
|
-
"resolved_dependencies"=>["
|
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", "
|
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/
|
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
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
|
-
|
5
|
-
|
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-
|
12
|
+
date: 2012-09-28 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: naether
|
16
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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.
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
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:
|
146
|
-
|
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
|
+
...
|