lock_jar 0.6.2 → 0.7.0

Sign up to get free protection for your applications and to get access to all the features.
data/spec/Jarfile CHANGED
@@ -1,13 +1,13 @@
1
- local '~/.m2/repository'
1
+ local_repo '~/.m2/repository'
2
2
  repository 'http://mirrors.ibiblio.org/pub/mirrors/maven2'
3
3
 
4
4
  jar "org.apache.mina:mina-core:2.0.4"
5
5
  pom 'spec/pom.xml'
6
6
 
7
- scope 'runtime' do
7
+ group 'development' do
8
8
  jar 'com.typesafe:config:jar:0.5.0'
9
9
  end
10
10
 
11
- scope 'test' do
11
+ group 'test' do
12
12
  jar 'junit:junit:jar:4.10'
13
13
  end
@@ -4,50 +4,54 @@ require 'lib/lock_jar/class_loader'
4
4
 
5
5
  describe LockJar::ClassLoader, "#isolate" do
6
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'
7
+ if Naether.platform != 'java'
8
+ pending "need tests for RJB backed classloader"
9
+ else
10
+ it "should create a SimpleEmail" do
11
+ # Generate the IsolateJarfile.lock
12
+ LockJar.lock( :lockfile => 'tmp/IsolateJarfile.lock' ) do
13
+ jar 'org.apache.commons:commons-email:1.2'
14
+ end
15
+
16
+ email = LockJar::ClassLoader.new( 'tmp/IsolateJarfile.lock' ).isolate do
17
+ email = new_instance( 'org.apache.commons.mail.SimpleEmail' )
18
+ email.setSubject( 'test subject' )
19
+
20
+ email
21
+ end
22
+
23
+ email.getSubject().should eql 'test subject'
24
+
25
+ unless $CLASSPATH.nil?
26
+ $CLASSPATH.to_a.join(' ').should_not =~ /commons-email-1\.2\.jar/
27
+ end
28
+
29
+ expect { org.apache.commons.mail.SimpleEmail.new }.to raise_error
11
30
  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
31
+
32
+ it "should create a JsonFactory and ObjectMapper" do
33
+ # Generate the IsolateJarfile.lock
34
+ LockJar.lock( :lockfile => 'tmp/IsolateJarfile.lock' ) do
35
+ jar 'com.fasterxml.jackson.core:jackson-core:2.0.6'
36
+ jar 'com.fasterxml.jackson.core:jackson-databind:2.0.6'
37
+ end
38
+
39
+ json = '{ "test1": "1test1", "test2": "2test2"}'
40
+
41
+ map = LockJar::ClassLoader.new( 'tmp/IsolateJarfile.lock' ).isolate do
42
+ factory = new_instance( 'com.fasterxml.jackson.core.JsonFactory' )
43
+ mapper = new_instance( 'com.fasterxml.jackson.databind.ObjectMapper', factory)
44
+ mapper.readValue(json, java.util.Map.java_class)
45
+ end
46
+
47
+ map.get('test1').should eql "1test1"
48
+ map.get('test2').should eql "2test2"
49
+
50
+ unless $CLASSPATH.nil?
51
+ $CLASSPATH.to_a.join(' ').should_not =~ /jackson-databind-2\.0\.6\.jar/
52
+ end
53
+
54
+ expect { com.fasterxml.jackson.core.JsonFactory.new }.to raise_error
18
55
  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
56
  end
53
57
  end
