Class: JBundler::LockDown

Inherits:
Object
  • Object
show all
Defined in:
lib/jbundler/lock_down.rb

Instance Method Summary collapse

Constructor Details

#initialize(config) ⇒ LockDown

Returns a new instance of LockDown.



14
15
16
17
# File 'lib/jbundler/lock_down.rb', line 14

def initialize( config )
  @config = config
  @configurator = Configurator.new( config )
end

Instance Method Details

#lock_down(needs_vendor = false, debug = false, verbose = false) ⇒ Object



33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
# File 'lib/jbundler/lock_down.rb', line 33

def lock_down( needs_vendor = false, debug = false, verbose = false )
  classpath = JBundler::ClasspathFile.new( @config.classpath_file )
  needs_update = needs_update?( classpath )
  if ( ! needs_update && ! needs_vendor ) || vendor.vendored?

    puts 'Jar dependencies are up to date !'

  else

    puts '...'
   
    locked = StringIO.new

    deps = install_dependencies( debug, verbose )

    jars = collect_jars( deps, locked, debug, verbose )

    update_files( classpath, locked, jars ) if needs_update

    vendor_it( vendor, deps ) if needs_vendor

  end
end

#update(debug = false, verbose = false) ⇒ Object



23
24
25
26
27
28
29
30
31
# File 'lib/jbundler/lock_down.rb', line 23

def update( debug = false, verbose = false )
  if vendor.vendored?
    raise 'can not update vendored jars'
  end

  FileUtils.rm_f( @config.jarfile_lock )
  
  lock_down( false, debug, verbose )
end

#vendorObject



19
20
21
# File 'lib/jbundler/lock_down.rb', line 19

def vendor
  @vendor ||= JBundler::Vendor.new( @config.vendor_dir )
end