nixenvironment 0.0.77 → 0.0.79

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: b86af60e19d716873c260f3e03b4054282c3d569
4
- data.tar.gz: 4fbe4725f2639e52efb70269793c91e91f09d9de
3
+ metadata.gz: e93a34bbb5aeb1dcf4ab1dd60001ea18ed6b3ef6
4
+ data.tar.gz: c684207dbc816f36b1b6632a3bc2c89e8d98e288
5
5
  SHA512:
6
- metadata.gz: c57d21a9a174db9c60083c19b65bcb2be31292122cbdc4c79291f8ff481e18060cd5aae0ae8f566ec5cb1ef042adb9df7913d8835b29a159f62613d44fe7d9ca
7
- data.tar.gz: 5fc56573955f6d973ddb8a0b0a3e5da013cce5dcd8c88373475c6dc8a445106b3a846799af53af6f93bd36454fa4a9a3bc9bf4b5bfe4f997a216bee6cbea3afa
6
+ metadata.gz: d84393272f2d4b6073c88959ab78b3bdf7e0b196de91b1e0a74d98aea157741b8ef7a6e87cc3896929b963b0ef9385c8074df444f5b8c11a4c619a89998dd597
7
+ data.tar.gz: 09a803f91ce63521378085c2de85c505c68c7eb68a713e660826027952f6f1ebffb3193ebd5ccee806c90b7db3da04be1a9e122ddf7280926f8d209d69c34017
@@ -269,21 +269,33 @@ command :master do |c|
269
269
  c.option '--init', 'Init Jenkins master'
270
270
  c.option '--start', 'Start Jenkins master'
271
271
  c.option '--deinit', 'Deinit Jenkins master'
272
+ c.option '--start_pu', 'Start Provisioning updater'
273
+ c.option '--stop', 'Stop Jenkins master'
272
274
  c.action do |_args, options|
273
- if options.init
274
- MasterInitializer.new.start
275
- elsif options.deinit
276
- MasterDeinitializer.new.start
275
+ begin
276
+ if options.init
277
+ MasterInitializer.new.start
278
+ elsif options.deinit
279
+ MasterDeinitializer.new.start
280
+ end
281
+ rescue AlreadyInitialized
282
+ puts("Skip by reason: Already initialized")
283
+ end
284
+
285
+ if options.stop
286
+ MasterStarter.new.stop
277
287
  end
278
288
 
279
289
  if options.start
280
- starter = MastertStarter.new
290
+ starter = MasterStarter.new
281
291
 
282
292
  begin
283
293
  starter.start
284
294
  rescue SystemExit, Interrupt
285
295
  starter.stop
286
296
  end
297
+ elsif options.start_pu
298
+ MasterStarter.new.start_pu
287
299
  end
288
300
  end
289
301
  end
@@ -356,13 +368,16 @@ def init
356
368
  puts "Push ... #{dest_url}"
357
369
  Git.remote_add(repo_name, dest_url)
358
370
  Git.commit(:m => 'Initial commit')
371
+ Git.checkout(Git::DEVELOP, :b => true)
359
372
  Git.push(repo_name, Git::DEFAULT_REFSPEC, :f => true)
373
+ Git.push(repo_name, Git::DEVELOP, :f => true)
360
374
  raise "Push failed for #{dest_url} repository!" unless Git.last_cmd_success?
361
375
  end
362
376
  end
363
377
 
364
378
  puts "Cloning new created project from #{dest_url} to #{local_directory_to_clone} ..."
365
379
  Git.clone(dest_url, local_directory_to_clone, :r => true)
380
+ Dir.chdir(local_directory_to_clone) { |_path| Git.checkout(Git::DEVELOP) }
366
381
  raise "Error cloning #{dest_url}!" unless Git.last_cmd_success?
367
382
  rescue => e
368
383
  error('Project initialization failed!', e)
@@ -16,4 +16,6 @@ require 'nixenvironment/jenkins/slave/slave_starter'
16
16
  # Master
17
17
  require 'nixenvironment/jenkins/master/master_initializer'
18
18
  require 'nixenvironment/jenkins/master/master_deinitializer'
