onceover 3.0.5 → 3.0.6

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: f9cca70e7c3e4acba9f3a2aa60ae16087f30261f
4
- data.tar.gz: e1f6255a54a6be2d9985b57bc82ca97bc7487bf6
3
+ metadata.gz: dcd6ae85ed397165b0be23b34790c9f8b52a3f68
4
+ data.tar.gz: a23571dcacd9dd5b7bc703f7c46e045431cf29fe
5
5
  SHA512:
6
- metadata.gz: 6af61ee99bc06e538611e109157b9e328f53d02b2b6a1eddd0af6a1841cc65f065b131e3792e64767bb4d53a2df9a0c7255c79e0753b829402db2e677545c84f
7
- data.tar.gz: 888e3c95a2630cbc47016af32084ef402f0c928e6b2ce3b46003a3828000e8d8f0a1a6c6b37581c4391d5c2e049a36a5805a8b89add7411d558819f04a6273a8
6
+ metadata.gz: 16b79ab89c3eedf30ecc2ae67b3ce115c4a3f91ffc03f83da0a91482ac9668fe46717569b2ed54b5fcf3582d0f401e27322691c1f796868882db83bb9d65b877
7
+ data.tar.gz: b00f9e885a561659c18545fdda62d6956944c9cc88a1d0df751059e4658833901b95900d1691394a24c3df3e16af4cdbf2765a9bf5be096cc88e9c7864cc66c7
data/controlrepo.gemspec CHANGED
@@ -3,7 +3,7 @@ $LOAD_PATH.unshift File.expand_path("../lib", __FILE__)
3
3
 
4
4
  Gem::Specification.new do |s|
5
5
  s.name = "onceover"
6
- s.version = "3.0.5"
6
+ s.version = "3.0.6"
7
7
  s.authors = ["Dylan Ratcliffe"]
8
8
  s.email = ["dylan.ratcliffe@puppet.com"]
9
9
  s.homepage = "https://github.com/dylanratcliffe/onceover"
@@ -26,7 +26,7 @@ Gem::Specification.new do |s|
26
26
  s.add_runtime_dependency 'rspec', '>= 3.0.0'
27
27
  s.add_runtime_dependency 'bundler'
28
28
  s.add_runtime_dependency 'r10k', '>=2.1.0'
29
- s.add_runtime_dependency 'puppet'
29
+ s.add_runtime_dependency 'puppet', '>=3.4.0'
30
30
  s.add_runtime_dependency 'git'
31
31
  s.add_runtime_dependency 'cri', '>= 2.6'
32
32
  s.add_runtime_dependency 'colored', '~> 1.2'
@@ -135,10 +135,39 @@ class Onceover
135
135
  # We need to do the copy to a tempdir then move the tempdir to the
136
136
  # destination, just in case we get a recursive copy
137
137
  # TODO: Improve this to save I/O
138
+
139
+ # We might need to exclude some files
140
+ #
141
+ # if we are using bundler to install gems below the controlrepo
142
+ # we don't wan two copies so exclude those
143
+ #
144
+ # If there are more situations like this we can add them to this array as
145
+ # full paths
146
+ excluded_files = []
147
+ if ENV['GEM_HOME']
148
+ logger.debug "Excluding #{ENV['GEM_HOME']} from controlrepo copy"
149
+ excluded_files << Dir.glob("#{ENV['GEM_HOME']}/**/*")
150
+ excluded_files.flatten!
151
+ end
152
+
153
+ # Exclude the files we need to
154
+ controlrepo_files = Dir.glob("#{repo.root}/**/*")
155
+ files_to_copy = (controlrepo_files - excluded_files).delete_if { |path| Pathname(path).directory? }
156
+ folders_to_copy = (controlrepo_files - excluded_files).keep_if { |path| Pathname(path).directory? }
157
+
138
158
  logger.debug "Creating temp dir as a staging directory for copying the controlrepo to #{repo.tempdir}"
139
159
  temp_controlrepo = Dir.mktmpdir('controlrepo')
140
- FileUtils.cp_r(Dir["#{repo.root}/*"], "#{temp_controlrepo}")
160
+
161
+ logger.debug "Creating directories under #{temp_controlrepo}"
162
+ FileUtils.mkdir_p(folders_to_copy.map { |folder| "#{temp_controlrepo}/#{(Pathname(folder).relative_path_from(Pathname(repo.root))).to_s}"})
163
+
164
+ logger.debug "Copying files to #{temp_controlrepo}"
165
+ files_to_copy.each do |file|
166
+ FileUtils.cp(file,"#{temp_controlrepo}/#{(Pathname(file).relative_path_from(Pathname(repo.root))).to_s}")
167
+ end
141
168
  FileUtils.mkdir_p("#{repo.tempdir}/#{repo.environmentpath}/production")
169
+
170
+ logger.debug "Copying #{temp_controlrepo} to #{repo.tempdir}/#{repo.environmentpath}/production"
142
171
  FileUtils.cp_r(Dir["#{temp_controlrepo}/*"], "#{repo.tempdir}/#{repo.environmentpath}/production")
143
172
  FileUtils.rm_rf(temp_controlrepo)
144
173
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: onceover
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.0.5
4
+ version: 3.0.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dylan Ratcliffe
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-05-16 00:00:00.000000000 Z
11
+ date: 2016-05-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake
@@ -142,14 +142,14 @@ dependencies:
142
142
  requirements:
143
143
  - - ">="
144
144
  - !ruby/object:Gem::Version
145
- version: '0'
145
+ version: 3.4.0
146
146
  type: :runtime
147
147
  prerelease: false
148
148
  version_requirements: !ruby/object:Gem::Requirement
149
149
  requirements:
150
150
  - - ">="
151
151
  - !ruby/object:Gem::Version
152
- version: '0'
152
+ version: 3.4.0
153
153
  - !ruby/object:Gem::Dependency
154
154
  name: git
155
155
  requirement: !ruby/object:Gem::Requirement