Class: JBundler::Vendor
- Inherits:
-
Object
- Object
- JBundler::Vendor
- Defined in:
- lib/jbundler/vendor.rb
Instance Method Summary collapse
- #clear ⇒ Object
-
#initialize(dir) ⇒ Vendor
constructor
A new instance of Vendor.
- #require_jars ⇒ Object
- #require_jars_legacy ⇒ Object
- #setup(classpath_file) ⇒ Object
- #vendor_dependencies(deps) ⇒ Object
- #vendored? ⇒ Boolean
Constructor Details
#initialize(dir) ⇒ Vendor
Returns a new instance of Vendor.
5 6 7 8 |
# File 'lib/jbundler/vendor.rb', line 5 def initialize( dir ) @dir = File.( dir ) @jars_lock = File.join( @dir, 'Jars.lock' ) end |
Instance Method Details
#clear ⇒ Object
39 40 41 42 43 44 |
# File 'lib/jbundler/vendor.rb', line 39 def clear FileUtils.mkdir_p( @dir ) Dir[ File.join( @dir, '*' ) ].each do |f| FileUtils.rm_rf( f ) end end |
#require_jars ⇒ Object
14 15 16 17 18 19 20 21 22 23 |
# File 'lib/jbundler/vendor.rb', line 14 def require_jars if File.exists?(@jars_lock) $LOAD_PATH << @dir unless $LOAD_PATH.include? @dir ENV_JAVA['jars.lock'] = @jars_lock Jars.require_jars_lock! true else require_jars_legacy end end |
#require_jars_legacy ⇒ Object
25 26 27 28 29 30 31 32 33 34 35 36 37 |
# File 'lib/jbundler/vendor.rb', line 25 def require_jars_legacy jars = File.join( @dir, 'jbundler.rb' ) if File.exists?( jars ) $LOAD_PATH << @dir unless $LOAD_PATH.include? @dir require jars else Dir[ File.join( @dir, '**', '*' ) ].each do |f| require f end Jars.no_more_warnings true end end |
#setup(classpath_file) ⇒ Object
65 66 67 68 69 70 71 72 |
# File 'lib/jbundler/vendor.rb', line 65 def setup( classpath_file ) classpath_file.require_classpath FileUtils.mkdir_p( @dir ) JBUNDLER_CLASSPATH.each do |f| FileUtils.cp( f, File.join( @dir, File.basename( f ) ) ) end end |
#vendor_dependencies(deps) ⇒ Object
46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 |
# File 'lib/jbundler/vendor.rb', line 46 def vendor_dependencies( deps ) FileUtils.mkdir_p( @dir ) File.open(@jars_lock, 'w') do |f| deps.each do |dep| if dep.scope == :runtime target = File.join( @dir, dep.path ) FileUtils.mkdir_p( File.dirname( target ) ) FileUtils.cp( dep.file, target ) line = dep.gav + ':runtime:' f.puts line end end end ['jbundler.rb', 'jbundle.rb'].each do |filename| File.write( File.join( @dir, filename ), "ENV['JARS_LOCK'] = File.join( File.dirname( __FILE__ ), 'Jars.lock' )\nrequire 'jars/setup'" ) end end |
#vendored? ⇒ Boolean
10 11 12 |
# File 'lib/jbundler/vendor.rb', line 10 def vendored? File.exists?( @dir ) && Dir[ File.join( @dir, '*' ) ].size > 0 end |