19
- require 'nixenvironment/jenkins/master/master_starter'
19
+ require 'nixenvironment/jenkins/master/master_starter'
20
+
21
+ require 'nixenvironment/jenkins/Modules/exceptions'
@@ -9,6 +9,7 @@ module Nixenvironment
9
9
  @binary_name = 'git'
10
10
 
11
11
  HEAD = 'HEAD'
12
+ DEVELOP = 'develop'
12
13
  REMOTE_MASTER = 'refs/heads/master'
13
14
  DEFAULT_REFSPEC = "#{HEAD}:#{REMOTE_MASTER}"
14
15
 
@@ -28,6 +29,7 @@ module Nixenvironment
28
29
  MESSAGE_OPT = '--message'
29
30
  FORCE_OPT = '--force'
30
31
  PORCELAIN_OPT = '--porcelain'
32
+ BRANCH_OPT = '-b'
31
33
 
32
34
  # options
33
35
  # :recursive, :r => after the clone is created, initialize all submodules within
@@ -54,6 +56,7 @@ module Nixenvironment
54
56
  def self.checkout(branch, options = {})
55
57
  arr_opts = []
56
58
  arr_opts << ORPHAN_OPT if options[:orphan]
59
+ arr_opts << BRANCH_OPT if options[:branch] || options[:b]
57
60
  arr_opts << branch
58
61
 
59
62
  execute(CHECKOUT_CMD, arr_opts)
@@ -51,16 +51,21 @@ module AppletHelper
51
51
  end
52
52
 
53
53
  def stop_applets
54
- javaProcesses = `jps -v`
55
- applets = applets_in_environment
54
+ begin
55
+ java_processes = `jps -v`
56
+ applets = applets_in_environment
56
57
 
57
- applets.each do |file_path|
58
- javaProcesses.each_line do |line|
59
- if line.include? file_path
60
- pid = line.split.first
61
- Process.kill('QUIT', pid.to_i)
58
+ applets.each do |file_path|
59
+ java_processes.each_line do |line|
60
+ if line.include? file_path
61
+ pid = line.split.first
62
+ Process.kill('QUIT', pid.to_i)
63
+ end
62
64
  end
63
65
  end
66
+ puts("Stop applets: done")
67
+ rescue
68
+ puts("Stop applets: fail")
64
69
  end
65
70
  end
66
71
  end
@@ -0,0 +1,5 @@
1
+ class AlreadyInitialized < Exception
2
+ end
3
+
4
+ class NotInitialized < Exception
5
+ end
@@ -0,0 +1,4 @@
1
+ #!/bin/sh
2
+
3
+ nixenvironment master --init --start
4
+ sh
@@ -1,7 +1,8 @@
1
1
  require_relative '../modules/applet_helper'
2
2
  require_relative '../modules/paths'
3
+ require_relative '../modules/exceptions'
3
4
 
4
- class MastertStarter
5
+ class MasterStarter
5
6
  include AppletHelper
6
7
  include Paths
7
8
 
@@ -10,39 +11,71 @@ class MastertStarter
10
11
  `pids=$(ps -fu $USER | grep "#{name}" | grep -v "grep" | awk '{print $2}')`
11
12
  `for pid in ${pids[@]}; do kill -9 $pid; done`
12
13
  end
13
-
14
+
15
+ def add_to_autorun
16
+ `osascript -e 'tell application "System Events" to make login item at end with properties {path:"#{__dir__}/iJenkins_autorun", hidden:true, name:"iJenkins Master"}'`
17
+ end
18
+
14
19
  public
15
20
  def start
16
- raise "Сan't run a slave." unless should_start_slave
17
-
21
+ raise NotInitialized unless should_start_slave
22
+
23
+ add_to_autorun
24
+
18
25
  # Applet
19
26
  start_master
20
27
 
21
28
  # Start Unity cache server
22
- cacheThread = Thread.new do
23
- FileUtils::mkdir_p("#{path_to_unity_cache}/Cache5.0")
24
- FileUtils::mkdir_p("#{path_to_unity_cache}/Cache")
25
- `#{path_to_environment}/CacheServer/RunOSX.command --path #{path_to_unity_cache}/Cache5.0 --legacypath #{path_to_unity_cache}/Cache`
26
- end
29
+ start_cache_server
27
30
 
