class Librarian::Puppet::Source::Git

Public Instance Methods

cache!() click to toggle source
Calls superclass method
# File lib/librarian/puppet/source/git.rb, line 27
def cache!
  return vendor_checkout! if vendor_cached?

  if environment.local?
    raise Error, "Could not find a local copy of #{uri}#{" at #{sha}" unless sha.nil?}."
  end

  begin
    super
  rescue Librarian::Posix::CommandFailure => e
    raise Error, "Could not checkout #{uri}#{" at #{sha}" unless sha.nil?}: #{e}"
  end

  cache_in_vendor(repository.path) if environment.vendor?
end

Private Instance Methods

cache_in_vendor(tmp_path) click to toggle source
# File lib/librarian/puppet/source/git.rb, line 66
def cache_in_vendor(tmp_path)
  Librarian::Posix.run!(%W{git archive -o #{vendor_tar} #{sha}}, :chdir => tmp_path.to_s)
  Librarian::Posix.run!(%W{gzip #{vendor_tar}}, :chdir => tmp_path.to_s)
end
vendor_cached?() click to toggle source
# File lib/librarian/puppet/source/git.rb, line 53
def vendor_cached?
  vendor_tgz.exist?
end
vendor_checkout!() click to toggle source
# File lib/librarian/puppet/source/git.rb, line 57
def vendor_checkout!
  repository.path.rmtree if repository.path.exist?
  repository.path.mkpath

  Librarian::Posix.run!(%W{tar xzf #{vendor_tgz}}, :chdir => repository.path.to_s)

  repository_cached!
end
vendor_tar() click to toggle source
# File lib/librarian/puppet/source/git.rb, line 45
def vendor_tar
  environment.vendor_source.join("#{sha}.tar")
end
vendor_tgz() click to toggle source
# File lib/librarian/puppet/source/git.rb, line 49
def vendor_tgz
  environment.vendor_source.join("#{sha}.tar.gz")
end