jbundler 0.5.5 → 0.6.0

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/lib/jbundler/pom.rb CHANGED
@@ -58,7 +58,65 @@ module JBundler
58
58
  end
59
59
 
60
60
  GROUP_ID = 'ruby.bundler'
61
-
61
+
62
+ def start_write_pom( out, name, version, packaging )
63
+ outputFactory = XMLOutputFactory.newFactory()
64
+ xmlStreamWriter = outputFactory.createXMLStreamWriter( out )
65
+
66
+ xmlStreamWriter.writeStartDocument
67
+ xmlStreamWriter.writeStartElement("project")
68
+
69
+ writeElement(xmlStreamWriter,"modelVersion","4.0.0")
70
+ writeElement(xmlStreamWriter,"groupId", GROUP_ID)
71
+ writeElement(xmlStreamWriter,"artifactId", name)
72
+ writeElement(xmlStreamWriter,"version", version.to_s.to_java)
73
+ writeElement(xmlStreamWriter,"packaging", packaging) if packaging
74
+ xmlStreamWriter
75
+ end
76
+
77
+ def to_classifier_version( coords )
78
+ if coords.size == 4
79
+ [ nil, coords[3] ]
80
+ else
81
+ [ coords[3], coords[4] ]
82
+ end
83
+ end
84
+
85
+ def write_dep( xmlStreamWriter, coord )
86
+ coords = coord.split(/:/)
87
+ group_id = coords[0]
88
+ artifact_id = coords[1]
89
+ extension = coords[2]
90
+ classifier, version = to_classifier_version( coords )
91
+
92
+ xmlStreamWriter.writeStartElement("dependency".to_java)
93
+ writeElement(xmlStreamWriter,"groupId", group_id)
94
+ writeElement(xmlStreamWriter,"artifactId", artifact_id)
95
+ writeElement(xmlStreamWriter,"version", version)
96
+
97
+ writeElement(xmlStreamWriter,"type", extension) if extension != 'jar'
98
+ writeElement(xmlStreamWriter,"classifier", classifier) if classifier
99
+ xmlStreamWriter.writeEndElement #dependency
100
+ end
101
+
102
+ def write_dependencies( xmlStreamWriter, deps )
103
+ xmlStreamWriter.writeStartElement("dependencies".to_java)
104
+
105
+ deps.each do |line|
106
+ coord = to_coordinate(line)
107
+ write_dep( xmlStreamWriter, coord ) if coord
108
+ end
109
+
110
+ xmlStreamWriter.writeEndElement #dependencies
111
+ end
112
+
113
+ def end_write_pom( xmlStreamWriter )
114
+ xmlStreamWriter.writeEndElement #project
115
+
116
+ xmlStreamWriter.writeEndDocument
117
+ xmlStreamWriter.close
118
+ end
119
+
62
120
  public
63
121
 
64
122
  def coordinate
@@ -80,50 +138,15 @@ module JBundler
80
138
 
81
139
  @file = File.join(temp_dir, 'pom.xml')
82
140
 
83
- out = java.io.BufferedOutputStream.new(java.io.FileOutputStream.new(@file.to_java))
84
- outputFactory = XMLOutputFactory.newFactory()
85
- xmlStreamWriter = outputFactory.createXMLStreamWriter(out)
86
- xmlStreamWriter.writeStartDocument
87
- xmlStreamWriter.writeStartElement("project")
88
-
89
- writeElement(xmlStreamWriter,"modelVersion","4.0.0")
90
- writeElement(xmlStreamWriter,"groupId", GROUP_ID)
91
- writeElement(xmlStreamWriter,"artifactId", name)
92
- writeElement(xmlStreamWriter,"version", version.to_s.to_java)
93
- writeElement(xmlStreamWriter,"packaging", packaging) if packaging
94
-
95
- xmlStreamWriter.writeStartElement("dependencies".to_java)
96
-
97
- deps.each do |line|
98
- if coord = to_coordinate(line)
99
- coords = coord.split(/:/)
100
- group_id = coords[0]
101
- artifact_id = coords[1]
102
- extension = coords[2]
103
- classifier = nil
104
- if coords.size == 4
105
- version = coords[3]
106
- else
107
- classifier = coords[3]
108
- version = coords[4]
109
- end
110
-
111
- xmlStreamWriter.writeStartElement("dependency".to_java)
112
- writeElement(xmlStreamWriter,"groupId", group_id)
113
- writeElement(xmlStreamWriter,"artifactId", artifact_id)
114
- writeElement(xmlStreamWriter,"version", version)
115
-
116
- writeElement(xmlStreamWriter,"type", extension) if extension != 'jar'
117
- writeElement(xmlStreamWriter,"classifier", classifier) if classifier
118
- xmlStreamWriter.writeEndElement #dependency
119
- end
120
- end
121
- xmlStreamWriter.writeEndElement #dependencies
141
+ out = java.io.BufferedOutputStream.new( java.io.FileOutputStream.new( @file.to_java ) )
142
+
143
+ xmlStreamWriter = start_write_pom( out, name, version, packaging )
122
144
 