28
31
  # Start provisioning updater
29
- serverThread = Thread.new do
30
- Dir.chdir(path_to_provisioning_updater) do
31
- `./run -e production -p 3000`
32
- end
33
- end
34
-
35
- cacheThread.join
36
- serverThread.join
32
+ start_pu
33
+
37
34
  true
38
35
  end
39
-
36
+
37
+ def start_pu
38
+ stop_pu
39
+
40
+ fork do
41
+ Dir.chdir(path_to_provisioning_updater) do
42
+ `./run -e production -p 3000`
43
+ end
44
+ end
45
+ end
46
+
47
+ def start_cache_server
48
+ stop_cache_server
49
+
50
+ fork do
51
+ FileUtils::mkdir_p("#{path_to_unity_cache}/Cache5.0")
52
+ FileUtils::mkdir_p("#{path_to_unity_cache}/Cache")
53
+ `#{path_to_environment}/CacheServer/RunOSX.command --path #{path_to_unity_cache}/Cache5.0 --legacypath #{path_to_unity_cache}/Cache`
54
+ end
55
+ end
56
+
40
57
  def stop
41
58
  stop_applets
59
+ stop_pu
60
+ stop_cache_server
61
+ kill_proc("rails")
62
+ end
63
+
64
+ def stop_pu
65
+ begin
42
66
  `kill -9 "$(cat #{path_to_provisioning_updater}/tmp/pids/server.pid)" 2>/dev/null`
67
+ puts("Stop Provisioning updater: done")
68
+ rescue
69
+ puts("Stop Provisioning updater: fail")
70
+ end
71
+ end
72
+
73
+ def stop_cache_server
74
+ begin
43
75
  kill_proc("#{path_to_environment}/CacheServer/")
44
- kill_proc("rails")
45
-
46
- true
76
+ puts("Stop Unity cache server: done")
77
+ rescue
78
+ puts("Stop Unity cache server: fail")
79
+ end
47
80
  end
48
81
  end
@@ -4,6 +4,7 @@ require_relative '../modules/provisioning_helper'
4
4
  require_relative '../modules/keychain_helper'
5
5
  require_relative '../modules/backup_helper'
6
6
  require_relative '../modules/gem_helper'
7
+ require_relative '../modules/exceptions'
7
8
 
8
9
  class SlaveInitializer
9
10
  include SshHelper
@@ -14,7 +15,7 @@ class SlaveInitializer
14
15
  include GemHelper
15
16
 
16
17
  def start
17
- raise 'Backup is already exist' if check_backup_exist
18
+ raise AlreadyInitialized if check_backup_exist
18
19
 
19
20
  # Git
20
21
  clone_environment
@@ -1,6 +1,7 @@
1
1
  require_relative '../modules/applet_helper'
2
2
  require_relative '../modules/git_helper'
3
3
  require_relative '../modules/provisioning_helper'
4
+ require_relative '../modules/exceptions'
4
5
 
5
6
  class SlaveStarter
6
7
  include AppletHelper
@@ -8,7 +9,7 @@ class SlaveStarter
8
9
  include ProvisioningHelper
9
10
 
10
11
  def start
11
- raise "Сan't run a slave." unless should_start_slave
12
+ raise NotInitialized unless should_start_slave
12
13
 
13
14
  # Git
14
15
  hook_thread = set_git_hook do
@@ -1,3 +1,3 @@
1
1
  module Nixenvironment
2
- VERSION = '0.0.77'
2
+ VERSION = '0.0.79'
3
3
  end
@@ -26,7 +26,7 @@ Gem::Specification.new do |spec|
26
26
  spec.add_dependency 'colorize'
27
27
  spec.add_dependency 'CFPropertyList', '= 2.2.8'
28
28
  spec.add_dependency 'pilot', '~> 1.0.0'
29
- spec.add_dependency 'nokogiri', '= 1.6.7.rc3'
29
+ spec.add_dependency 'nokogiri', '= 1.6.7.2'
30
30
  spec.add_dependency 'net-scp'
