Class: Librarian::Puppet::Source::Git
- Inherits:
-
Source::Git
- Object
- Source::Git
- Librarian::Puppet::Source::Git
- Includes:
- Local
- Defined in:
- lib/librarian/puppet/source/git.rb
Instance Method Summary collapse
- #cache! ⇒ Object
- #cache_in_vendor(tmp_path) ⇒ Object
- #fetch_dependencies(name, version, extra) ⇒ Object
- #fetch_version(name, extra) ⇒ Object
- #forge_source ⇒ Object
- #vendor_cached? ⇒ Boolean
- #vendor_checkout! ⇒ Object
- #vendor_tgz ⇒ Object
Methods included from Local
Instance Method Details
#cache! ⇒ Object
58 59 60 61 62 63 64 65 66 67 68 |
# File 'lib/librarian/puppet/source/git.rb', line 58 def cache! return vendor_checkout! if vendor_cached? if environment.local? raise Error, "Could not find a local copy of #{uri} at #{sha}." end super cache_in_vendor(repository.path) if environment.vendor? end |
#cache_in_vendor(tmp_path) ⇒ Object
89 90 91 92 93 |
# File 'lib/librarian/puppet/source/git.rb', line 89 def cache_in_vendor(tmp_path) Dir.chdir(tmp_path.to_s) do %x{git archive #{sha} | gzip > #{vendor_tgz}} end end |
#fetch_dependencies(name, version, extra) ⇒ Object
108 109 110 111 112 |
# File 'lib/librarian/puppet/source/git.rb', line 108 def fetch_dependencies(name, version, extra) repository.dependencies.map do |k, v| Dependency.new(k, v, forge_source) end end |
#fetch_version(name, extra) ⇒ Object
95 96 97 98 99 100 101 102 103 104 105 106 |
# File 'lib/librarian/puppet/source/git.rb', line 95 def fetch_version(name, extra) cache! found_path = found_path(name) v = repository.module_version v = v.gsub("-",".") # fix for some invalid versions like 1.0.0-rc1 # if still not valid, use some default version unless Gem::Version.correct? v debug { "Ignoring invalid version '#{v}' for module #{name}, using 0.0.1" } v = '0.0.1' end end |
#forge_source ⇒ Object
114 115 116 |
# File 'lib/librarian/puppet/source/git.rb', line 114 def forge_source Forge.(environment, :remote=>"http://forge.puppetlabs.com") end |
#vendor_cached? ⇒ Boolean
74 75 76 |
# File 'lib/librarian/puppet/source/git.rb', line 74 def vendor_cached? vendor_tgz.exist? end |
#vendor_checkout! ⇒ Object
78 79 80 81 82 83 84 85 86 87 |
# File 'lib/librarian/puppet/source/git.rb', line 78 def vendor_checkout! repository.path.rmtree if repository.path.exist? repository.path.mkpath Dir.chdir(repository.path.to_s) do %x{tar xzf #{vendor_tgz}} end repository_cached! end |
#vendor_tgz ⇒ Object
70 71 72 |
# File 'lib/librarian/puppet/source/git.rb', line 70 def vendor_tgz environment.vendor_source + "#{sha}.tar.gz" end |