123
- xmlStreamWriter.writeEndElement #project
145
+ write_dependencies( xmlStreamWriter, deps )
146
+
147
+ end_write_pom( xmlStreamWriter )
124
148
 
125
- xmlStreamWriter.writeEndDocument
126
- xmlStreamWriter.close
149
+ ensure
127
150
  out.close
128
151
  end
129
152
 
@@ -0,0 +1,71 @@
1
+ require 'maven/ruby/maven'
2
+ module JBundler
3
+
4
+ class PomRunner
5
+
6
+ def initialize( config )
7
+ @config = config
8
+ end
9
+
10
+ def method_missing( m, *args )
11
+ result = @config[ m ] || @config[ m.to_s ]
12
+ result.nil? ? super : result
13
+ end
14
+
15
+ def maven_new
16
+ m = Maven::Ruby::Maven.new
17
+ m.property( 'base.dir', File.expand_path( basedir ) )
18
+ m.property( 'work.dir', File.expand_path( workdir ) ) if workdir
19
+ m.property( 'verbose', debug || verbose )
20
+ if debug
21
+ m.options[ '-X' ] = nil
22
+ elsif verbose
23
+ m.options[ '-e' ] = nil
24
+ else
25
+ m.options[ '-q' ] = nil
26
+ end
27
+ m.verbose = debug
28
+ m
29
+ end
30
+ private :maven_new
31
+
32
+ def maven
33
+ @m ||= maven_new
34
+ end
35
+
36
+ def basedir
37
+ File.expand_path( '.' )
38
+ end
39
+
40
+ def workdir
41
+ @config[ 'workdir' ]
42
+ end
43
+
44
+ def work_dir
45
+ # needs default here
46
+ workdir || 'pkg'
47
+ end
48
+
49
+ def debug
50
+ @config[ 'debug' ] || false
51
+ end
52
+
53
+ def verbose
54
+ @config[ 'verbose' ] || false
55
+ end
56
+
57
+ def clean?
58
+ @config[ 'clean' ] || false
59
+ end
60
+
61
+ def pom_file
62
+ raise 'overwrite this method'
63
+ end
64
+
65
+ def exec( *args )
66
+ maven.options[ '-f' ] ||= pom_file
67
+ args.unshift :clean if clean?
68
+ maven.exec( *args )
69
+ end
70
+ end
71
+ end
data/lib/jbundler/show.rb CHANGED
@@ -13,30 +13,40 @@ module JBundler
13
13
  @classpath_file = JBundler::ClasspathFile.new( @config.classpath_file )
14
14
  end
15
15
 
16
- def do_it( debug = false )
17
- jarfile = Maven::Tools::Jarfile.new( @config.jarfile )
18
- vendor = JBundler::Vendor.new( @config.vendor_dir )
19
- gemfile_lock = JBundler::GemfileLock.new( jarfile,
20
- @config.gemfile_lock )
21
- end
22
-
23
16
  def show_classpath
24
- @classpath_file.require_classpath
25
- warn "jruby core classpath:"
26
- JBUNDLER_JRUBY_CLASSPATH.each do |path|
27
- warn "\t#{path}"
28
- end
29
- warn "jbundler runtime classpath:"
30
- JBUNDLER_CLASSPATH.each do |path|
31
- warn "\t#{path}"
32
- end
33
- warn "jbundler test classpath:"
34
- if JBUNDLER_TEST_CLASSPATH.empty?
35
- warn "\t--- empty ---"
36
- else
37
- JBUNDLER_TEST_CLASSPATH.each do |path|
17
+ return if ! @config.verbose
18
+ vendor = JBundler::Vendor.new(@config.vendor_dir)
19
+ if vendor.vendored?
20
+ vendor.require_jars
21
+ warn "complete classpath:"
22
+ $CLASSPATH.each do |path|
38
23
  warn "\t#{path}"
39
24
  end
