jar-dependencies 0.3.1 → 0.3.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 18e0d621bcb8e41bb7e4ff42801952483a29f42b
4
- data.tar.gz: fd330a66fa69ddc0f84cf0fef25f0f3ffad21caa
3
+ metadata.gz: 285c3578922ce5e751b875aac6728649d38a174f
4
+ data.tar.gz: a20d84a454308495cc0c10475bcbda345df89037
5
5
  SHA512:
6
- metadata.gz: cfa381d4c43fe3464fc9bf730ed6666b3c17f4e24c0e40e7d96a57b5eb82352f3f2d4c49591bf9036dc66ece232c4d1a376c44e5b37d2aa8c9d7bf93fed49492
7
- data.tar.gz: 2589fe23b38231268b2436d1261a71173384b822c797cbbdc0fc62c9edfc245ec32538fc6de21319be6c29587e051e6ffa5b814ed472b1b3da4af591c6511c08
6
+ metadata.gz: 02086bfa2664b6ab0bc185d007f9504903ec24bcf94b4053f23d611297e0932c6fd5c0b02d6d7f6ac485b66d8c443f8f0f0e7b01853d65f8feca4849ca412f57
7
+ data.tar.gz: a096cc1e27693b6898ba1eabb315cd54b55c5ac65bf7f8da4031ba44b682367b62658063a8fdc494444a3e54e329c74783b546864d3b928f0b75880440ba4a0d
data/Readme.md CHANGED
@@ -23,9 +23,9 @@ in such cases **jbundler** can always **overwrite** any such version.
23
23
 
24
24
  add following to your *Rakefile*:
25
25
 
26
- require 'jar_installer'
26
+ require 'jars/installer'
27
27
  task :install_jars do
28
- Jars::JarInstaller.vendor_jars
28
+ Jars::Installer.vendor_jars!
29
29
  end
30
30
 
31
31
  which will install (download) the dependent jars into **JARS_HOME** and create a
@@ -148,6 +148,26 @@ the gemspec files and just load the bundle jars into jruby
148
148
  classloader, can easily create problems as the jackson and
149
149
  xalan/xerces libraries used by those gems are popular ones in the java world.
150
150
 
151
+ # trouble shooting #
152
+
153
+ since maven is used under the hood it is possible to get more insight
154
+ what maven is doing. show the regualr maven output:
155
+
156
+
157
+ JARS_VERBOSE=true bundle install
158
+ JARS_VERBOSE=true gem install some_gem
159
+
160
+ or with maven debug enabled
161
+
162
+ JARS_DEBUG=true bundle install
163
+ JARS_DEBUG=true gem install some_gem
164
+
165
+ the maven command line which gets printed needs maven-3.3.x and the
166
+ ruby DSL extension for maven:
167
+ [https://github.com/takari/polyglot-maven#configuration](polyglot-maven
168
+ configuration) where ```${maven.multiModuleProjectDirectory}``` is
169
+ your current directory.
170
+
151
171
  # configuration #
152
172
 
153
173
  <table border='1'>
@@ -36,7 +36,7 @@ if you want to use the executable #{LOCK_JARS} then install ruby-maven gem befor
36
36
 
37
37
  $ gem install ruby-maven -v '#{RUBY_MAVEN_VERSION}'
38
38
 
39
- or add it as deveopment dependency to your Gemfile
39
+ or add it as a development dependency to your Gemfile
40
40
 
41
41
  gem 'ruby-maven', '#{RUBY_MAVEN_VERSION}'
42
42
 
@@ -28,6 +28,8 @@ module Jars
28
28
  HOME = 'JARS_HOME'.freeze
29
29
  # skip the gem post install hook
30
30
  SKIP = 'JARS_SKIP'.freeze
31
+ # skip Jars.lock mainly to run lock_jars
32
+ SKIP_LOCK = 'JARS_SKIP_LOCK'.freeze
31
33
  # do not require any jars if set to false
32
34
  REQUIRE = 'JARS_REQUIRE'.freeze
33
35
  # @private
@@ -47,8 +49,11 @@ module Jars
47
49
  class << self
48
50
 
49
51
  def lock_down( debug = false, verbose = false, options = {} )
52
+ ENV[ SKIP_LOCK ] = 'true'
50
53
  require 'jars/lock_down' # do this lazy to keep things clean
51
54
  Jars::LockDown.new( debug, verbose ).lock_down( options )
55
+ ensure
56
+ ENV[ SKIP_LOCK ] = nil
52
57
  end
53
58
 
54
59
  if defined? JRUBY_VERSION
@@ -117,6 +122,10 @@ module Jars
117
122
  self.require = false
118
123
  end
119
124
 
125
+ def skip_lock?
126
+ to_prop( SKIP_LOCK ) || false
127
+ end
128
+
120
129
  def lock
