class Maven::Tools::Jarfile

Attributes

file[R]

Public Class Methods

new(file = 'Jarfile') click to toggle source
# File lib/maven/tools/jarfile.rb, line 32
def initialize(file = 'Jarfile')
  @file = file
  @lockfile = file + ".lock"
end

Public Instance Methods

exists?() click to toggle source
# File lib/maven/tools/jarfile.rb, line 42
def exists?
  ::File.exists?(@file)
end
exists_lock?() click to toggle source
# File lib/maven/tools/jarfile.rb, line 50
def exists_lock?
  ::File.exists?(@lockfile)
end
generate_lockfile(dependency_coordinates) click to toggle source
# File lib/maven/tools/jarfile.rb, line 217
def generate_lockfile(dependency_coordinates)
  if dependency_coordinates.empty?
    FileUtils.rm_f(@lockfile) if exists_lock?
  else
    ::File.open(@lockfile, 'w') do |f|
      dependency_coordinates.each do |d|
        f.puts d.to_s unless d.to_s =~ /^ruby.bundler:/
      end
    end
  end
end
load_lockfile() click to toggle source
# File lib/maven/tools/jarfile.rb, line 54
def load_lockfile
  _locked = []
  if exists_lock?
    ::File.read(@lockfile).each_line do |line|
      line.strip!
      if line.size > 0 && !(line =~ /^\s*#/)
        _locked << line
      end
    end
  end
  _locked
end
locked() click to toggle source
# File lib/maven/tools/jarfile.rb, line 67
def locked
  @locked ||= load_lockfile
end
locked?(coordinate) click to toggle source
# File lib/maven/tools/jarfile.rb, line 71
def locked?(coordinate)
  coord = coordinate.sub(/^([^:]+:[^:]+):.+/) { $1 }
  locked.detect { |l| l.sub(/^([^:]+:[^:]+):.+/) { $1 } == coord } != nil
end
mtime() click to toggle source
# File lib/maven/tools/jarfile.rb, line 38
def mtime
  ::File.mtime(@file)
end
mtime_lock() click to toggle source
# File lib/maven/tools/jarfile.rb, line 46
def mtime_lock
  ::File.mtime(@lockfile)
end
populate_locked(container) click to toggle source
# File lib/maven/tools/jarfile.rb, line 213
def populate_locked(container)
  locked.each { |l| container.add_artifact(l) }
end
populate_unlocked( container = nil, &block ) click to toggle source
# File lib/maven/tools/jarfile.rb, line 179
def populate_unlocked( container = nil, &block )
  warn 'DEPRECATED use Maven::Tools::DSL::Jarfile instead'
  if ::File.exists?(@file)
    dsl = Maven::Tools::DSL::Jarfile.new( nil, @file )

    if block
      block.call( dsl )
    end
    # TODO all that container stuff needs to go into jbundler !!!
    if container
      dsl.artifacts.each do |a|
        if path = a[ :system_path ]
          container.add_local_jar( path )
        elsif not locked?( coord = a.to_coordinate )
          if exclusions = a.exclusions
            container.add_artifact_with_exclusions( coord,
                                                    exclusions )
          else
            container.add_artifact( coord )
          end
        end
      end
      dsl.repositories.each do |repo|
        container.add_repository( repo[ :name ] || repo[ 'name' ],
                                  repo[ :url ] || repo[ 'url' ] )
      end
      dsl.snapshot_repositories.each do |repo|
        container.add_snapshot_repository( repo[ :name ] || repo[ 'name' ],
                                           repo[ :url ] || repo[ 'url' ] )
      end
    end
  end
end
setup_locked( parent ) click to toggle source
# File lib/maven/tools/jarfile.rb, line 174
def setup_locked( parent )
  warn 'DEPRECATED use Maven::Tools::DSL::Jarfile instead'
  Maven::Tools::DSL::Jarfile.new( LockedParent.new( parent ), @file )
end
setup_unlocked( parent ) click to toggle source
# File lib/maven/tools/jarfile.rb, line 169
def setup_unlocked( parent )
  warn 'DEPRECATED use Maven::Tools::DSL::Jarfile instead'
  Maven::Tools::DSL::Jarfile.new( parent, @file )
end