builderator 1.1.3 → 1.1.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile.lock +13 -18
- data/VERSION +1 -1
- data/lib/builderator/config.rb +21 -1
- data/rvm.env +4 -4
- data/spec/config_spec.rb +15 -0
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6f7315691d21aa1ee458439e175fad832f333c84
|
4
|
+
data.tar.gz: beaad66836ca71ea55dab73885127771f87debec
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 41feb503cf94efa12ef41452efa31b31d823bc1fd818afaf390e5bb8f93da4319c230c7565f70d4d0f2946f91fd7fc218d83416b12f138b439b6490a196d071d
|
7
|
+
data.tar.gz: 9adcbfa499715d19ede3eaaaf17cff16308fd281f7f5e30d6f7b827200054e5bebcab4c60ed32fe02e150b16a7d04d5699e213c5d80de9f9e33a52d4d7afc2b9
|
data/Gemfile.lock
CHANGED
@@ -56,30 +56,31 @@ GEM
|
|
56
56
|
celluloid-io (0.16.2)
|
57
57
|
celluloid (>= 0.16.0)
|
58
58
|
nio4r (>= 1.1.0)
|
59
|
-
chef (12.
|
60
|
-
chef-config (= 12.
|
61
|
-
chef-zero (~> 4.
|
59
|
+
chef (12.7.2)
|
60
|
+
chef-config (= 12.7.2)
|
61
|
+
chef-zero (~> 4.5)
|
62
62
|
diff-lcs (~> 1.2, >= 1.2.4)
|
63
63
|
erubis (~> 2.7)
|
64
64
|
ffi-yajl (~> 2.2)
|
65
65
|
highline (~> 1.6, >= 1.6.9)
|
66
|
-
mixlib-authentication (~> 1.
|
66
|
+
mixlib-authentication (~> 1.4)
|
67
67
|
mixlib-cli (~> 1.4)
|
68
68
|
mixlib-log (~> 1.3)
|
69
69
|
mixlib-shellout (~> 2.0)
|
70
|
-
net-ssh (
|
70
|
+
net-ssh (>= 2.9, < 4.0)
|
71
71
|
net-ssh-multi (~> 1.1)
|
72
72
|
ohai (>= 8.6.0.alpha.1, < 9)
|
73
73
|
plist (~> 3.1.0)
|
74
|
-
|
75
|
-
rspec-core (~> 3.
|
76
|
-
rspec-expectations (~> 3.
|
77
|
-
rspec-mocks (~> 3.
|
74
|
+
proxifier (~> 1.0)
|
75
|
+
rspec-core (~> 3.4)
|
76
|
+
rspec-expectations (~> 3.4)
|
77
|
+
rspec-mocks (~> 3.4)
|
78
78
|
rspec_junit_formatter (~> 0.2.0)
|
79
79
|
serverspec (~> 2.7)
|
80
80
|
specinfra (~> 2.10)
|
81
81
|
syslog-logger (~> 1.6)
|
82
|
-
|
82
|
+
uuidtools (~> 2.1.5)
|
83
|
+
chef-config (12.7.2)
|
83
84
|
mixlib-config (~> 2.0)
|
84
85
|
mixlib-shellout (~> 2.0)
|
85
86
|
chef-zero (4.6.1)
|
@@ -89,7 +90,6 @@ GEM
|
|
89
90
|
rack
|
90
91
|
uuidtools (~> 2.1)
|
91
92
|
cleanroom (1.0.0)
|
92
|
-
coderay (1.1.1)
|
93
93
|
dep-selector-libgecode (1.2.0)
|
94
94
|
dep_selector (1.0.3)
|
95
95
|
dep-selector-libgecode (~> 1.0)
|
@@ -114,7 +114,6 @@ GEM
|
|
114
114
|
json (1.8.3)
|
115
115
|
json_pure (1.8.3)
|
116
116
|
libyajl2 (1.2.0)
|
117
|
-
method_source (0.8.2)
|
118
117
|
minitar (0.5.4)
|
119
118
|
mixlib-authentication (1.4.0)
|
120
119
|
mixlib-log
|
@@ -130,7 +129,7 @@ GEM
|
|
130
129
|
multipart-post (2.0.0)
|
131
130
|
net-scp (1.2.1)
|
132
131
|
net-ssh (>= 2.6.5)
|
133
|
-
net-ssh (
|
132
|
+
net-ssh (3.1.1)
|
134
133
|
net-ssh-gateway (1.2.0)
|
135
134
|
net-ssh (>= 2.6.5)
|
136
135
|
net-ssh-multi (1.2.1)
|
@@ -156,10 +155,7 @@ GEM
|
|
156
155
|
ast (~> 2.2)
|
157
156
|
plist (3.1.0)
|
158
157
|
powerpack (0.1.1)
|
159
|
-
|
160
|
-
coderay (~> 1.1.0)
|
161
|
-
method_source (~> 0.8.1)
|
162
|
-
slop (~> 3.4)
|
158
|
+
proxifier (1.0.3)
|
163
159
|
rack (1.6.4)
|
164
160
|
rainbow (2.1.0)
|
165
161
|
rake (10.5.0)
|
@@ -218,7 +214,6 @@ GEM
|
|
218
214
|
rspec-its
|
219
215
|
specinfra (~> 2.53)
|
220
216
|
sfl (2.2)
|
221
|
-
slop (3.6.0)
|
222
217
|
solve (2.0.3)
|
223
218
|
molinillo (~> 0.4.2)
|
224
219
|
semverse (~> 1.1)
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
1.1.
|
1
|
+
1.1.4
|
data/lib/builderator/config.rb
CHANGED
@@ -47,9 +47,27 @@ module Builderator
|
|
47
47
|
layers.unshift(File.from_json(path)) if ::File.exist?(path)
|
48
48
|
end
|
49
49
|
|
50
|
+
##
|
51
|
+
# The compile method renders a single File instance from all of the configured
|
52
|
+
# input layers. It follows the following algorithm:
|
53
|
+
#
|
54
|
+
# => `DIRTY` is defined as the logical OR of the dirty state of each layer.
|
55
|
+
# Layers are responsible for detecting changes to their own properties
|
56
|
+
# while being compiled.
|
57
|
+
#
|
58
|
+
# => LOOP unitl not DIRTY plus 1 iteration
|
59
|
+
# 1. Call each layer's own compile method.
|
60
|
+
# 2. For each layer, merge it into the COMPILED output.
|
61
|
+
# FAIL if ITERATIONS > LIMIT
|
62
|
+
#
|
63
|
+
# => The additional iteration after DIRTY becomes false is to ensure that
|
64
|
+
# any changes to the compiled output during the final merge are passed
|
65
|
+
# back through each layer's compile.
|
66
|
+
##
|
50
67
|
def compile(max_iterations = 6)
|
51
68
|
compiled.unseal
|
52
69
|
compile_iterations = 0
|
70
|
+
break_break = false
|
53
71
|
|
54
72
|
## Inject GLOBAL_DEFAULTS before starting compile
|
55
73
|
compiled.merge(GLOBAL_DEFAULTS.compile)
|
@@ -71,7 +89,9 @@ module Builderator
|
|
71
89
|
compiled.merge(layer)
|
72
90
|
end
|
73
91
|
|
74
|
-
break
|
92
|
+
break if break_break && !dirty?
|
93
|
+
|
94
|
+
break_break = !dirty?
|
75
95
|
compile_iterations += 1
|
76
96
|
end
|
77
97
|
|
data/rvm.env
CHANGED
@@ -1,14 +1,14 @@
|
|
1
|
-
declare -x GEM_HOME="/home/jenkins/.rvm/gems/ruby-2.1.5@bakery-
|
2
|
-
declare -x GEM_PATH="/home/jenkins/.rvm/gems/ruby-2.1.5@bakery-
|
1
|
+
declare -x GEM_HOME="/home/jenkins/.rvm/gems/ruby-2.1.5@bakery-0"
|
2
|
+
declare -x GEM_PATH="/home/jenkins/.rvm/gems/ruby-2.1.5@bakery-0:/home/jenkins/.rvm/gems/ruby-2.1.5@global"
|
3
3
|
declare -x HOME="/home/jenkins"
|
4
|
-
declare -x HUDSON_COOKIE="
|
4
|
+
declare -x HUDSON_COOKIE="65158711-c2ba-4a30-9b80-ed21ba86750e"
|
5
5
|
declare -x IRBRC="/home/jenkins/.rvm/rubies/ruby-2.1.5/.irbrc"
|
6
6
|
declare -x LANG="en_US.UTF-8"
|
7
7
|
declare -x LC_ALL="en_US.UTF-8"
|
8
8
|
declare -x MY_RUBY_HOME="/home/jenkins/.rvm/rubies/ruby-2.1.5"
|
9
9
|
declare -x NLSPATH="/usr/dt/lib/nls/msg/%L/%N.cat"
|
10
10
|
declare -x OLDPWD
|
11
|
-
declare -x PATH="/home/jenkins/.rvm/gems/ruby-2.1.5@bakery-
|
11
|
+
declare -x PATH="/home/jenkins/.rvm/gems/ruby-2.1.5@bakery-0/bin:/home/jenkins/.rvm/gems/ruby-2.1.5@global/bin:/home/jenkins/.rvm/rubies/ruby-2.1.5/bin:/home/jenkins/.rvm/bin:/usr/local/bin:/usr/local/sbin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/X11R6/bin"
|
12
12
|
declare -x PWD="/home/jenkins/workspace/gem-public-builderator-master"
|
13
13
|
declare -x RUBY_VERSION="ruby-2.1.5"
|
14
14
|
declare -x SHLVL="1"
|
data/spec/config_spec.rb
CHANGED
@@ -83,5 +83,20 @@ module Builderator
|
|
83
83
|
|
84
84
|
expect { Config.compile }.not_to raise_error
|
85
85
|
end
|
86
|
+
|
87
|
+
it 'compiles a change after an initial compilation' do
|
88
|
+
expect(Builderator::Config.layers).to be_empty
|
89
|
+
|
90
|
+
Builderator::Config.load(::File.expand_path('../resource/Buildfile-home-directory', __FILE__))
|
91
|
+
Builderator::Config.load(::File.expand_path('../resource/Buildfile-with-overrides2', __FILE__))
|
92
|
+
expect(Builderator::Config.all_layers.any?(&:dirty)).to be false
|
93
|
+
expect { Config.compile }.not_to raise_error
|
94
|
+
|
95
|
+
Builderator::Config.defaults.version '1.2.3'
|
96
|
+
Builderator::Config.defaults.build_number = '4'
|
97
|
+
expect { Config.compile }.not_to raise_error
|
98
|
+
|
99
|
+
expect(Builderator::Config.profile('default').tags['version']).to eq '1.2.3-4'
|
100
|
+
end
|
86
101
|
end
|
87
102
|
end
|