nucleon 0.1.3 → 0.1.4

Sign up to get free protection for your applications and to get access to all the features.
@@ -6,7 +6,7 @@ class Bash < Plugin::Command
6
6
  #-----------------------------------------------------------------------------
7
7
  # Command plugin interface
8
8
 
9
- def normalize
9
+ def normalize(reload)
10
10
  super
11
11
  myself.command = executable(myself)
12
12
  logger.info("Setting command executable to #{command}")
@@ -6,7 +6,7 @@ class Regex < Plugin::Event
6
6
  #-----------------------------------------------------------------------------
7
7
  # Regular expression event interface
8
8
 
9
- def normalize
9
+ def normalize(reload)
10
10
  super
11
11
 
12
12
  if get(:string)
@@ -6,7 +6,7 @@ class Git < Plugin::Project
6
6
  #-----------------------------------------------------------------------------
7
7
  # Project plugin interface
8
8
 
9
- def normalize
9
+ def normalize(reload)
10
10
  super
11
11
  end
12
12
 
@@ -399,7 +399,7 @@ class Git < Plugin::Project
399
399
  :flags => flags,
400
400
  :args => [ processed_remote, config.get(:revision, get(:revision, :master)) ]
401
401
  }
402
- }, config.get(:provider, :bash)).exec(config) do |op, command, data|
402
+ }, config.get(:provider, :bash)).exec(config.import({ :quiet => true })) do |op, command, data|
403
403
  block_given? ? yield(op, command, data) : true
404
404
  end
405
405
 
@@ -430,7 +430,7 @@ class Git < Plugin::Project
430
430
  :flags => flags,
431
431
  :args => [ processed_remote, push_branch ]
432
432
  }
433
- }, config.get(:provider, :bash)).exec(config) do |op, command, data|
433
+ }, config.get(:provider, :bash)).exec(config.import({ :quiet => true })) do |op, command, data|
434
434
  block_given? ? yield(op, command, data) : true
435
435
  end
436
436
 
@@ -10,7 +10,7 @@ class Github < Git
10
10
  #-----------------------------------------------------------------------------
11
11
  # Project plugin interface
12
12
 
13
- def normalize
13
+ def normalize(reload)
14
14
  if reference = delete(:reference, nil)
15
15
  myself.plugin_name = reference
16
16
  else
@@ -44,7 +44,7 @@ class Github < Git
44
44
 
45
45
  def init_auth
46
46
  super do
47
- key_id = ENV['USER'] + '@' + lookup(:ipaddress)
47
+ key_id = ENV['USER'] + '@' + Nucleon.ip_address
48
48
  ssh_key = public_key_str
49
49
 
50
50
  if private_key && ssh_key
@@ -60,16 +60,11 @@ class Github < Git
60
60
  break
61
61
  end
62
62
  end
63
+
64
+ client.remove_deploy_key(myself.plugin_name, github_id) if github_id && ! keys_match
65
+ client.add_deploy_key(myself.plugin_name, key_id, ssh_key)
66
+ verify_key
63
67
 
64
- if github_id
65
- unless keys_match
66
- client.edit_deploy_key(myself.plugin_name, github_id, { :key => ssh_key })
67
- verify_key
68
- end
69
- else
70
- client.add_deploy_key(myself.plugin_name, key_id, ssh_key)
71
- verify_key
72
- end
73
68
 
74
69
  rescue Exception => error
75
70
  logger.error(error.inspect)
@@ -94,7 +94,12 @@ require 'base64'
94
94
  require 'yaml'
95
95
  require 'multi_json'
96
96
 
97
- require 'thread' # Eventually depreciated
97
+ require 'tmpdir'
98
+ require 'sshkey'
99
+
100
+ require 'childprocess'
101
+
102
+ require 'thread' # Eventually depreciated?
98
103
  require 'celluloid'
99
104
  require 'celluloid/autostart'
100
105
 
@@ -157,7 +162,8 @@ nucleon_require(core_dir, :core)
157
162
  :cli,
158
163
  :disk,
159
164
  :package,
160
- :shell
165
+ :shell,
166
+ :ssh
161
167
  ].each do |name|
162
168
  nucleon_require(util_dir, name)