31
31
 
32
32
  # Development only
data/test.sh ADDED
@@ -0,0 +1,38 @@
1
+ #!/bin/sh
2
+
3
+ # Enter your gem name below (do not enter version number)
4
+ # or pass it as the first argument to the shell script
5
+ GEM_NAME="nixenvironment"
6
+
7
+ # Don't touch these
8
+ GEMSPEC_SUFFIX=".gemspec"
9
+ GEM_BUILD_CMD="gem build"
10
+
11
+ # if there is an argument to the script, define the gem name with it
12
+ if [ $# -eq 1 ]; then
13
+ GEM_NAME=$1
14
+ elif [ $# -gt 1 ]; then
15
+ echo "You entered too many arguments. Please specify the name of your gem as the argument to the script." >&2
16
+ exit 1
17
+ fi
18
+
19
+ # if the gem name has not been defined, print error message and exit
20
+ if [ -z "$GEM_NAME" ]; then
21
+ echo "You did not enter a gem name. Please include it as an argument to the script or hard code it as a variable in the script." >&2
22
+ exit 1
23
+ fi
24
+
25
+ # run the gem build and parse for the gem release filename
26
+ GEM_BUILD_NAME=$($GEM_BUILD_CMD "$GEM_NAME$GEMSPEC_SUFFIX" | awk '/File/ {print $2}' -)
27
+
28
+ # if the build failed (i.e. no file name obtained above), print error message and exit
29
+ if [ -z "$GEM_BUILD_NAME" ]; then
30
+ echo "The gem build failed. Please confirm the gem name and try again." >&2
31
+ exit 1
32
+ fi
33
+
34
+ # if above succeeded, update bundle and install the gem that was compiled
35
+ bundle update
36
+ sudo gem install --local $GEM_BUILD_NAME
37
+
38
+ exit 0
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: nixenvironment
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.77
4
+ version: 0.0.79
5
5
  platform: ruby
6
6
  authors:
7
7
  - Karen
@@ -9,76 +9,76 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2016-02-01 00:00:00.000000000 Z
12
+ date: 2016-02-04 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: cocoapods
16
16
  requirement: !ruby/object:Gem::Requirement
17
17
  requirements:
18
- - - '>='
18
+ - - ">="
19
19
  - !ruby/object:Gem::Version
20
20
  version: '0'
21
21
  type: :runtime
22
22
  prerelease: false
23
23
  version_requirements: !ruby/object:Gem::Requirement
24
24
  requirements:
25
- - - '>='
25
+ - - ">="
26
26
  - !ruby/object:Gem::Version
27
27
  version: '0'
28
28
  - !ruby/object:Gem::Dependency
29
29
  name: xcpretty
30
30
  requirement: !ruby/object:Gem::Requirement
31
31
  requirements:
32
- - - '>='
32
+ - - ">="
33
33
  - !ruby/object:Gem::Version
34
34
  version: '0'
35
35
  type: :runtime
36
36
  prerelease: false
37
37
  version_requirements: !ruby/object:Gem::Requirement
38
38
  requirements:
39
- - - '>='
39
+ - - ">="
40
40
  - !ruby/object:Gem::Version
41
41
  version: '0'
42
42
  - !ruby/object:Gem::Dependency
43
43
  name: ocunit2junit
44
44
  requirement: !ruby/object:Gem::Requirement
45
45
  requirements:
46
- - - '>='
46
+ - - ">="
47
47
  - !ruby/object:Gem::Version
48
48
  version: '0'
49
49
  type: :runtime
50
50
  prerelease: false
51
51
  version_requirements: !ruby/object:Gem::Requirement
52
52
  requirements:
53
- - - '>='
53
+ - - ">="
54
54
  - !ruby/object:Gem::Version
55
55
  version: '0'
56
56
  - !ruby/object:Gem::Dependency
57
57
  name: terminal-table
58
58
  requirement: !ruby/object:Gem::Requirement
59
59
  requirements:
60
- - - '>='
60
+ - - ">="
61
61
  - !ruby/object:Gem::Version
62
62
  version: '0'
63
63
  type: :runtime
64
64
  prerelease: false
65
65
  version_requirements: !ruby/object:Gem::Requirement
66
66
  requirements:
67
- - - '>='
67
+ - - ">="
68
68
  - !ruby/object:Gem::Version
69
69
  version: '0'
70
70
  - !ruby/object:Gem::Dependency
71
71
  name: colorize
72
72
  requirement: !ruby/object:Gem::Requirement
73
73
  requirements:
74
- - - '>='
74
+ - - ">="
75
75
  - !ruby/object:Gem::Version
76
76
  version: '0'
77
77
  type: :runtime
78
78
  prerelease: false
79
79
  version_requirements: !ruby/object:Gem::Requirement
80
80
  requirements:
81
- - - '>='
81
+ - - ">="
82
82
  - !ruby/object:Gem::Version
83
83
  version: '0'
84
84
  - !ruby/object:Gem::Dependency
@@ -99,14 +99,14 @@ dependencies:
99
99
  name: pilot
100
100
  requirement: !ruby/object:Gem::Requirement
101
101
  requirements:
102
- - - ~>
102
+ - - "~>"
103
103
  - !ruby/object:Gem::Version
104
104
  version: 1.0.0
105
105
  type: :runtime
106
106
  prerelease: false
107
107
  version_requirements: !ruby/object:Gem::Requirement
108
108
  requirements:
109
- - - ~>
109
+ - - "~>"
110
110
  - !ruby/object:Gem::Version
111
111
  version: 1.0.0
112
112
  - !ruby/object:Gem::Dependency
@@ -115,96 +115,96 @@ dependencies:
115
115
  requirements:
116
116
  - - '='
117
117
  - !ruby/object:Gem::Version
118
- version: 1.6.7.rc3
118
+ version: 1.6.7.2
119
119
  type: :runtime
120
120
  prerelease: false
121
121
  version_requirements: !ruby/object:Gem::Requirement
122
122
  requirements:
123
123
  - - '='
124
124
  - !ruby/object:Gem::Version
125
- version: 1.6.7.rc3
125
+ version: 1.6.7.2
126
126
  - !ruby/object:Gem::Dependency
127
127
  name: net-scp
128
128
  requirement: !ruby/object:Gem::Requirement
129
129
  requirements:
130
- - - '>='
130
+ - - ">="
131
131
  - !ruby/object:Gem::Version
132
132
  version: '0'
133
133
  type: :runtime
134
134
  prerelease: false
135
135
  version_requirements: !ruby/object:Gem::Requirement
136
136
  requirements:
137
- - - '>='
137
+ - - ">="
138
138
  - !ruby/object:Gem::Version
139
139
  version: '0'
140
140
  - !ruby/object:Gem::Dependency
141
141
  name: bundler
142
142
  requirement: !ruby/object:Gem::Requirement
143
143
  requirements:
144
- - - '>='
144
+ - - ">="
145
145
  - !ruby/object:Gem::Version
146
146
  version: '0'
147
147
  type: :development
148
148
  prerelease: false
149
149
  version_requirements: !ruby/object:Gem::Requirement
150
150
  requirements:
151
- - - '>='
151
+ - - ">="
152
152
  - !ruby/object:Gem::Version
153
153
  version: '0'
154
154
  - !ruby/object:Gem::Dependency
155
155
  name: rake
156
156
  requirement: !ruby/object:Gem::Requirement
157
157
  requirements:
158
- - - '>='
158
+ - - ">="
159
159
  - !ruby/object:Gem::Version
160
160
  version: '0'
161
161
  type: :development
162
162
  prerelease: false
163
163
  version_requirements: !ruby/object:Gem::Requirement
164
164
  requirements:
165
- - - '>='
165
+ - - ">="
166
166
  - !ruby/object:Gem::Version
167
167
  version: '0'
168
168
  - !ruby/object:Gem::Dependency
169
169
  name: rspec
170
170
  requirement: !ruby/object:Gem::Requirement
171
171
  requirements:
172
- - - '>='
172
+ - - ">="
173
173
  - !ruby/object:Gem::Version
174
174
  version: '0'
175
175
  type: :development
176
176
  prerelease: false
177
177
  version_requirements: !ruby/object:Gem::Requirement
178
178
  requirements:
179
- - - '>='
179
+ - - ">="
180
180
  - !ruby/object:Gem::Version
181
181
  version: '0'
182
182
  - !ruby/object:Gem::Dependency
183
183
  name: commander
184
184
  requirement: !ruby/object:Gem::Requirement
185
185
  requirements:
186
- - - '>='
186
+ - - ">="
187
187
  - !ruby/object:Gem::Version
188
188
  version: '0'
189
189
  type: :development
190
190
  prerelease: false
191
191
  version_requirements: !ruby/object:Gem::Requirement
192
192
  requirements:
193
- - - '>='
193
+ - - ">="
194
194
  - !ruby/object:Gem::Version
195
195
  version: '0'
196
196
  - !ruby/object:Gem::Dependency
197
197
  name: fuzzy_match
198
198
  requirement: !ruby/object:Gem::Requirement
199
199
  requirements:
200
- - - '>='
200
+ - - ">="
201
201
  - !ruby/object:Gem::Version
202
202
  version: '0'
203
203
  type: :development
204
204
  prerelease: false
205
205
  version_requirements: !ruby/object:Gem::Requirement
206
206
  requirements:
207
- - - '>='
207
+ - - ">="
208
208
  - !ruby/object:Gem::Version
209
209
  version: '0'
210
210
  description: Installs, updates and manages inner environment stuff to make build and
@@ -217,7 +217,7 @@ executables:
217
217
  extensions: []
218
218
  extra_rdoc_files: []
219
219
  files:
220
- - .gitignore
220
+ - ".gitignore"
221
221
  - Gemfile
222
222
  - LICENSE.txt
223
223
  - README.md
@@ -242,12 +242,14 @@ files:
242
242
  - lib/nixenvironment/git.rb
243
243
  - lib/nixenvironment/jenkins/Modules/applet_helper.rb
244
244
  - lib/nixenvironment/jenkins/Modules/backup_helper.rb
245
+ - lib/nixenvironment/jenkins/Modules/exceptions.rb
245
246
  - lib/nixenvironment/jenkins/Modules/gem_helper.rb
246
247
  - lib/nixenvironment/jenkins/Modules/git_helper.rb
247
248
  - lib/nixenvironment/jenkins/Modules/keychain_helper.rb
248
249
  - lib/nixenvironment/jenkins/Modules/paths.rb
249
250
  - lib/nixenvironment/jenkins/Modules/provisioning_helper.rb
250
251
  - lib/nixenvironment/jenkins/Modules/ssh_helper.rb
252
+ - lib/nixenvironment/jenkins/master/iJenkins_autorun
251
253
  - lib/nixenvironment/jenkins/master/master_deinitializer.rb
252
254
  - lib/nixenvironment/jenkins/master/master_initializer.rb
253
255
  - lib/nixenvironment/jenkins/master/master_starter.rb
@@ -259,6 +261,7 @@ files:
259
261
  - lib/nixenvironment/version.rb
260
262
  - lib/nixenvironment/xcodebuild.rb
261
263
  - nixenvironment.gemspec
264
+ - test.sh
262
265
  - utils/XcodeIconTagger/IconTagger
263
266
  - utils/XcodeIconTagger/masks/OneLineMask.png
264
267
  - utils/XcodeIconTagger/masks/TwoLineMask.png
@@ -276,17 +279,17 @@ require_paths:
276
279
  - lib
277
280
  required_ruby_version: !ruby/object:Gem::Requirement
278
281
  requirements:
279
- - - '>='
282
+ - - ">="
280
283
  - !ruby/object:Gem::Version
281
284
  version: 2.0.0
282
285
  required_rubygems_version: !ruby/object:Gem::Requirement
283
286
  requirements:
284
- - - '>='
287
+ - - ">="
285
288
  - !ruby/object:Gem::Version
286
289
  version: '0'
287
290
  requirements: []
288
291
  rubyforge_project:
289
- rubygems_version: 2.0.14
292
+ rubygems_version: 2.5.1
290
293
  signing_key:
291
294
  specification_version: 4
292
295
  summary: NIX projects build and deploy utility