25
+ else
26
+ @classpath_file.load_classpath
27
+ warn ''
28
+ warn 'jbundler provided classpath:'
29
+ warn '----------------'
30
+ JBUNDLER_JRUBY_CLASSPATH.each do |path|
31
+ warn "#{path}"
32
+ end
33
+ warn ''
34
+ warn 'jbundler runtime classpath:'
35
+ warn '---------------------------'
36
+ JBUNDLER_CLASSPATH.each do |path|
37
+ warn "#{path}"
38
+ end
39
+ warn ''
40
+ warn 'jbundler test classpath:'
41
+ warn '------------------------'
42
+ if JBUNDLER_TEST_CLASSPATH.empty?
43
+ warn "\t--- empty ---"
44
+ else
45
+ JBUNDLER_TEST_CLASSPATH.each do |path|
46
+ warn "#{path}"
47
+ end
48
+ end
49
+ warn ''
40
50
  end
41
51
  end
42
52
  end
data/lib/jbundler/tree.rb CHANGED
@@ -10,7 +10,8 @@ module JBundler
10
10
 
11
11
  def show_it( debug = false )
12
12
  m = Maven::Ruby::Maven.new
13
- m.options[ '-f' ] = File.join( File.dirname( __FILE__ ), 'tree_pom.rb' )
13
+ m.options[ '-f' ] = File.join( File.dirname( __FILE__ ),
14
+ 'dependency_pom.rb' )
14
15
  m.options[ '-q' ] = nil unless debug
15
16
  m.verbose = debug
16
17
 
@@ -18,10 +19,13 @@ module JBundler
18
19
 
19
20
  puts '...'
20
21
 
21
- m.exec( 'org.apache.maven.plugins:maven-dependency-plugin:2.8:tree' )
22
+ tree = File.join( File.expand_path( @config.work_dir ),
23
+ 'tree.txt' )
24
+ m.property( 'jbundler.outputFile', tree )
22
25
 
23
- puts File.read( File.join( File.expand_path( @config.work_dir ),
24
- 'tree.txt' ) )
26
+ m.exec( 'dependency:tree' )
27
+
28
+ puts File.read( tree )
25
29
  end
26
30
  end
27
31
  end
@@ -1,3 +1,4 @@
1
+ require 'jar_installer'
1
2
  module JBundler
2
3
  class Vendor
3
4
 
@@ -10,8 +11,16 @@ module JBundler
10
11
  end
11
12
 
12
13
  def require_jars
13
- Dir[ File.join( @dir, '**', '*' ) ].each do |f|
14
- require f
14
+ jars = File.join( @dir, 'jbundler.rb' )
15
+ if File.exists?( jars )
16
+ $LOAD_PATH << @dir unless $LOAD_PATH.include? @dir
17
+ require jars
18
+ else
19
+ Dir[ File.join( @dir, '**', '*' ) ].each do |f|
20
+ require f
21
+ end
22
+ Jars.freeze_loading
23
+ true
15
24
  end
16
25
  end
17
26
 
@@ -22,6 +31,14 @@ module JBundler
22
31
  end
23
32
  end
24
33
 
34
+ def vendor_dependencies( deps )
35
+ require_file = File.join( @dir, 'jbundler.rb' )
36
+ Jars::JarInstaller.install_deps( deps, @dir, require_file, true ) do |f|
37
+ f.puts
38
+ f.puts 'Jars.freeze_loading'
39
+ end
40
+ end
41
+
25
42
  def setup( classpath_file )
26
43
  classpath_file.require_classpath
27
44
  FileUtils.mkdir_p( @dir )
@@ -30,14 +47,6 @@ module JBundler
30
47
  File.basename( f ) ) )
31
48
  end
32
49
  end
33
-
34
- def copy_jar( coord, file )
35
- target = File.join( *coord.sub( /:jar:/, '-') .split( /:/ ) )
36
- target_file = File.join( @dir, target ) + '.jar'
37
- FileUtils.mkdir_p( File.dirname( target_file ) )
38
- FileUtils.cp( file, target_file )
39
- puts "\t#{coord} to #{target}"
40
- end
41
50
  end
42
51
  end
43
52
 
@@ -74,8 +74,8 @@ describe JBundler::ClasspathFile do
74
74
  subject.needs_update?(jarfile, gemfile_lock).must_equal true
75
75
  end
76
76
 
77
- it 'generates a classpath ruby file' do
78
- subject.generate("a:b:c:d:f:".split(File::PATH_SEPARATOR))
77
+ it 'generates a classpath ruby file without localrepo' do
78
+ subject.generate("a:b:c:d:f:".split(File::PATH_SEPARATOR) )
79
79
  File.read(cpfile).must_equal <<-EOF