163
169
  end
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = "nucleon"
8
- s.version = "0.1.3"
8
+ s.version = "0.1.4"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Adrian Webb"]
12
- s.date = "2014-02-23"
12
+ s.date = "2014-03-05"
13
13
  s.description = "\nA framework that provides a simple foundation for building Ruby applications that are:\n\n* Highly configurable (with both distributed and persistent configurations)\n* Extremely pluggable and extendable\n* Easily parallel\n\nNote: This framework is still very early in development!\n"
14
14
  s.email = "adrian.webb@coralnexus.com"
15
15
  s.executables = ["nucleon"]
@@ -62,6 +62,7 @@ Gem::Specification.new do |s|
62
62
  "lib/core/util/logger.rb",
63
63
  "lib/core/util/package.rb",
64
64
  "lib/core/util/shell.rb",
65
+ "lib/core/util/ssh.rb",
65
66
  "lib/nucleon.rb",
66
67
  "lib/nucleon/action/add.rb",
67
68
  "lib/nucleon/action/create.rb",
@@ -101,13 +102,14 @@ Gem::Specification.new do |s|
101
102
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
102
103
  s.add_runtime_dependency(%q<log4r>, ["~> 1.1"])
103
104
  s.add_runtime_dependency(%q<i18n>, ["~> 0.6"])
104
- s.add_runtime_dependency(%q<rgen>, ["~> 0.6"])
105
105
  s.add_runtime_dependency(%q<netrc>, ["~> 0.7"])
106
106
  s.add_runtime_dependency(%q<deep_merge>, ["~> 1.0"])
107
107
  s.add_runtime_dependency(%q<multi_json>, ["~> 1.7"])
108
+ s.add_runtime_dependency(%q<sshkey>, ["~> 1.6"])
109
+ s.add_runtime_dependency(%q<childprocess>, ["~> 0.5.0"])
110
+ s.add_runtime_dependency(%q<celluloid>, ["~> 0.15"])
108
111
  s.add_runtime_dependency(%q<grit>, ["~> 2.5"])
109
112
  s.add_runtime_dependency(%q<octokit>, ["~> 2.7"])
110
- s.add_runtime_dependency(%q<celluloid>, ["~> 0.15"])
111
113
  s.add_development_dependency(%q<bundler>, ["~> 1.2"])
112
114
  s.add_development_dependency(%q<jeweler>, ["~> 2.0"])
113
115
  s.add_development_dependency(%q<rspec>, ["~> 2.10"])
@@ -116,13 +118,14 @@ Gem::Specification.new do |s|
116
118
  else
117
119
  s.add_dependency(%q<log4r>, ["~> 1.1"])
118
120
  s.add_dependency(%q<i18n>, ["~> 0.6"])
119
- s.add_dependency(%q<rgen>, ["~> 0.6"])
120
121
  s.add_dependency(%q<netrc>, ["~> 0.7"])
121
122
  s.add_dependency(%q<deep_merge>, ["~> 1.0"])
122
123
  s.add_dependency(%q<multi_json>, ["~> 1.7"])
124
+ s.add_dependency(%q<sshkey>, ["~> 1.6"])
125
+ s.add_dependency(%q<childprocess>, ["~> 0.5.0"])
126
+ s.add_dependency(%q<celluloid>, ["~> 0.15"])
123
127
  s.add_dependency(%q<grit>, ["~> 2.5"])
124
128
  s.add_dependency(%q<octokit>, ["~> 2.7"])
125
- s.add_dependency(%q<celluloid>, ["~> 0.15"])
126
129
  s.add_dependency(%q<bundler>, ["~> 1.2"])
127
130
  s.add_dependency(%q<jeweler>, ["~> 2.0"])
128
131
  s.add_dependency(%q<rspec>, ["~> 2.10"])
@@ -132,13 +135,14 @@ Gem::Specification.new do |s|
132
135
  else
133
136
  s.add_dependency(%q<log4r>, ["~> 1.1"])
134
137
  s.add_dependency(%q<i18n>, ["~> 0.6"])
135
- s.add_dependency(%q<rgen>, ["~> 0.6"])
136
138
  s.add_dependency(%q<netrc>, ["~> 0.7"])
137
139
  s.add_dependency(%q<deep_merge>, ["~> 1.0"])
138
140
  s.add_dependency(%q<multi_json>, ["~> 1.7"])
141
+ s.add_dependency(%q<sshkey>, ["~> 1.6"])
142
+ s.add_dependency(%q<childprocess>, ["~> 0.5.0"])
143
+ s.add_dependency(%q<celluloid>, ["~> 0.15"])
139
144
  s.add_dependency(%q<grit>, ["~> 2.5"])
