metacon 0.1.5 → 0.1.6

Sign up to get free protection for your applications and to get access to all the features.
data/README.rdoc CHANGED
@@ -8,12 +8,12 @@ running/supervising, branching, aggregating, etc.)
8
8
  == Install
9
9
 
10
10
  Prerequisites:
11
- * git
12
- * curl
11
+ * git
12
+ * curl
13
13
 
14
14
  The overall tool can be installed as follows:
15
15
 
16
- $ bash < <(curl -s https://raw.github.com/josephwecker/metacon/master/shelp/metacon-installer.sh )
16
+ $ curl -sL http://bit.ly/metacon-inst -o /tmp/mi.sh && bash /tmp/mi.sh
17
17
 
18
18
  The library can be used from within a project with a separate:
19
19
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.5
1
+ 0.1.6
data/bin/metacon CHANGED
@@ -11,7 +11,7 @@ if File.exists?(rvm_path)
11
11
  require 'shellwords'
12
12
  cmd = Shellwords.shellescape(
13
13
  File.join(File.dirname(Pathname.new(__FILE__).realpath.to_s), '.metacon_unwrapped'))
14
- full_cmd = '. "$HOME/.rvm/scripts/rvm" && rvm ruby-1.9.2@metacon exec ' + cmd + ' ' + ARGV.map{|a| Shellwords.shellescape(a)}.join(' ')
14
+ full_cmd = '/usr/bin/env bash -c \'source "$HOME/.rvm/scripts/rvm" && rvm ruby-1.9.2@metacon do ' + cmd + ' ' + ARGV.map{|a| Shellwords.shellescape(a)}.join(' ') + "'"
15
15
  exec full_cmd
16
16
  else
17
17
  $stderr.puts "RVM is required to run metacon. To finish installation of metacon please run metacon-installer"
data/lib/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.5
1
+ 0.1.6
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.1.5"
8
+ s.version = "0.1.6"
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-installer", "metacon"]
15
+ s.executables = [".metacon_unwrapped", "metacon", "metacon-installer"]
16
16
  s.extra_rdoc_files = [
17
17
  "LICENSE.txt",
18
18
  "README.rdoc"
@@ -1,10 +1,27 @@
1
1
  #!/usr/bin/env bash
2
2
 
3
- # TODO:
4
- # - install the metacon gem (in metacon's ruby+gemset)
5
- # - look at output to installation - find full path for .metacon_unwrapped
6
- # - make a 'metacon' bin or symlink one that wraps .metacon_unwrapped w/ rvm exec
3
+ cat <<EOF
4
+ metacon-installer
5
+ -----------------
6
+ This will perform the following actions, all of which can be pretty easily
7
+ undone if needed:
7
8
 
9
+ * Try to install rvm if it's not already installed
10
+ * Update rvm
11
+ * Install ruby 1.9.2 (or 1.9.3) safely isolated (by rvm)
12
+ from your system ruby
13
+ * Create the rvm gemset that metacon will run under and
14
+ install some gems into it
15
+ * Install into it the actual metacon gem
16
+ * Attempt to make a symlink for the gem's metacon binary
17
+ in /usr/local/bin to override rubygem's normal
18
+ executable handling and to make sure it's available no
19
+ matter what rvm gemset you happen to be in.
20
+
21
+ EOF
22
+
23
+ read -p "Continue (y/n)? "
24
+ [ "$REPLY" == "y" ] || exit 1
8
25
 
9
26
  set -e
10
27
 
@@ -19,6 +36,7 @@ fi
19
36
  [[ `git --version` ]] || ( echo "Metacon requires 'git' (git-core package if deb/ubu). Please install and retry." && exit 1 )
20
37
  [[ `curl --version` ]] || ( echo "Metaon requires 'curl'. Please install and retry." && exit 1 )
21
38
 
39
+ set +e
22
40
  if [[ ! `rvm version` ]]; then
23
41
  echo "RVM not found. Attempting to install."
24
42
  bash < <(curl -s https://raw.github.com/wayneeseguin/rvm/master/binscripts/rvm-installer ) || exit 2
@@ -26,10 +44,12 @@ if [[ ! `rvm version` ]]; then
26
44
  else
27
45
  echo "RVM found"
28
46
  INSTALLED_RVM=
47
+ source "$HOME/.rvm/scripts/rvm"
48
+ rvm get head
49
+ rvm reload
29
50
  fi
30
51
 
31
52
  source "$HOME/.rvm/scripts/rvm"
32
- set +e
33
53
  [[ `rvm use $MCON_RUBY_V` == *Using* ]] || ( rvm install $MCON_RUBY_V && rvm use $MCON_RUBY_V ) || exit 3
34
54
  rvm use $MCON_RUBY_V
35
55
  [[ `rvm use $MCON_RUBY_V; rvm gemset use metacon 2>&1` == *ERROR* ]] && ( ( rvm use $MCON_RUBY_V && rvm gemset create metacon && rvm gemset use metacon ) || exit 3 )
@@ -45,6 +65,7 @@ unlink $GEMOUT
45
65
  TMPGEMDIR=`rvm gemdir`
46
66
 
47
67
  set +e
68
+ echo "Trying to set up metacon binary in /usr/local/bin"
48
69
  rm -f /usr/local/bin/metacon &> /dev/null || sudo rm -f /usr/local/bin/metacon
49
70
  ln -s ${TMPGEMDIR}/gems/${DIRNAME}/bin/metacon /usr/local/bin/metacon &> /dev/null || \
50
71
  sudo ln -s ${TMPGEMDIR}/gems/${DIRNAME}/bin/metacon /usr/local/bin/metacon
metadata CHANGED
@@ -1,142 +1,106 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: metacon
3
- version: !ruby/object:Gem::Version
4
- hash: 17
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.6
5
5
  prerelease:
6
- segments:
7
- - 0
8
- - 1
9
- - 5
10
- version: 0.1.5
11
6
  platform: ruby
12
- authors:
7
+ authors:
13
8
  - Joseph Wecker
14
9
  autorequire:
15
10
  bindir: bin
16
11
  cert_chain: []
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
12
+ date: 2011-10-21 00:00:00.000000000Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: god
16
+ requirement: &2153303960 !ruby/object:Gem::Requirement
22
17
  none: false
23
- requirements:
18
+ requirements:
24
19
  - - ~>
25
- - !ruby/object:Gem::Version
26
- hash: 51
27
- segments:
28
- - 0
29
- - 11
30
- - 0
20
+ - !ruby/object:Gem::Version
31
21
  version: 0.11.0
32
- name: god
33
- prerelease: false
34
22
  type: :runtime
35
- requirement: *id001
36
- - !ruby/object:Gem::Dependency
37
- version_requirements: &id002 !ruby/object:Gem::Requirement
23
+ prerelease: false
24
+ version_requirements: *2153303960
25
+ - !ruby/object:Gem::Dependency
26
+ name: highline
27
+ requirement: &2153303480 !ruby/object:Gem::Requirement
38
28
  none: false
39
- requirements:
29
+ requirements:
40
30
  - - ~>
41
- - !ruby/object:Gem::Version
42
- hash: 11
43
- segments:
44
- - 1
45
- - 6
46
- - 2
31
+ - !ruby/object:Gem::Version
47
32
  version: 1.6.2
48
- name: highline
49
- prerelease: false
50
33
  type: :runtime
51
- requirement: *id002
52
- - !ruby/object:Gem::Dependency
53
- version_requirements: &id003 !ruby/object:Gem::Requirement
54
- none: false
55
- requirements:
56
- - - ">="
57
- - !ruby/object:Gem::Version
58
- hash: 3
59
- segments:
60
- - 0
61
- version: "0"
62
- name: minitest
63
34
  prerelease: false
35
+ version_requirements: *2153303480
36
+ - !ruby/object:Gem::Dependency
37
+ name: minitest
38
+ requirement: &2153303000 !ruby/object:Gem::Requirement
39
+ none: false
40
+ requirements:
41
+ - - ! '>='
42
+ - !ruby/object:Gem::Version
43
+ version: '0'
64
44
  type: :development
65
- requirement: *id003
66
- - !ruby/object:Gem::Dependency
67
- version_requirements: &id004 !ruby/object:Gem::Requirement
45
+ prerelease: false
46
+ version_requirements: *2153303000
47
+ - !ruby/object:Gem::Dependency
48
+ name: yard
49
+ requirement: &2153302520 !ruby/object:Gem::Requirement
68
50
  none: false
69
- requirements:
51
+ requirements:
70
52
  - - ~>
71
- - !ruby/object:Gem::Version
72
- hash: 7
73
- segments:
74
- - 0
75
- - 6
76
- - 0
53
+ - !ruby/object:Gem::Version
77
54
  version: 0.6.0
78
- name: yard
79
- prerelease: false
80
55
  type: :development
81
- requirement: *id004
82
- - !ruby/object:Gem::Dependency
83
- version_requirements: &id005 !ruby/object:Gem::Requirement
56
+ prerelease: false
57
+ version_requirements: *2153302520
58
+ - !ruby/object:Gem::Dependency
59
+ name: bundler
60
+ requirement: &2153302040 !ruby/object:Gem::Requirement
84
61
  none: false
85
- requirements:
62
+ requirements:
86
63
  - - ~>
87
- - !ruby/object:Gem::Version
88
- hash: 23
89
- segments:
90
- - 1
91
- - 0
92
- - 0
64
+ - !ruby/object:Gem::Version
93
65
  version: 1.0.0
94
- name: bundler
95
- prerelease: false
96
66
  type: :development
97
- requirement: *id005
98
- - !ruby/object:Gem::Dependency
99
- version_requirements: &id006 !ruby/object:Gem::Requirement
67
+ prerelease: false
68
+ version_requirements: *2153302040
69
+ - !ruby/object:Gem::Dependency
70
+ name: jeweler
71
+ requirement: &2153301560 !ruby/object:Gem::Requirement
100
72
  none: false
101
- requirements:
73
+ requirements:
102
74
  - - ~>
103
- - !ruby/object:Gem::Version
104
- hash: 7
105
- segments:
106
- - 1
107
- - 6
108
- - 4
75
+ - !ruby/object:Gem::Version
109
76
  version: 1.6.4
110
- name: jeweler
111
- prerelease: false
112
77
  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
125
78
  prerelease: false
79
+ version_requirements: *2153301560
80
+ - !ruby/object:Gem::Dependency
81
+ name: rcov
82
+ requirement: &2153301080 !ruby/object:Gem::Requirement
83
+ none: false
84
+ requirements:
85
+ - - ! '>='
86
+ - !ruby/object:Gem::Version
87
+ version: '0'
126
88
  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.
89
+ prerelease: false
90
+ version_requirements: *2153301080
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.
129
94
  email: jwecker@justin.tv
130
- executables:
95
+ executables:
131
96
  - .metacon_unwrapped
132
- - metacon-installer
133
97
  - metacon
98
+ - metacon-installer
134
99
  extensions: []
135
-
136
- extra_rdoc_files:
100
+ extra_rdoc_files:
137
101
  - LICENSE.txt
138
102
  - README.rdoc
139
- files:
103
+ files:
140
104
  - .attic/metacon-install
141
105
  - .attic/old/.cmd_common
142
106
  - .attic/old/Gemfile
@@ -184,33 +148,29 @@ files:
184
148
  - test/helper.rb
185
149
  - test/test_metacon.rb
186
150
  homepage: http://github.com/josephwecker/metacon
187
- licenses:
151
+ licenses:
188
152
  - MIT
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"
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"
191
155
  rdoc_options: []
192
-
193
- require_paths:
156
+ require_paths:
194
157
  - lib
195
- required_ruby_version: !ruby/object:Gem::Requirement
158
+ required_ruby_version: !ruby/object:Gem::Requirement
196
159
  none: false
197
- requirements:
198
- - - ">="
199
- - !ruby/object:Gem::Version
200
- hash: 3
201
- segments:
160
+ requirements:
161
+ - - ! '>='
162
+ - !ruby/object:Gem::Version
163
+ version: '0'
164
+ segments:
202
165
  - 0
203
- version: "0"
204
- required_rubygems_version: !ruby/object:Gem::Requirement
166
+ hash: 290890116643417385
167
+ required_rubygems_version: !ruby/object:Gem::Requirement
205
168
  none: false
206
- requirements:
207
- - - ">="
208
- - !ruby/object:Gem::Version
209
- hash: 3
210
- segments:
211
- - 0
212
- version: "0"
213
- requirements:
169
+ requirements:
170
+ - - ! '>='
171
+ - !ruby/object:Gem::Version
172
+ version: '0'
173
+ requirements:
214
174
  - git, v1.7.4.1 or greater
215
175
  - rvm, v1.8.2 or greater
216
176
  - pythonbrew, v1.1 or greater
@@ -220,4 +180,3 @@ signing_key:
220
180
  specification_version: 3
221
181
  summary: Metacontroller for organizing aggregate projects
222
182
  test_files: []
223
-