80
80
  JBUNDLER_JRUBY_CLASSPATH = []
81
81
  JBUNDLER_JRUBY_CLASSPATH.freeze
@@ -88,7 +88,51 @@ JBUNDLER_CLASSPATH << 'c'
88
88
  JBUNDLER_CLASSPATH << 'd'
89
89
  JBUNDLER_CLASSPATH << 'f'
90
90
  JBUNDLER_CLASSPATH.freeze
91
- JBUNDLER_CLASSPATH.each { |c| require c }
92
91
  EOF
93
92
  end
93
+
94
+ it 'generates a classpath ruby file with localrepo' do
95
+ subject.generate("a:b:c:d:f:".split(File::PATH_SEPARATOR), [], [], '/tmp')
96
+ File.read(cpfile).must_equal <<-EOF
97
+ require 'jar_dependencies'
98
+ JBUNDLER_LOCAL_REPO = Jars.home
99
+ JBUNDLER_JRUBY_CLASSPATH = []
100
+ JBUNDLER_JRUBY_CLASSPATH.freeze
101
+ JBUNDLER_TEST_CLASSPATH = []
102
+ JBUNDLER_TEST_CLASSPATH.freeze
103
+ JBUNDLER_CLASSPATH = []
104
+ JBUNDLER_CLASSPATH << (JBUNDLER_LOCAL_REPO + 'a')
105
+ JBUNDLER_CLASSPATH << (JBUNDLER_LOCAL_REPO + 'b')
106
+ JBUNDLER_CLASSPATH << (JBUNDLER_LOCAL_REPO + 'c')
107
+ JBUNDLER_CLASSPATH << (JBUNDLER_LOCAL_REPO + 'd')
108
+ JBUNDLER_CLASSPATH << (JBUNDLER_LOCAL_REPO + 'f')
109
+ JBUNDLER_CLASSPATH.freeze
110
+ EOF
111
+ end
112
+
113
+ it 'require classpath using default with generated localrepo' do
114
+ ENV[ 'JARS_HOME' ] = '/tmp'
115
+ Jars.reset
116
+ subject.generate("/a:/b:/c:/d:/f:".split(File::PATH_SEPARATOR), [], [], '/tmp')
117
+ begin
118
+ subject.require_classpath
119
+ rescue LoadError
120
+ # there are no files to require
121
+ end
122
+ JBUNDLER_CLASSPATH.must_equal ["/tmp/a", "/tmp/b", "/tmp/c", "/tmp/d", "/tmp/f"]
123
+ end
124
+
125
+ it 'require classpath with generated localrepo' do
126
+ ENV[ 'JARS_HOME' ] = '/tmp'
127
+ subject.generate("/a:/b:/c:/d:/f:".split(File::PATH_SEPARATOR), [], [], '/tmp')
128
+
129
+ begin
130
+ Jars.reset
131
+ ENV[ 'JARS_HOME' ] = '/temp'
132
+ subject.require_classpath
133
+ rescue LoadError
134
+ # there are no files to require
135
+ end
136
+ JBUNDLER_CLASSPATH.must_equal ["/temp/a", "/temp/b", "/temp/c", "/temp/d", "/temp/f"]
137
+ end
94
138
  end
data/spec/config_spec.rb CHANGED
@@ -4,9 +4,19 @@ require 'fileutils'
4
4
 
5
5
  describe JBundler::Config do
6
6
 
7
- before do
7
+ let( :basedir ){ File.dirname( File.dirname( File.expand_path( __FILE__ ) ) ) }
8
+ let( :spec ){ 'spec' }
9
+ let( :spec_dir ){ File.join( basedir, spec ) }
10
+ let( :project ){ File.join( spec, 'project' ) }
11
+ let( :project_dir ) { File.join( basedir, project ) }
12
+
13
+ before do
14
+ # in case we have relative path __FILE__
15
+ basedir
16
+ Jars.reset
8
17
  ENV.keys.each do |k|
9
18
  ENV.delete( k ) if k.to_s.match /^(J?)BUNDLE/
19
+ ENV.delete( k ) if k.to_s.match /^JARS/
10
20
  end
11
21
  if defined? JRUBY_VERSION
12
22
  java.lang.System.properties.keys.each do |k|
@@ -21,68 +31,82 @@ describe JBundler::Config do
21
31
  FileUtils.cd( 'spec' ) do