140
145
  s.add_dependency(%q<octokit>, ["~> 2.7"])
141
- s.add_dependency(%q<celluloid>, ["~> 0.15"])
142
146
  s.add_dependency(%q<bundler>, ["~> 1.2"])
143
147
  s.add_dependency(%q<jeweler>, ["~> 2.0"])
144
148
  s.add_dependency(%q<rspec>, ["~> 2.10"])
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: nucleon
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.3
4
+ version: 0.1.4
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2014-02-23 00:00:00.000000000 Z
12
+ date: 2014-03-05 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: log4r
16
- requirement: &10355000 !ruby/object:Gem::Requirement
16
+ requirement: &17443440 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ~>
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: '1.1'
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *10355000
24
+ version_requirements: *17443440
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: i18n
27
- requirement: &10354460 !ruby/object:Gem::Requirement
27
+ requirement: &17442440 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ~>
@@ -32,21 +32,10 @@ dependencies:
32
32
  version: '0.6'
33
33
  type: :runtime
34
34
  prerelease: false
35
- version_requirements: *10354460
36
- - !ruby/object:Gem::Dependency
37
- name: rgen
38
- requirement: &10353920 !ruby/object:Gem::Requirement
39
- none: false
40
- requirements:
41
- - - ~>
42
- - !ruby/object:Gem::Version
43
- version: '0.6'
44
- type: :runtime
45
- prerelease: false
46
- version_requirements: *10353920
35
+ version_requirements: *17442440
47
36
  - !ruby/object:Gem::Dependency
48
37
  name: netrc
49
- requirement: &10352980 !ruby/object:Gem::Requirement
38
+ requirement: &17441440 !ruby/object:Gem::Requirement
50
39
  none: false
51
40
  requirements:
52
41
  - - ~>
@@ -54,10 +43,10 @@ dependencies:
54
43
  version: '0.7'
55
44
  type: :runtime
56
45
  prerelease: false
57
- version_requirements: *10352980
46
+ version_requirements: *17441440
58
47
  - !ruby/object:Gem::Dependency
59
48
  name: deep_merge
60
- requirement: &10352060 !ruby/object:Gem::Requirement
49
+ requirement: &17440400 !ruby/object:Gem::Requirement
61
50
  none: false
62
51
  requirements:
63
52
  - - ~>
@@ -65,10 +54,10 @@ dependencies:
65
54
  version: '1.0'
66
55
  type: :runtime
67
56
  prerelease: false
68
- version_requirements: *10352060
57
+ version_requirements: *17440400
69
58
  - !ruby/object:Gem::Dependency
70
59
  name: multi_json
71
- requirement: &10351340 !ruby/object:Gem::Requirement
60
+ requirement: &17439420 !ruby/object:Gem::Requirement
72
61
  none: false
73
62
  requirements:
74
63
  - - ~>
@@ -76,32 +65,32 @@ dependencies:
76
65
  version: '1.7'
77
66
  type: :runtime
78
67
  prerelease: false
79
- version_requirements: *10351340
68
+ version_requirements: *17439420
80
69
  - !ruby/object:Gem::Dependency
81
- name: grit
82
- requirement: &10350380 !ruby/object:Gem::Requirement
70
+ name: sshkey
71
+ requirement: &17438100 !ruby/object:Gem::Requirement
83
72
  none: false
84
73
  requirements:
85
74
  - - ~>
86
75
  - !ruby/object:Gem::Version
87
- version: '2.5'
76
+ version: '1.6'
88
77
  type: :runtime
89
78
  prerelease: false
90
- version_requirements: *10350380
79
+ version_requirements: *17438100
91
80
  - !ruby/object:Gem::Dependency
92
- name: octokit
93
- requirement: &10349000 !ruby/object:Gem::Requirement
81
+ name: childprocess
82
+ requirement: &17435380 !ruby/object:Gem::Requirement
94
83
  none: false
95
84
  requirements:
96
85
  - - ~>
97
86
  - !ruby/object:Gem::Version
98
- version: '2.7'
87
+ version: 0.5.0
99
88
  type: :runtime
100
89
  prerelease: false
101
- version_requirements: *10349000
90
+ version_requirements: *17435380
102
91
  - !ruby/object:Gem::Dependency
