metacon 0.2.0 → 0.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.2.0
1
+ 0.2.1
data/lib/VERSION CHANGED
@@ -1 +1 @@
1
- 0.2.0
1
+ 0.2.1
@@ -7,7 +7,7 @@ module MetaCon
7
7
  main_out = ''
8
8
  err_out = ''
9
9
  exit_status = 1
10
- $stout.puts(cmd_string) if echo
10
+ $stdout.puts(cmd_string) if echo
11
11
  Open3.popen3('/usr/bin/env bash -s') do |stdin, stdout, stderr, wth|
12
12
  stdin.puts cmd_string
13
13
  stdin.flush
@@ -54,16 +54,11 @@ module MetaCon
54
54
  return :impossible unless can_switch?
55
55
  changed = false
56
56
  @state.atomic do |s|
57
- changes.each do |key, val|
58
- s[key] = val unless s[key] == val
59
- end
57
+ changes.each{|key, val| s[key]=val unless s[key]==val }
60
58
  changed = s.dirty
61
59
  end
62
- if changed
63
- return setup_context(opts)
64
- else
65
- return :nochange
66
- end
60
+ if changed then return setup_context(opts)
61
+ else return :nochange end
67
62
  end
68
63
 
69
64
  def can_switch?
@@ -100,14 +95,18 @@ module MetaCon
100
95
  def setup_context(opts)
101
96
  dependencies = self.conf['dependencies']
102
97
  incomplete = false
98
+ emitted = {}
103
99
  dependencies.each do |dep|
104
100
  orig_dep = dep.dup
105
101
  dep = dep.split('/').map{|part| part.strip}
106
102
  kind = dep[0].downcase
107
103
  loader = LOADERS[kind]
108
104
  if loader.nil?
109
- $stderr.puts "WARNING: Don't know how to work with '#{kind}' dependencies." if opts[:verbose]
110
- incomplete = true
105
+ unless emitted[kind]
106
+ $stderr.puts "WARNING: Don't know how to work with '#{kind}' dependencies." if opts[:verbose]
107
+ emitted[kind] = true
108
+ incomplete = true
109
+ end
111
110
  else
112
111
  unless loader.load_dependency(dep, @state.state, self, opts)
113
112
  $stderr.puts "ERROR: Failed to load #{orig_dep} - continuing anyway"
data/metacon.gemspec CHANGED
@@ -5,14 +5,14 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = "metacon"
8
- s.version = "0.2.0"
8
+ s.version = "0.2.1"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Joseph Wecker"]
12
12
  s.date = "2011-10-21"
13
13
  s.description = "Tool with some similarities to puppet but specializing in fast development iteration and continuous deployment. Specifically initially for use with justin.tv / twitch.tv project clusters."
14
14
  s.email = "jwecker@justin.tv"