@@ -0,0 +1,52 @@
1
+ require File.expand_path(File.join(File.dirname(__FILE__),'../../spec_helper'))
2
+
3
+ require 'lock_jar/domain/dsl_helper'
4
+
5
+ describe LockJar::Domain::DslHelper do
6
+
7
+ it "should merge dsl" do
8
+ block1 = LockJar::Domain::Dsl.create do
9
+ repository 'http://repository.jboss.org/nexus/content/groups/public-jboss'
10
+
11
+ jar "org.apache.mina:mina-core:2.0.4"
12
+ pom 'spec/pom.xml'
13
+
14
+ group 'runtime' do
15
+ jar 'org.apache.tomcat:servlet-api:jar:6.0.35'
16
+ end
17
+
18
+ group 'test' do
19
+ jar 'junit:junit:jar:4.10'
20
+ end
21
+ end
22
+
23
+ block2 = LockJar::Domain::Dsl.create do
24
+ repository 'http://repository.jboss.org/nexus/content/groups/public-jboss'
25
+ repository 'http://new-repo'
26
+
27
+ jar "org.apache.mina:mina-core:2.0.4"
28
+ jar "compile-jar"
29
+
30
+ group 'runtime' do
31
+ jar 'runtime-jar'
32
+ pom 'runtime-pom.xml'
33
+ end
34
+
35
+ group 'test' do
36
+ jar 'test-jar'
37
+ pom 'test-pom.xml'
38
+ end
39
+ end
40
+
41
+ dsl = LockJar::Domain::DslHelper.merge( block1, block2 )
42
+
43
+ dsl.artifacts['default'].should =~ [LockJar::Domain::Jar.new("org.apache.mina:mina-core:2.0.4"), LockJar::Domain::Pom.new("spec/pom.xml",["runtime", "compile"]), LockJar::Domain::Jar.new("compile-jar")]
44
+
45
+ # "runtime" => [LockJar::Domain::Jar.new("org.apache.tomcat:servlet-api:jar:6.0.35"), LockJar::Domain::Jar.new("runtime-jar"), LockJar::Domain::Pom.new("runtime-pom.xml")],
46
+ # "test" => [LockJar::Domain::Jar.new("junit:junit:jar:4.10"), LockJar::Domain::Jar.new("test-jar"), LockJar::Domain::Pom.new("test-pom.xml")]
47
+
48
+
49
+ dsl.remote_repositories.should eql( ["http://repository.jboss.org/nexus/content/groups/public-jboss", 'http://new-repo'] )
50
+
51
+ end
52
+ end
@@ -0,0 +1,54 @@
1
+ require File.expand_path(File.join(File.dirname(__FILE__),'../../spec_helper'))
2
+ require 'lock_jar/domain/artifact'
3
+ describe LockJar::Domain::Dsl do
4
+ context "Instance" do
5
+ it "should load a Jarfile" do
6
+ jarfile = LockJar::Domain::Dsl.create( "spec/Jarfile" )
7
+
8
+ jarfile.local_repository.should eql '~/.m2/repository'
9
+ jarfile.artifacts["default"][0].should == LockJar::Domain::Jar.new("org.apache.mina:mina-core:2.0.4")
10
+ jarfile.artifacts["default"][1].path.should eql "spec/pom.xml"
11
+ jarfile.artifacts["default"][2].should be_nil
12
+
13
+ jarfile.artifacts["development"][0].should == LockJar::Domain::Jar.new("com.typesafe:config:jar:0.5.0")
14
+ jarfile.artifacts["development"][1].should be_nil
15
+
16
+ jarfile.artifacts["test"][0].should == LockJar::Domain::Jar.new("junit:junit:jar:4.10")
17
+ jarfile.artifacts["test"][1].should be_nil
18
+
19
+ jarfile.remote_repositories.should eql( ['http://mirrors.ibiblio.org/pub/mirrors/maven2'] )
20
+ end
21
+
22
+ it "should load a block" do
23
+ block = LockJar::Domain::Dsl.create do
24
+ local_repo '~/.m2'
25
+ repository 'http://repository.jboss.org/nexus/content/groups/public-jboss'
26
+
27
+ jar "org.apache.mina:mina-core:2.0.4"
28
+ pom 'spec/pom.xml'
29
+
30
+ group 'pirate' do
31
+ jar 'org.apache.tomcat:servlet-api:jar:6.0.35'
32
+ end
33
+
34
+ group 'test' do
35
+ jar 'junit:junit:jar:4.10'
36
+ end
37
+ end
38
+
39
+ block.local_repository.should eql '~/.m2'
40
+ block.artifacts.should == {
41
+ "default" => [LockJar::Domain::Jar.new("org.apache.mina:mina-core:2.0.4"), LockJar::Domain::Pom.new("spec/pom.xml")],
42
+ "pirate" => [LockJar::Domain::Jar.new("org.apache.tomcat:servlet-api:jar:6.0.35")],
43
+ "test" => [LockJar::Domain::Jar.new("junit:junit:jar:4.10")]
44
+ }
45
+ block.remote_repositories.should eql( ["http://repository.jboss.org/nexus/content/groups/public-jboss"] )
46
+
47
+ end
48
+
49
+ it "should raise an error without arguments" do
50
+ lambda { LockJar::Domain::Dsl.create }.should raise_error
51
+ end
52
+
53
+ end
54
+ end
@@ -1,6 +1,7 @@
1
1
  require File.expand_path(File.join(File.dirname(__FILE__),'spec_helper'))