103
92
  name: celluloid
104
- requirement: &10347900 !ruby/object:Gem::Requirement
93
+ requirement: &17432340 !ruby/object:Gem::Requirement
105
94
  none: false
106
95
  requirements:
107
96
  - - ~>
@@ -109,10 +98,32 @@ dependencies:
109
98
  version: '0.15'
110
99
  type: :runtime
111
100
  prerelease: false
112
- version_requirements: *10347900
101
+ version_requirements: *17432340
102
+ - !ruby/object:Gem::Dependency
103
+ name: grit
104
+ requirement: &17431060 !ruby/object:Gem::Requirement
105
+ none: false
106
+ requirements:
107
+ - - ~>
108
+ - !ruby/object:Gem::Version
109
+ version: '2.5'
110
+ type: :runtime
111
+ prerelease: false
112
+ version_requirements: *17431060
113
+ - !ruby/object:Gem::Dependency
114
+ name: octokit
115
+ requirement: &17429200 !ruby/object:Gem::Requirement
116
+ none: false
117
+ requirements:
118
+ - - ~>
119
+ - !ruby/object:Gem::Version
120
+ version: '2.7'
121
+ type: :runtime
122
+ prerelease: false
123
+ version_requirements: *17429200
113
124
  - !ruby/object:Gem::Dependency
114
125
  name: bundler
115
- requirement: &10347200 !ruby/object:Gem::Requirement
126
+ requirement: &17426380 !ruby/object:Gem::Requirement
116
127
  none: false
117
128
  requirements:
118
129
  - - ~>
@@ -120,10 +131,10 @@ dependencies:
120
131
  version: '1.2'
121
132
  type: :development
122
133
  prerelease: false
123
- version_requirements: *10347200
134
+ version_requirements: *17426380
124
135
  - !ruby/object:Gem::Dependency
125
136
  name: jeweler
126
- requirement: &10345540 !ruby/object:Gem::Requirement
137
+ requirement: &17424440 !ruby/object:Gem::Requirement
127
138
  none: false
128
139
  requirements:
129
140
  - - ~>
@@ -131,10 +142,10 @@ dependencies:
131
142
  version: '2.0'
132
143
  type: :development
133
144
  prerelease: false
134
- version_requirements: *10345540
145
+ version_requirements: *17424440
135
146
  - !ruby/object:Gem::Dependency
136
147
  name: rspec
137
- requirement: &10344120 !ruby/object:Gem::Requirement
148
+ requirement: &17423620 !ruby/object:Gem::Requirement
138
149
  none: false
139
150
  requirements:
140
151
  - - ~>
@@ -142,10 +153,10 @@ dependencies:
142
153
  version: '2.10'
143
154
  type: :development
144
155
  prerelease: false
145
- version_requirements: *10344120
156
+ version_requirements: *17423620
146
157
  - !ruby/object:Gem::Dependency
147
158
  name: rdoc
148
- requirement: &10340380 !ruby/object:Gem::Requirement
159
+ requirement: &17422640 !ruby/object:Gem::Requirement
149
160
  none: false
150
161
  requirements:
151
162
  - - ~>
@@ -153,10 +164,10 @@ dependencies:
153
164
  version: '3.12'
154
165
  type: :development
155
166
  prerelease: false
156
- version_requirements: *10340380
167
+ version_requirements: *17422640
157
168
  - !ruby/object:Gem::Dependency
158
169
  name: yard
159
- requirement: &10339500 !ruby/object:Gem::Requirement
170
+ requirement: &17420960 !ruby/object:Gem::Requirement
160
171
  none: false
161
172
  requirements:
162
173
  - - ~>
@@ -164,7 +175,7 @@ dependencies:
164
175
  version: '0.8'
165
176
  type: :development
166
177
  prerelease: false
167
- version_requirements: *10339500
178
+ version_requirements: *17420960
168
179
  description: ! '
169
180
 
170
181
  A framework that provides a simple foundation for building Ruby applications that
@@ -233,6 +244,7 @@ files:
233
244
  - lib/core/util/logger.rb
234
245
  - lib/core/util/package.rb
235
246
  - lib/core/util/shell.rb
247
+ - lib/core/util/ssh.rb
236
248
  - lib/nucleon.rb
237
249
  - lib/nucleon/action/add.rb
238
250
  - lib/nucleon/action/create.rb