22
32
  c = JBundler::Config.new
23
33
  c.verbose.must_equal nil
24
- c.local_repository.must_equal nil
25
- c.jarfile.must_equal 'Jarfile'
26
- c.gemfile.must_equal 'Gemfile'
34
+ c.local_repository.must_equal './.m2/repository'
35
+ c.jarfile.must_equal File.join( basedir, 'Jarfile' )
36
+ c.gemfile.must_equal File.join( basedir, 'Gemfile' )
27
37
  c.skip.must_equal nil
28
- c.settings.must_equal nil
38
+ c.settings.must_equal "./.m2/settings.xml"
29
39
  c.offline.must_equal false
30
- c.work_dir.must_equal 'pkg'
31
- c.vendor_dir.must_equal 'vendor/jars'
40
+ c.work_dir.must_equal File.join( basedir, 'pkg' )
41
+ c.vendor_dir.must_equal File.join( basedir, 'vendor/jars' )
32
42
  end
33
43
  end
34
44
 
35
45
  it 'has following defaults without home and with local config' do
36
46
  ENV['HOME'] = '.'
37
-
38
- FileUtils.cd( File.join( 'spec', 'project' ) ) do
47
+ FileUtils.cd( project ) do
39
48
  c = JBundler::Config.new
40
-
41
49
  c.verbose.must_equal true
42
- c.local_repository.must_equal 'local'
43
- c.jarfile.must_equal 'Jar_file'
44
- c.gemfile.must_equal 'gemfile'
50
+ c.local_repository.must_equal File.join( project_dir, 'local' )
51
+ c.jarfile.must_equal File.join( project_dir, 'Jar_file' )
52
+ c.gemfile.must_equal File.join( project_dir, 'gemfile' )
45
53
  c.skip.must_equal false
46
- c.settings.must_equal 'settings.xml'
54
+ c.settings.must_equal File.join( project_dir, 'settings.xml' )
47
55
  c.offline.must_equal true
48
- c.work_dir.must_equal 'pkg'
49
- c.vendor_dir.must_equal 'vendor/myjars'
56
+ c.work_dir.must_equal File.join( project_dir, 'pkg' )
57
+ c.vendor_dir.must_equal File.join( project_dir, 'vendor/myjars' )
50
58
  end
51
59
  end
52
60
 
53
61
  it 'has following defaults with home and without local config' do
54
62
  ENV['HOME'] = File.join( 'home' )
55
63
 
56
- FileUtils.cd( 'spec' ) do
64
+ FileUtils.cd( spec ) do
57
65
  c = JBundler::Config.new
58
66
 
59
67
  c.verbose.must_equal false
60
- c.local_repository.must_equal 'localrepo'
61
- c.jarfile.must_equal 'jarfile'
62
- c.gemfile.must_equal 'Gem_file'
68
+ c.local_repository.must_equal File.join( spec_dir, 'localrepo' )
69
+ c.jarfile.must_equal File.join( spec_dir, 'jarfile' )
70
+ c.gemfile.must_equal File.join( spec_dir, 'Gem_file' )
63
71
  c.skip.must_equal true
64
- c.settings.must_equal 'Settings.xml'
72
+ c.settings.must_equal File.join( spec_dir, 'Settings.xml' )
65
73
  c.offline.must_equal false
66
- c.work_dir.must_equal 'target/pkg'
67
- c.vendor_dir.must_equal 'vendor/my_jars'
74
+ c.work_dir.must_equal File.join( spec_dir, 'target/pkg' )
75
+ c.vendor_dir.must_equal File.join( spec_dir, 'vendor/my_jars' )
68
76
  end
69
77
  end
70
78
 
71
79
  it 'has following defaults with home and with local config' do
72
80
  ENV['HOME'] = File.expand_path( File.join( 'spec', 'home' ) )
73
81
 
74
- FileUtils.cd( File.join( 'spec', 'project' ) ) do
82
+ FileUtils.cd( project ) do
83
+ c = JBundler::Config.new
84
+
85
+ c.verbose.must_equal true
86
+ c.local_repository.must_equal File.join( project_dir, 'local' )
87
+ c.jarfile.must_equal File.join( project_dir, 'Jar_file' )
88
+ c.gemfile.must_equal File.join( project_dir, 'gemfile' )
89
+ c.skip.must_equal false
90
+ c.settings.must_equal File.join( project_dir, 'settings.xml' )
91
+ c.offline.must_equal true
92
+ c.work_dir.must_equal File.join( project_dir, 'pkg' )
93
+ c.vendor_dir.must_equal File.join( project_dir, 'vendor/myjars' )
94
+ end
95
+ end
96
+
97
+ it 'has following defaults with local config starting from nested child directory' do
98
+ FileUtils.cd( File.join( project, 'some', 'more' ) ) do
75
99
  c = JBundler::Config.new