15
- s.executables = [".metacon_unwrapped", "metacon", "metacon-installer"]
15
+ s.executables = [".metacon_unwrapped", "metacon-installer", "metacon"]
16
16
  s.extra_rdoc_files = [
17
17
  "LICENSE.txt",
18
18
  "README.rdoc"
metadata CHANGED
@@ -1,106 +1,142 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: metacon
3
- version: !ruby/object:Gem::Version
4
- version: 0.2.0
3
+ version: !ruby/object:Gem::Version
4
+ hash: 21
5
5
  prerelease:
6
+ segments:
7
+ - 0
8
+ - 2
9
+ - 1
10
+ version: 0.2.1
6
11
  platform: ruby
7
- authors:
12
+ authors:
8
13
  - Joseph Wecker
9
14
  autorequire:
10
15
  bindir: bin
11
16
  cert_chain: []
12
- date: 2011-10-21 00:00:00.000000000Z
13
- dependencies:
14
- - !ruby/object:Gem::Dependency
15
- name: god
16
- requirement: &2153799620 !ruby/object:Gem::Requirement
17
+
18
+ date: 2011-10-21 00:00:00 Z
19
+ dependencies:
20
+ - !ruby/object:Gem::Dependency
21
+ version_requirements: &id001 !ruby/object:Gem::Requirement
17
22
  none: false
18
- requirements:
23
+ requirements:
19
24
  - - ~>
20
- - !ruby/object:Gem::Version
25
+ - !ruby/object:Gem::Version
26
+ hash: 51
27
+ segments:
28
+ - 0
29
+ - 11
30
+ - 0
21
31
  version: 0.11.0
22
- type: :runtime
32
+ name: god
23
33
  prerelease: false
24
- version_requirements: *2153799620
25
- - !ruby/object:Gem::Dependency
26
- name: highline
27
- requirement: &2153799140 !ruby/object:Gem::Requirement
34
+ type: :runtime
35
+ requirement: *id001
36
+ - !ruby/object:Gem::Dependency
37
+ version_requirements: &id002 !ruby/object:Gem::Requirement
28
38
  none: false
29
- requirements:
39
+ requirements:
30
40
  - - ~>
31
- - !ruby/object:Gem::Version
41
+ - !ruby/object:Gem::Version
42
+ hash: 11
43
+ segments:
44
+ - 1
45
+ - 6
46
+ - 2
32
47
  version: 1.6.2
33
- type: :runtime
48
+ name: highline
34
49
  prerelease: false
35
- version_requirements: *2153799140
36
- - !ruby/object:Gem::Dependency
37
- name: minitest
38
- requirement: &2153798660 !ruby/object:Gem::Requirement
50
+ type: :runtime
51
+ requirement: *id002
52
+ - !ruby/object:Gem::Dependency
53
+ version_requirements: &id003 !ruby/object:Gem::Requirement
39
54
  none: false
40
- requirements:
41
- - - ! '>='
42
- - !ruby/object:Gem::Version
43
- version: '0'
44
- type: :development
55
+ requirements:
56
+ - - ">="
57
+ - !ruby/object:Gem::Version
58
+ hash: 3
59
+ segments:
60
+ - 0
61
+ version: "0"
62
+ name: minitest
45
63
  prerelease: false
46
- version_requirements: *2153798660
47
- - !ruby/object:Gem::Dependency
48
- name: yard
49
- requirement: &2153798180 !ruby/object:Gem::Requirement
64
+ type: :development
65
+ requirement: *id003
66
+ - !ruby/object:Gem::Dependency
67
+ version_requirements: &id004 !ruby/object:Gem::Requirement
50
68
  none: false
51
- requirements:
69
+ requirements:
52
70
  - - ~>
53
- - !ruby/object:Gem::Version
71
+ - !ruby/object:Gem::Version
72
+ hash: 7
73
+ segments:
74
+ - 0
75
+ - 6
76
+ - 0
54
77
  version: 0.6.0
55
- type: :development
78
+ name: yard
56
79
  prerelease: false
57
- version_requirements: *2153798180
58
- - !ruby/object:Gem::Dependency
59
- name: bundler
60
- requirement: &2153797700 !ruby/object:Gem::Requirement
80
+ type: :development
81
+ requirement: *id004
82
+ - !ruby/object:Gem::Dependency
83
+ version_requirements: &id005 !ruby/object:Gem::Requirement
61
84
  none: false
62
- requirements:
85
+ requirements:
63
86
  - - ~>
64
- - !ruby/object:Gem::Version
87
+ - !ruby/object:Gem::Version
88
+ hash: 23
89
+ segments:
90
+ - 1
91
+ - 0
92
+ - 0
65
93
  version: 1.0.0
66
- type: :development
94
+ name: bundler
67
95
  prerelease: false
68
- version_requirements: *2153797700
69
- - !ruby/object:Gem::Dependency
70
- name: jeweler
71
- requirement: &2153797220 !ruby/object:Gem::Requirement
96
+ type: :development
97
+ requirement: *id005
98
+ - !ruby/object:Gem::Dependency
99
+ version_requirements: &id006 !ruby/object:Gem::Requirement
72
100
  none: false
73
- requirements:
101
+ requirements:
74
102
  - - ~>
75
- - !ruby/object:Gem::Version
103
+ - !ruby/object:Gem::Version
104
+ hash: 7
105
+ segments:
106
+ - 1
107
+ - 6
108
+ - 4
76
109
  version: 1.6.4
77
- type: :development
110
+ name: jeweler
78
111
  prerelease: false
79
- version_requirements: *2153797220
80
- - !ruby/object:Gem::Dependency
81
- name: rcov
82
- requirement: &2153796740 !ruby/object:Gem::Requirement
83
- none: false
84
- requirements:
85
- - - ! '>='
86
- - !ruby/object:Gem::Version
87
- version: '0'
88
112
  type: :development
113
+ requirement: *id006
114
+ - !ruby/object:Gem::Dependency
115
+ version_requirements: &id007 !ruby/object:Gem::Requirement
116
+ none: false
117
+ requirements:
118
+ - - ">="
119
+ - !ruby/object:Gem::Version
120
+ hash: 3
121
+ segments:
122
+ - 0
123
+ version: "0"
124
+ name: rcov
89
125
  prerelease: false
90
- version_requirements: *2153796740
91
- description: Tool with some similarities to puppet but specializing in fast development
92
- iteration and continuous deployment. Specifically initially for use with justin.tv
93
- / twitch.tv project clusters.
126
+ type: :development
127
+ requirement: *id007
128
+ description: Tool with some similarities to puppet but specializing in fast development iteration and continuous deployment. Specifically initially for use with justin.tv / twitch.tv project clusters.
94
129
  email: jwecker@justin.tv
95
- executables:
130
+ executables:
96
131
  - .metacon_unwrapped
97
- - metacon
98
132
  - metacon-installer
133
+ - metacon
99
134
  extensions: []
100
- extra_rdoc_files:
135
+
136
+ extra_rdoc_files:
101
137
  - LICENSE.txt
102
138
  - README.rdoc
103
- files:
139
+ files:
104
140
  - .attic/metacon-install
105
141
  - .attic/old/.cmd_common
106
142
  - .attic/old/Gemfile
@@ -148,29 +184,33 @@ files:
148
184
  - test/helper.rb
149
185
  - test/test_metacon.rb
150
186
  homepage: http://github.com/josephwecker/metacon
151
- licenses:
187
+ licenses:
152
188
  - MIT
153
- post_install_message: ! "\n\n\e[1;32m\e[40m--- You may need to run \e[1;37mmetacon-installer\e[1;32m
154
- to check dependencies & finish the installation --- \e[0m\n\n"
189
+ post_install_message: "\n\n\
190
+ \e[1;32m\e[40m--- You may need to run \e[1;37mmetacon-installer\e[1;32m to check dependencies & finish the installation --- \e[0m\n\n"
155
191
  rdoc_options: []
156
- require_paths:
192
+
193
+ require_paths:
157
194
  - lib
158
- required_ruby_version: !ruby/object:Gem::Requirement
195
+ required_ruby_version: !ruby/object:Gem::Requirement
159
196
  none: false
160
- requirements:
161
- - - ! '>='
162
- - !ruby/object:Gem::Version
163
- version: '0'
164
- segments:
197
+ requirements:
198
+ - - ">="
199
+ - !ruby/object:Gem::Version
200
+ hash: 3
201
+ segments:
165
202
  - 0
166
- hash: -1965683250657076444
167
- required_rubygems_version: !ruby/object:Gem::Requirement
203
+ version: "0"
204
+ required_rubygems_version: !ruby/object:Gem::Requirement
168
205
  none: false
169
- requirements:
170
- - - ! '>='
171
- - !ruby/object:Gem::Version
172
- version: '0'
173
- requirements:
206
+ requirements:
207
+ - - ">="
208
+ - !ruby/object:Gem::Version
209
+ hash: 3
210
+ segments:
211
+ - 0
212
+ version: "0"
213
+ requirements:
174
214
  - git, v1.7.4.1 or greater
175
215
  - rvm, v1.8.2 or greater
176
216
  - pythonbrew, v1.1 or greater
@@ -180,3 +220,4 @@ signing_key:
180
220
  specification_version: 3
181
221
  summary: Metacontroller for organizing aggregate projects
182
222
  test_files: []
223
+