121
130
  to_prop( LOCK ) || 'Jars.lock'
122
131
  end
@@ -140,10 +149,6 @@ module Jars
140
149
  nil
141
150
  end
142
151
 
143
- def local_maven_repo
144
- to_prop( LOCAL_MAVEN_REPO ) || home
145
- end
146
-
147
152
  def reset
148
153
  instance_variables.each { |var| instance_variable_set(var, nil) }
149
154
  ( @@jars ||= {} ).clear
@@ -203,7 +208,8 @@ module Jars
203
208
  end
204
209
 
205
210
  def local_maven_repo
206
- @_local_maven_repo ||= detect_local_repository(maven_local_settings) ||
211
+ @_local_maven_repo ||= absolute(to_prop(LOCAL_MAVEN_REPO)) ||
212
+ detect_local_repository(maven_local_settings) ||
207
213
  detect_local_repository(maven_user_settings) ||
208
214
  detect_local_repository(maven_global_settings) ||
209
215
  File.join( user_home, '.m2', 'repository' )
@@ -224,7 +230,7 @@ module Jars
224
230
  while done != urls do
225
231
  urls.each do |url|
226
232
  unless done.member?( url )
227
- Jars.debug { "--- load jars from #{url}" }
233
+ Jars.debug { "--- load jars from uri #{url}" }
228
234
  classpath = Jars::Classpath.new( nil, "uri:#{url}" )
229
235
  classpath.require( scope )
230
236
  done << url
@@ -277,7 +283,7 @@ module Jars
277
283
  end
278
284
 
279
285
  def require_jar( group_id, artifact_id, *classifier_version )
280
- require_jars_lock
286
+ require_jars_lock unless skip_lock?
281
287
  require_jar_with_block( group_id, artifact_id, *classifier_version ) do |gid, aid, version, classifier|
282
288
  do_require( gid, aid, version, classifier )
283
289
  end
@@ -355,10 +361,18 @@ module Jars
355
361
 
356
362
  def do_require( *args )
357
363
  jar = to_jar( *args )
364
+ local = File.join( Dir.pwd, 'jars', jar )
365
+ vendor = File.join( Dir.pwd, 'vendor', 'jars', jar )
358
366
  file = File.join( home, jar )
359
367
  # use jar from local repository if exists
360
368
  if File.exists?( file )
361
369
  require file
370
+ # use jar from PWD/jars if exists
371
+ elsif File.exists?( local )
372
+ require local
373
+ # use jar from PWD/vendor/jars if exists
374
+ elsif File.exists?( vendor )
375
+ require vendor
362
376
  else
363
377
  # otherwise try to find it on the load path
364
378
  require jar
@@ -149,15 +149,21 @@ module Jars
149
149
 
150
150
  def vendor_jars( write_require_file = true )
151
151
  return unless has_jars?
152
+ vendor_jars!( write_require_file )
153
+ end
154
+
155
+ def self.vendor_jars!
156
+ new.vendor_jars!
157
+ end
158
+
159
+ def vendor_jars!( write_require_file = true )
152
160
  case Jars.to_prop( Jars::VENDOR )
153
161
  when 'true'
154
162
  do_vendor = true
155
163
  when 'false'
156
164
  do_vendor = false
157
165
  else
158
- # if the spec_file does not exists this means it is a local gem
159
- # coming via bundle :path or :git
160
- do_vendor = File.exists?( spec.spec_file )
166
+ do_vendor = true
161
167
  end
162
168
  do_install( do_vendor, write_require_file )
163
169
  end
@@ -1,5 +1,5 @@
1
1
  module Jars
2
- VERSION = '0.3.1'.freeze
2
+ VERSION = '0.3.2'.freeze
3
3
  JRUBY_PLUGINS_VERSION = '1.1.3'.freeze
4
4
  DEPENDENCY_PLUGIN_VERSION = '2.8'.freeze
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jar-dependencies
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.1
4
+ version: 0.3.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - christian meier
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-12-03 00:00:00.000000000 Z
11
+ date: 2016-01-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  requirement: !ruby/object:Gem::Requirement
@@ -91,8 +91,8 @@ licenses:
91
91
  metadata: {}
92
92
  post_install_message: "\nif you want to use the executable lock_jars then install\
93
93
  \ ruby-maven gem before using lock_jars \n\n $ gem install ruby-maven -v '~> 3.3.3'\n\
94
- \nor add it as deveopment dependency to your Gemfile\n\n gem 'ruby-maven', '~>\
95
- \ 3.3.3'\n\n"
94
+ \nor add it as a development dependency to your Gemfile\n\n gem 'ruby-maven',\
95
+ \ '~> 3.3.3'\n\n"
96
96
  rdoc_options: []
97
97
  require_paths:
98
98
  - lib