76
100
 
77
101
  c.verbose.must_equal true
78
- c.local_repository.must_equal 'local'
79
- c.jarfile.must_equal 'Jar_file'
80
- c.gemfile.must_equal 'gemfile'
102
+ c.local_repository.must_equal File.join( project_dir, 'local' )
103
+ c.jarfile.must_equal File.join( project_dir, 'Jar_file' )
104
+ c.gemfile.must_equal File.join( project_dir, 'gemfile' )
81
105
  c.skip.must_equal false
82
- c.settings.must_equal 'settings.xml'
106
+ c.settings.must_equal File.join( project_dir, 'settings.xml' )
83
107
  c.offline.must_equal true
84
- c.work_dir.must_equal 'pkg'
85
- c.vendor_dir.must_equal 'vendor/myjars'
108
+ c.work_dir.must_equal File.join( project_dir, 'pkg' )
109
+ c.vendor_dir.must_equal File.join( project_dir, 'vendor/myjars' )
86
110
  end
87
111
  end
88
112
 
@@ -107,20 +131,22 @@ describe JBundler::Config do
107
131
  ENV['HOME'] = eval "\"#{File.expand_path( home )}\""
108
132
 
109
133
  FileUtils.cd eval "\"#{dir}\"" do
134
+ pdir = eval "#{File.basename( dir )}_dir"
135
+ Jars.reset
110
136
  c = JBundler::Config.new
111
137
  c.verbose.must_equal true
112
- c.local_repository.must_equal 'local_repository'
113
- c.jarfile.must_equal 'JarFile'
114
- c.gemfile.must_equal 'GemFile'
138
+ c.local_repository.must_equal File.join( pdir, 'local_repository' )
139
+ c.jarfile.must_equal File.join( pdir, 'JarFile' )
140
+ c.gemfile.must_equal File.join( pdir, 'GemFile' )
115
141
  c.skip.must_equal false
116
- c.settings.must_equal 'Settings.xml'
142
+ c.settings.must_equal File.join( pdir, 'Settings.xml' )
117
143
  c.offline.must_equal true
118
- c.work_dir.must_equal 'pkg/work'
119
- c.vendor_dir.must_equal 'vendor/localjars'
144
+ c.work_dir.must_equal File.join( pdir, 'pkg/work' )
145
+ c.vendor_dir.must_equal File.join( pdir, 'vendor/localjars' )
120
146
  end
121
147
  end
122
148
 
123
- it 'uses java.lang.System.properties with home #{home} and local dir #{dir}' do
149
+ it "uses java.lang.System.properties with home #{home} and local dir #{dir}" do
124
150
  ENV['HOME'] = eval "\"#{File.expand_path( home )}\""
125
151
 
126
152
  java.lang.System.set_property 'jbundle.verbose', 'false'
@@ -134,16 +160,17 @@ describe JBundler::Config do
134
160
  java.lang.System.set_property 'jbundle.vendor.dir', 'vendor/local_jars'
135
161
 
136
162
  FileUtils.cd eval "\"#{dir}\"" do
163
+ pdir = eval "#{File.basename( dir )}_dir"
137
164
  c = JBundler::Config.new
138
165
  c.verbose.must_equal false
139
- c.local_repository.must_equal 'local_repo'
140
- c.jarfile.must_equal 'Jar_File'
141
- c.gemfile.must_equal 'Gem_File'
166
+ c.local_repository.must_equal File.join( pdir, 'local_repo' )
167
+ c.jarfile.must_equal File.join( pdir, 'Jar_File' )
168
+ c.gemfile.must_equal File.join( pdir, 'Gem_File' )
142
169
  c.skip.must_equal true
143
- c.settings.must_equal 'settings.xml'
170
+ c.settings.must_equal File.join( pdir, 'settings.xml' )
144
171
  c.offline.must_equal false
145
- c.work_dir.must_equal 'target/work'
146
- c.vendor_dir.must_equal 'vendor/local_jars'
172
+ c.work_dir.must_equal File.join( pdir, 'target/work' )
173
+ c.vendor_dir.must_equal File.join( pdir, 'vendor/local_jars' )
147
174
  end
148
175
  end
149
176
  end