metacon 0.2.0 → 0.2.1

Sign up to get free protection for your applications and to get access to all the features.
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
+