2
2
  require 'rubygems'
3
3
  require 'lib/lock_jar'
4
+ require 'lib/lock_jar/domain/dsl'
4
5
  require 'naether'
5
6
 
6
7
  describe LockJar, "#lock" do
@@ -15,47 +16,86 @@ describe LockJar, "#lock" do
15
16
  File.exists?( 'tmp/Jarfile.lock' ).should be_true
16
17
 
17
18
  lockfile = LockJar.read('tmp/Jarfile.lock')
18
- lockfile.should eql( {
19
+ lockfile.to_hash.should eql({
20
+ "version"=> LockJar::VERSION,
19
21
  "local_repository"=>"~/.m2/repository",
20
- "scopes"=>{
21
- "compile"=>{
22
- "dependencies"=>["org.apache.mina:mina-core:2.0.4", "spec/pom.xml"],
23
- "resolved_dependencies"=>["com.metapossum:metapossum-scanner:jar:1.0",
24
- "org.apache.mina:mina-core:jar:2.0.4", "commons-beanutils:commons-beanutils:jar:1.8.3",
25
- "ch.qos.logback:logback-classic:jar:0.9.24",
26
- "commons-logging:commons-logging:jar:1.1.1", "junit:junit:jar:4.7",
27
- "ch.qos.logback:logback-core:jar:0.9.24", "commons-lang:commons-lang:jar:2.6",
28
- "com.slackworks:modelcitizen:jar:0.2.2", "org.slf4j:slf4j-api:jar:1.6.1",
29
- "commons-io:commons-io:jar:1.4"]},
30
- "runtime"=>{
31
- "dependencies"=>["spec/pom.xml", "com.typesafe:config:jar:0.5.0"],
32
- "resolved_dependencies"=>["com.typesafe:config:jar:0.5.0"]},
22
+ "groups"=>{
23
+ "default"=>{
24
+ "dependencies"=>["ch.qos.logback:logback-classic:jar:0.9.24",
25
+ "ch.qos.logback:logback-core:jar:0.9.24", "com.metapossum:metapossum-scanner:jar:1.0",
26
+ "com.slackworks:modelcitizen:jar:0.2.2",
27
+ "commons-beanutils:commons-beanutils:jar:1.8.3", "commons-io:commons-io:jar:1.4",
28
+ "commons-lang:commons-lang:jar:2.6", "commons-logging:commons-logging:jar:1.1.1",
29
+ "org.apache.mina:mina-core:jar:2.0.4",
30
+ "org.slf4j:slf4j-api:jar:1.6.1"],
31
+ "artifacts"=>[{
32
+ "jar:org.apache.mina:mina-core:jar:2.0.4"=>{
33
+ "transitive"=>{"org.slf4j:slf4j-api:jar:1.6.1"=>{}}
34
+ }
35
+ }, {
36
+ "pom:spec/pom.xml"=>{
37
+ "scopes"=>["runtime", "compile"],
38
+ "transitive"=>{
39
+ "com.slackworks:modelcitizen:jar:0.2.2" => {
40
+ "com.metapossum:metapossum-scanner:jar:1.0"=>{
41
+ "commons-io:commons-io:jar:1.4"=>{}
42
+ },
43
+ "commons-beanutils:commons-beanutils:jar:1.8.3"=>{
44
+ "commons-logging:commons-logging:jar:1.1.1"=>{}
45
+ },
46
+ "ch.qos.logback:logback-classic:jar:0.9.24"=>{
47
+ "ch.qos.logback:logback-core:jar:0.9.24"=>{}
48
+ },
49
+ "commons-lang:commons-lang:jar:2.6"=>{}
50
+ }
51
+ }
52
+ }
53
+ }]
54
+ },
55
+ "development"=>{
56
+ "dependencies"=>["com.typesafe:config:jar:0.5.0"],
57
+ "artifacts"=>[{
58
+ "jar:com.typesafe:config:jar:0.5.0"=>{"transitive"=>{}}
59
+ }]
60
+ },
33
61
  "test"=>{
34
- "dependencies"=>["spec/pom.xml", "junit:junit:jar:4.10"],
35
- "resolved_dependencies"=>["junit:junit:jar:4.10", "org.jboss.unit:jboss-unit:jar:1.2.4",
36
- "org.hamcrest:hamcrest-core:jar:1.1"]}},
37
- "repositories"=>["http://repo1.maven.org/maven2/", "http://mirrors.ibiblio.org/pub/mirrors/maven2", "http://repository.jboss.org/nexus/content/groups/public-jboss"]
62
+ "dependencies"=>["junit:junit:jar:4.10", "org.hamcrest:hamcrest-core:jar:1.1"],
63
+ "artifacts"=>[{
64
+ "jar:junit:junit:jar:4.10"=>{
65
+ "transitive"=>{"org.hamcrest:hamcrest-core:jar:1.1"=>{}}}
66
+ }]
67
+ }
68
+ },
69
+ "remote_repositories" => ["http://mirrors.ibiblio.org/pub/mirrors/maven2", "http://repository.jboss.org/nexus/content/groups/public-jboss"]
38
70
  })
39
71
  end
40
72
 
41
- it "should not replace dependencies with maps" do
42
- dsl = LockJar::Dsl.evaluate do
73
+ it "should replace dependencies with map" do
74
+ dsl = LockJar::Domain::Dsl.create do
43
75
  map 'junit:junit:4.10', 'tmp'
44
76
  jar 'junit:junit:4.10'
45
77
  end
46
78
 
47
79
  LockJar.lock( dsl, :local_repo => 'tmp/test-repo', :lockfile => 'tmp/Jarfile.lock' )
48
80
  lockfile = LockJar.read('tmp/Jarfile.lock')
49
- lockfile.should eql( {
50
- "repositories" => ["http://repo1.maven.org/maven2/", 'http://mirrors.ibiblio.org/pub/mirrors/maven2', "http://repository.jboss.org/nexus/content/groups/public-jboss"],
81
+ lockfile.to_hash.should eql({
82
+ "version"=> LockJar::VERSION,
51
83
  "maps"=>{"junit:junit:4.10"=>["tmp"]},
52
- "scopes"=>{
53
- "compile"=>{
54
- "dependencies"=>["junit:junit:4.10"], "resolved_dependencies"=>["junit:junit:jar:4.10", "org.hamcrest:hamcrest-core:jar:1.1"]}}} )
84
+ "groups"=>{
85
+ "default"=>{
86
+ "dependencies"=>["junit:junit:jar:4.10", "org.hamcrest:hamcrest-core:jar:1.1"],
87
+ "artifacts"=>[{
88
+ "jar:junit:junit:jar:4.10"=>{
89
+ "transitive"=>{"org.hamcrest:hamcrest-core:jar:1.1"=>{}}}
90
+ }]
91
+ }
92
+ },
93
+ "remote_repositories" => ["http://mirrors.ibiblio.org/pub/mirrors/maven2", "http://repository.jboss.org/nexus/content/groups/public-jboss"]
94
+ })
55
95
  end
56
96
 
57
97
  it "should exclude excludes from dependencies" do
58
- dsl = LockJar::Dsl.evaluate do
98
+ dsl = LockJar::Domain::Dsl.create do
59
99
  exclude 'commons-logging', 'logkit'
60
100
  jar 'opensymphony:oscache:jar:2.4.1'
61
101
  end
@@ -63,19 +103,33 @@ describe LockJar, "#lock" do
63
103
  LockJar.lock( dsl, :local_repo => 'tmp/test-repo', :lockfile => 'tmp/Jarfile.lock' )
64
104
  File.exists?( 'tmp/Jarfile.lock' ).should be_true
65
105
  lockfile = LockJar.read('tmp/Jarfile.lock')
66
- lockfile.should eql( {
106
+ lockfile.to_hash.should eql({
107
+ "version"=>"0.7.0",
67
108
  "excludes"=>["commons-logging", "logkit"],
68
- "scopes"=>{
69
- "compile"=>{
70
- "dependencies"=>["opensymphony:oscache:jar:2.4.1"],
71
- "resolved_dependencies"=>["log4j:log4j:jar:1.2.12", "javax.jms:jms:jar:1.1",
72
- "opensymphony:oscache:jar:2.4.1", "javax.servlet:servlet-api:jar:2.3",
73
- "avalon-framework:avalon-framework:jar:4.1.3"]}},
74
- "repositories"=>["http://repo1.maven.org/maven2/",
75
- "http://mirrors.ibiblio.org/pub/mirrors/maven2",
76
- "http://repository.jboss.org/nexus/content/groups/public-jboss"]
109
+ "groups"=>{
110
+ "default"=>{
111
+ "dependencies"=>[
112
+ "avalon-framework:avalon-framework:jar:4.1.3", "javax.jms:jms:jar:1.1",
113
+ "javax.servlet:servlet-api:jar:2.3", "log4j:log4j:jar:1.2.12",
114
+ "opensymphony:oscache:jar:2.4.1"],
115
+ "artifacts"=>[{
116
+ "jar:opensymphony:oscache:jar:2.4.1"=>{
117
+ "transitive"=>{
118
+ "commons-logging:commons-logging:jar:1.1"=>{
119
+ "logkit:logkit:jar:1.0.1"=>{},
120
+ "log4j:log4j:jar:1.2.12"=>{},
121
+ "avalon-framework:avalon-framework:jar:4.1.3"=>{}
122
+ },
123
+ "javax.jms:jms:jar:1.1"=>{},
124
+ "javax.servlet:servlet-api:jar:2.3"=>{}
125
+ }
126
+ }
127
+ }]
128
+ }
129
+ },
130
+ "remote_repositories" => ["http://mirrors.ibiblio.org/pub/mirrors/maven2", "http://repository.jboss.org/nexus/content/groups/public-jboss"]
77
131
  })
78
-
132
+
79
133
  end
80
134
 
81
135
 
@@ -87,19 +141,38 @@ describe LockJar, "#lock" do
87
141
  File.exists?( 'tmp/NoRepoJarfile.lock' ).should be_true
88
142
 
89
143
  lockfile = LockJar.read('tmp/NoRepoJarfile.lock')
90
- lockfile.should eql( {
91
- "scopes"=>{
92
- "compile"=>{
93
- "dependencies"=>["org.eclipse.jetty:jetty-servlet:8.1.3.v20120416"],
94
- "resolved_dependencies"=>["org.eclipse.jetty:jetty-util:jar:8.1.3.v20120416",
144
+ lockfile.to_hash.should eql({
145
+ "version"=>"0.7.0",
146
+ "groups"=>{
147
+ "default"=>{
148
+ "dependencies"=>["org.eclipse.jetty.orbit:javax.servlet:jar:3.0.0.v201112011016",
149
+ "org.eclipse.jetty:jetty-continuation:jar:8.1.3.v20120416",
150
+ "org.eclipse.jetty:jetty-http:jar:8.1.3.v20120416",
95
151
  "org.eclipse.jetty:jetty-io:jar:8.1.3.v20120416",
96
- "org.eclipse.jetty.orbit:javax.servlet:jar:3.0.0.v201112011016",
97
152
  "org.eclipse.jetty:jetty-security:jar:8.1.3.v20120416",
98
- "org.eclipse.jetty:jetty-continuation:jar:8.1.3.v20120416",
99
- "org.eclipse.jetty:jetty-servlet:jar:8.1.3.v20120416",
100
153
  "org.eclipse.jetty:jetty-server:jar:8.1.3.v20120416",
101
- "org.eclipse.jetty:jetty-http:jar:8.1.3.v20120416"]}},
102
- "repositories"=>["http://repo1.maven.org/maven2/"]})
154
+ "org.eclipse.jetty:jetty-servlet:jar:8.1.3.v20120416",
155
+ "org.eclipse.jetty:jetty-util:jar:8.1.3.v20120416"],
156
+ "artifacts"=>[{
157
+ "jar:org.eclipse.jetty:jetty-servlet:jar:8.1.3.v20120416"=>{
158
+ "transitive"=>{
159
+ "org.eclipse.jetty:jetty-security:jar:8.1.3.v20120416"=>{
160
+ "org.eclipse.jetty:jetty-server:jar:8.1.3.v20120416"=>{
161
+ "org.eclipse.jetty.orbit:javax.servlet:jar:3.0.0.v201112011016"=>{},
162
+ "org.eclipse.jetty:jetty-continuation:jar:8.1.3.v20120416"=>{},
163
+ "org.eclipse.jetty:jetty-http:jar:8.1.3.v20120416"=>{
164
+ "org.eclipse.jetty:jetty-io:jar:8.1.3.v20120416"=>{
165
+ "org.eclipse.jetty:jetty-util:jar:8.1.3.v20120416"=>{}
166
+ }
167
+ }
168
+ }
169
+ }
170
+ }
171
+ }
172
+ }]
173
+ }
174
+ }
175
+ })
103
176
  end
104
177
  end
105
178
 
@@ -108,19 +181,20 @@ describe LockJar, "#install" do
108
181
 
109
182
  LockJar.lock( "spec/Jarfile", :download_artifacts => false, :local_repo => 'tmp/test-repo-install', :lockfile => 'tmp/Jarfile.lock' )
110
183
 
111
- jars = LockJar.install( 'tmp/Jarfile.lock', ['compile'], :local_repo => 'tmp/test-repo-install' )
112
- jars.should eql(
113
- [ File.expand_path( "tmp/test-repo-install/com/metapossum/metapossum-scanner/1.0/metapossum-scanner-1.0.jar"),
114
- File.expand_path( "tmp/test-repo-install/commons-beanutils/commons-beanutils/1.8.3/commons-beanutils-1.8.3.jar"),
115
- File.expand_path( "tmp/test-repo-install/org/apache/mina/mina-core/2.0.4/mina-core-2.0.4.jar"),
116
- File.expand_path( "tmp/test-repo-install/ch/qos/logback/logback-classic/0.9.24/logback-classic-0.9.24.jar" ),
117
- File.expand_path( "tmp/test-repo-install/junit/junit/4.7/junit-4.7.jar"),
118
- File.expand_path( "tmp/test-repo-install/commons-logging/commons-logging/1.1.1/commons-logging-1.1.1.jar"),
119
- File.expand_path( "tmp/test-repo-install/ch/qos/logback/logback-core/0.9.24/logback-core-0.9.24.jar"),
120
- File.expand_path( "tmp/test-repo-install/com/slackworks/modelcitizen/0.2.2/modelcitizen-0.2.2.jar"),
121
- File.expand_path( "tmp/test-repo-install/commons-lang/commons-lang/2.6/commons-lang-2.6.jar"),
122
- File.expand_path( "tmp/test-repo-install/org/slf4j/slf4j-api/1.6.1/slf4j-api-1.6.1.jar"),
123
- File.expand_path( "tmp/test-repo-install/commons-io/commons-io/1.4/commons-io-1.4.jar")] )
184
+ jars = LockJar.install( 'tmp/Jarfile.lock', ['default'], :local_repo => 'tmp/test-repo-install' )
185
+ jars.should eql([
186
+ File.expand_path("tmp/test-repo-install/ch/qos/logback/logback-classic/0.9.24/logback-classic-0.9.24.jar"),
187
+ File.expand_path("tmp/test-repo-install/ch/qos/logback/logback-core/0.9.24/logback-core-0.9.24.jar"),
188
+ File.expand_path("tmp/test-repo-install/com/metapossum/metapossum-scanner/1.0/metapossum-scanner-1.0.jar"),
189
+ File.expand_path("tmp/test-repo-install/com/slackworks/modelcitizen/0.2.2/modelcitizen-0.2.2.jar"),
190
+ File.expand_path("tmp/test-repo-install/commons-beanutils/commons-beanutils/1.8.3/commons-beanutils-1.8.3.jar"),
191
+ File.expand_path("tmp/test-repo-install/commons-io/commons-io/1.4/commons-io-1.4.jar"),
192
+ File.expand_path("tmp/test-repo-install/commons-lang/commons-lang/2.6/commons-lang-2.6.jar"),
193
+ File.expand_path("tmp/test-repo-install/commons-logging/commons-logging/1.1.1/commons-logging-1.1.1.jar"),
194
+ File.expand_path("tmp/test-repo-install/org/apache/mina/mina-core/2.0.4/mina-core-2.0.4.jar"),
195
+ File.expand_path("tmp/test-repo-install/org/slf4j/slf4j-api/1.6.1/slf4j-api-1.6.1.jar")
196
+
197
+ ])
124
198
  end
125
199
 
126
200
  end
@@ -130,18 +204,18 @@ describe LockJar, "#list" do
130
204
 
131
205
  LockJar.lock( "spec/Jarfile", :local_repo => 'tmp/test-repo', :lockfile => 'tmp/Jarfile.lock' )
132
206
 
133
- jars = LockJar.list( 'tmp/Jarfile.lock', ['compile', 'runtime', 'bad scope'], :local_repo => 'tmp/test-repo' )
207
+ jars = LockJar.list( 'tmp/Jarfile.lock', ['default', 'development', 'bad scope'], :local_repo => 'tmp/test-repo' )
134
208
  jars.should eql([
135
- "com.metapossum:metapossum-scanner:jar:1.0", "org.apache.mina:mina-core:jar:2.0.4",
136
- "commons-beanutils:commons-beanutils:jar:1.8.3", "ch.qos.logback:logback-classic:jar:0.9.24",
137
- "commons-logging:commons-logging:jar:1.1.1", "junit:junit:jar:4.7",
138
- "ch.qos.logback:logback-core:jar:0.9.24", "commons-lang:commons-lang:jar:2.6",
139
- "com.slackworks:modelcitizen:jar:0.2.2", "org.slf4j:slf4j-api:jar:1.6.1",
140
- "commons-io:commons-io:jar:1.4", "com.typesafe:config:jar:0.5.0" ])
209
+ "ch.qos.logback:logback-classic:jar:0.9.24", "ch.qos.logback:logback-core:jar:0.9.24",
210
+ "com.metapossum:metapossum-scanner:jar:1.0", "com.slackworks:modelcitizen:jar:0.2.2",
211
+ "commons-beanutils:commons-beanutils:jar:1.8.3", "commons-io:commons-io:jar:1.4",
212
+ "commons-lang:commons-lang:jar:2.6", "commons-logging:commons-logging:jar:1.1.1",
213
+ "org.apache.mina:mina-core:jar:2.0.4",
214
+ "org.slf4j:slf4j-api:jar:1.6.1", "com.typesafe:config:jar:0.5.0" ])
141
215
  end
142
216
 
143
217
  it "should replace dependencies with maps" do
144
- dsl = LockJar::Dsl.evaluate do
218
+ dsl = LockJar::Domain::Dsl.create do
145
219
  map 'junit:junit', 'tmp'
146
220
  jar 'junit:junit:4.10'
147
221
  end
@@ -152,7 +226,7 @@ describe LockJar, "#list" do
152
226
  end
153
227
 
154
228
  it "should replace dependencies with maps and get local paths" do
155
- dsl = LockJar::Dsl.evaluate do
229
+ dsl = LockJar::Domain::Dsl.create do
156
230
  map 'junit:junit', 'tmp'
157
231
  jar 'junit:junit:4.10'
158
232
  end
@@ -173,22 +247,22 @@ describe LockJar, "#load" do
173
247
 
174
248
 
175
249
  LockJar.lock( "spec/Jarfile", :local_repo => 'tmp/test-repo', :lockfile => 'tmp/Jarfile.lock' )
176
-
177
- jars = LockJar.load( 'tmp/Jarfile.lock', ['compile', 'runtime'], :local_repo => 'tmp/test-repo' )
178
- jars.should eql( [
179
- File.expand_path("tmp/test-repo/com/metapossum/metapossum-scanner/1.0/metapossum-scanner-1.0.jar"),
180
- File.expand_path("tmp/test-repo/org/apache/mina/mina-core/2.0.4/mina-core-2.0.4.jar"),
181
- File.expand_path("tmp/test-repo/commons-beanutils/commons-beanutils/1.8.3/commons-beanutils-1.8.3.jar"),
250
+
251
+ jars = LockJar.load( 'tmp/Jarfile.lock', ['default'], :local_repo => 'tmp/test-repo' )
252
+ LockJar::Registry.instance.lockfile_registered?( "tmp/Jarfile.lock" ).should be_false
253
+
254
+ jars.should eql([
182
255
  File.expand_path("tmp/test-repo/ch/qos/logback/logback-classic/0.9.24/logback-classic-0.9.24.jar"),
183
- File.expand_path("tmp/test-repo/commons-logging/commons-logging/1.1.1/commons-logging-1.1.1.jar"),
184
- File.expand_path("tmp/test-repo/junit/junit/4.7/junit-4.7.jar"),
185
256
  File.expand_path("tmp/test-repo/ch/qos/logback/logback-core/0.9.24/logback-core-0.9.24.jar"),
186
- File.expand_path("tmp/test-repo/commons-lang/commons-lang/2.6/commons-lang-2.6.jar"),
257
+ File.expand_path("tmp/test-repo/com/metapossum/metapossum-scanner/1.0/metapossum-scanner-1.0.jar"),
187
258
  File.expand_path("tmp/test-repo/com/slackworks/modelcitizen/0.2.2/modelcitizen-0.2.2.jar"),
188
- File.expand_path("tmp/test-repo/org/slf4j/slf4j-api/1.6.1/slf4j-api-1.6.1.jar"),
259
+ File.expand_path("tmp/test-repo/commons-beanutils/commons-beanutils/1.8.3/commons-beanutils-1.8.3.jar"),
189
260
  File.expand_path("tmp/test-repo/commons-io/commons-io/1.4/commons-io-1.4.jar"),
190
- File.expand_path("tmp/test-repo/com/typesafe/config/0.5.0/config-0.5.0.jar") ]
191
- )
261
+ File.expand_path("tmp/test-repo/commons-lang/commons-lang/2.6/commons-lang-2.6.jar"),
262
+ File.expand_path("tmp/test-repo/commons-logging/commons-logging/1.1.1/commons-logging-1.1.1.jar"),
263
+ File.expand_path("tmp/test-repo/org/apache/mina/mina-core/2.0.4/mina-core-2.0.4.jar"),
264
+ File.expand_path("tmp/test-repo/org/slf4j/slf4j-api/1.6.1/slf4j-api-1.6.1.jar"),
265
+ ])
192
266
  if Naether.platform == 'java'
193
267
  lambda { include_class 'org.apache.mina.core.IoUtil' }.should_not raise_error
194
268
  else
metadata CHANGED
@@ -2,14 +2,14 @@
2
2
  name: lock_jar
3
3
  version: !ruby/object:Gem::Version
4
4
  prerelease:
5
- version: 0.6.2
5
+ version: 0.7.0
6
6
  platform: ruby
7
7
  authors:
8
8
  - Michael Guymon
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-09-28 00:00:00.000000000 Z
12
+ date: 2012-10-17 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: naether
@@ -17,13 +17,13 @@ dependencies:
17
17
  requirements:
18
18
  - - ~>
19
19
  - !ruby/object:Gem::Version
20
- version: 0.9.0
20
+ version: 0.10.0
21
21
  none: false
22
22
  requirement: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - ~>
25
25
  - !ruby/object:Gem::Version
26
- version: 0.9.0
26
+ version: 0.10.0
27
27
  none: false
28
28
  prerelease: false
29
29
  type: :runtime
@@ -97,13 +97,13 @@ dependencies:
97
97
  requirements:
98
98
  - - ~>
99
99
  - !ruby/object:Gem::Version
100
- version: 0.0.6
100
+ version: 0.1.0
101
101
  none: false
102
102
  requirement: !ruby/object:Gem::Requirement
103
103
  requirements:
104
104
  - - ~>
105
105
  - !ruby/object:Gem::Version
106
- version: 0.0.6
106
+ version: 0.1.0
107
107
  none: false
108
108
  prerelease: false
109
109
  type: :development
@@ -144,22 +144,27 @@ files:
144
144
  - bin/lockjar
145
145
  - lib/lock_jar.rb
146
146
  - lib/lock_jar/buildr.rb
147
+ - lib/lock_jar/bundler.rb
147
148
  - lib/lock_jar/class_loader.rb
148
149
  - lib/lock_jar/cli.rb
149
- - lib/lock_jar/dsl.rb
150
+ - lib/lock_jar/domain/artifact.rb
151
+ - lib/lock_jar/domain/dsl.rb
152
+ - lib/lock_jar/domain/dsl_helper.rb
153
+ - lib/lock_jar/domain/gem_dsl.rb
154
+ - lib/lock_jar/domain/jarfile_dsl.rb
155
+ - lib/lock_jar/domain/lockfile.rb
150
156
  - lib/lock_jar/maven.rb
151
157
  - lib/lock_jar/registry.rb
152
158
  - lib/lock_jar/resolver.rb
153
- - lib/lock_jar/rubygems.rb
154
159
  - lib/lock_jar/runtime.rb
155
160
  - lib/lock_jar/version.rb
156
161
  - lock_jar.gemspec
157
162
  - spec/Jarfile
158
163
  - spec/lock_jar/class_loader_spec.rb
159
- - spec/lock_jar/dsl_spec.rb
164
+ - spec/lock_jar/domain/dsl_helper_spec.rb
165
+ - spec/lock_jar/domain/dsl_spec.rb
160
166
  - spec/lock_jar/maven_spec.rb
161
167
  - spec/lock_jar/resolver_spec.rb
162
- - spec/lock_jar/rubygems_spec.rb
163
168
  - spec/lock_jar/runtime_spec.rb
164
169
  - spec/lock_jar_spec.rb
165
170
  - spec/pom.xml