nixenvironment 0.0.8 → 0.0.9

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: cb46f15cc9b3336e295e430809edbe5094502733
4
- data.tar.gz: cfd5f3224cb1f4700d87778cf9e4871f5cd34276
3
+ metadata.gz: 3526732db0e17b9f34a822a5b677cf205dbacdb7
4
+ data.tar.gz: 459bbd9b2d37acd6c521fe8a94e4d94a15724167
5
5
  SHA512:
6
- metadata.gz: 43064f58d004c8498a7adf8ab12a40b576b2d15e07be2c52fca0d2e834c55ff6dd639d8c9b0bf02483562f5d827aab5e2b4a69af0a2b4517d35cac3631c3a28d
7
- data.tar.gz: 2859e5496959b3064ff010fb9fcffd224a1378aa9d75723be1ffdca01526a999c00d0b2ff60717f03b977f5f5d95e89aeaf75e500fc1428d6d1b552c25a2e128
6
+ metadata.gz: 4027c122a44ba48f21c42c9923f8450511532a1d32169aa6fa2ae53d663ed94b09a8ccb04070d94dabe2cb929c66e6425d483c832177bcc770f6e77d9b161dba
7
+ data.tar.gz: 174a76a624f69ac626e4e932a679b327910481ceecb0e920a398ef1836da6e02b7b4c89fa5caf634ccbeca813d73e4f701a7e025636a1ae911cc9277cd5569fb
data/README.md CHANGED
@@ -4,17 +4,31 @@ Nixenvironment installs, updates and manages inner NIX environment stuff to make
4
4
 
5
5
  ## Installation
6
6
 
7
- $ gem install nixenvironment
7
+ $ [sudo] gem install nixenvironment
8
8
 
9
9
  ## Usage
10
10
 
11
11
  COMMANDS:
12
12
 
13
- build Build project for selected configuration and make signed/resigned ipa
14
- clean Remove temp files and clean all targets for xcode project
15
- deploy Deploy build to mds
16
- help Display global or [command] help documentation
17
- update Install or update ninbas and other environment stuff
13
+ build # Build project for selected configuration and make signed/resigned ipa
14
+
15
+ clean # Remove temp files and clean all targets for xcode project
16
+
17
+ clean_working_copy # Make working copy clean
18
+
19
+ code_duplication_report # Generate code duplication report
20
+
21
+ deploy # Deploy built artifacts to given server
22
+
23
+ help # Display global or [command] help documentation
24
+
25
+ svn_tag_from_jenkins # Make tag by finding the first credential in local credential storage
26
+
27
+ tag # Make SVN/git/mercurial tag, SCM_USERNAME and SCM_PASSWORD must be defined on calling this target
28
+
29
+ test # Build unit tests and run them in simulator
30
+
31
+ update # Install or update ninbas and other environment stuff
18
32
 
19
33
  GLOBAL OPTIONS:
20
34
 
@@ -26,9 +40,26 @@ Nixenvironment installs, updates and manages inner NIX environment stuff to make
26
40
 
27
41
  -t, --trace
28
42
  Display backtrace when an error occurs
43
+
44
+ EXAMPLES:
45
+
46
+ nixenvironment -h
47
+
48
+ nixenvironment update # Update all environment stuff from last tags
49
+
50
+ nixenvironment update --ninbas feature/nixenv
51
+
52
+ nixenvironment build # Make Debug build and create .ipa file from last built app product by default
53
+
54
+ nixenvironment build --config Release --ipa resigned_ipa_for_device
55
+
56
+ nixenvironment deploy
57
+
58
+ ...
29
59
 
30
60
  ## TODO:
31
61
 
32
62
  1. Move project adjuster to this gem.
33
63
  2. Implement bunch ipa making and deployment.
34
- 3. Implement next commands: |test|, |code_duplication_report|, |tag|, |svn_tag_from_jenkins|, |clean_working_copy|, etc.
64
+ 3. Implement xctest and code_coverage_for_xctest commands (https://bitbucket.org/nixsolutions/ninbas/pull-request/1/added-scripts-for-xctests/).
65
+ 4. Rewrite XcodeIconTagger/tagIcons.sh and use it in prebuild method.
data/bin/nixenvironment CHANGED
@@ -38,7 +38,7 @@ end
38
38
 
39
39
  command :deploy do |c|
40
40
  c.syntax = 'nixenvironment deploy'
41
- c.description = 'Deploy build to mds'
41
+ c.description = 'Deploy built artifacts to given server'
42
42
  c.action do |args, options|
43
43
  read_config
44
44
  deploy
@@ -53,6 +53,48 @@ command :clean do |c|
53
53
  end
54
54
  end
55
55
 
56
+ command :test do |c|
57
+ c.syntax = 'nixenvironment test'
58
+ c.description = 'Build unit tests and run them in simulator'
59
+ c.action do |args, options|
60
+ read_config
61
+ test
62
+ end
63
+ end
64
+
65
+ command :code_duplication_report do |c|
66
+ c.syntax = 'nixenvironment code_duplication_report'
67
+ c.description = 'Generate code duplication report'
68
+ c.action do |args, options|
69
+ read_config
70
+ code_duplication_report
71
+ end
72
+ end
73
+
74
+ command :tag do |c|
75
+ c.syntax = 'nixenvironment tag'
76
+ c.description = 'Make SVN/git/mercurial tag, SCM_USERNAME and SCM_PASSWORD must be defined on calling this target'
77
+ c.action do |args, options|
78
+ tag
79
+ end
80
+ end
81
+
82
+ command :svn_tag_from_jenkins do |c|
83
+ c.syntax = 'nixenvironment svn_tag_from_jenkins'
84
+ c.description = 'Make tag by finding the first credential in local credential storage'
85
+ c.action do |args, options|
86
+ svn_tag_from_jenkins
87
+ end
88
+ end
89
+
90
+ command :clean_working_copy do |c|
91
+ c.syntax = 'nixenvironment clean_working_copy'
92
+ c.description = 'Make working copy clean'
93
+ c.action do |args, options|
94
+ clean_working_copy
95
+ end
96
+ end
97
+
56
98
  def update(ninbas)
57
99
  root_working_directory = Dir.pwd
58
100
  target_directory = File.join(Dir.home, NIXENV_ROOT)
@@ -64,7 +106,6 @@ def update(ninbas)
64
106
  REPO_LIST.each do |repo_name, repo_url|
65
107
  unless Dir.exist?(repo_name)
66
108
  clone_success = system("git clone #{repo_url} --recursive")
67
-
68
109
  unless clone_success
69
110
  p("Authentication failed for #{repo_name} project!")
70
111
  next
@@ -75,7 +116,6 @@ def update(ninbas)
75
116
 
76
117
  if repo_name == BUILD_SCRIPTS
77
118
  if ninbas
78
- #TODO: rework me please!
79
119
  system("git checkout #{ninbas}")
80
120
  Dir.chdir('..')
81
121
  next
@@ -89,8 +129,9 @@ def update(ninbas)
89
129
  if tags.size > 0
90
130
  p("Checkout newest #{repo_name} tag...")
91
131
  system("git checkout #{tags.last}")
132
+ else
133
+ abort("Error checkout #{repo_name}! There is no tags!")
92
134
  end
93
- #TODO: hadle tags.size == 0
94
135
 
95
136
  p("Checkout #{repo_name} #{tags.last} tag success!")
96
137
 
@@ -147,8 +188,6 @@ def setup(config)
147
188
  -showBuildSettings ]
148
189
  end
149
190
 
150
- #TODO: handle if cmd_output still nil
151
-
152
191
  env_vars_list = cmd_output.split(/\n/).reject(&:empty?)
153
192
 
154
193
  build_settings = Hash.new
@@ -167,33 +206,20 @@ def setup(config)
167
206
  return build_settings
168
207
  end
169
208
 
170
- def prebuild(build_settings)
171
- save_revision_script_path = File.join(BUILD_SCRIPTS_PATH, 'SaveRevision.sh')
172
- save_build_env_vars_script_path = File.join(BUILD_SCRIPTS_PATH, 'SaveBuildEnvVars.sh')
173
- tag_icons_script_path = File.join(BUILD_SCRIPTS_PATH, 'XcodeIconTagger/tagIcons.sh')
174
- update_build_number_script_path = File.join(BUILD_SCRIPTS_PATH, 'UpdateBuildNumber.sh')
175
- update_revision_number_script_path = File.join(BUILD_SCRIPTS_PATH, 'UpdateRevisionNumber.sh')
176
-
177
- icon_path = @config['ICONS_PATH']
178
-
179
- system("#{save_revision_script_path}")
180
-
181
- abort unless working_copy_is_clean?
182
-
183
- # TODO: rewrite SaveBuildEnvVars.sh
184
- #system("#{save_build_env_vars_script_path}")
209
+ def save_build_env_vars(build_settings)
210
+ app_product = "#{build_settings['BUILT_PRODUCTS_DIR']}/#{build_settings['EXECUTABLE_NAME']}.app"
185
211
 
186
212
  system("
187
213
  echo \"#!/bin/sh\
188
- ### AUTOGENERATED BY SaveBuildEnvVars.sh; DO NOT EDIT ###
214
+ ### AUTOGENERATED BY Nixenvironment; DO NOT EDIT ###
189
215
  PROJECT=\"#{build_settings['PROJECT']}\"
190
216
  BUILT_PRODUCTS_DIR=\"#{build_settings['BUILT_PRODUCTS_DIR']}\"
191
217
  OBJECTS_NORMAL_DIR=\"#{build_settings['OBJECT_FILE_DIR_normal']}\"
192
218
  EXECUTABLE_NAME=\"#{build_settings['EXECUTABLE_NAME']}\"
193
- APP_PRODUCT=\"#{build_settings['BUILT_PRODUCTS_DIR']}/#{build_settings['EXECUTABLE_NAME']}.app\"
194
- APP_DSYM=\"#{build_settings['BUILT_PRODUCTS_DIR']}/#{build_settings['EXECUTABLE_NAME']}.app.dSYM\"
219
+ APP_PRODUCT=\"#{app_product}\"
220
+ APP_DSYM=\"#{app_product}.dSYM\"
195
221
  APP_INFOPLIST_FILE=\"#{@config['INFOPLIST_PATH']}\"
196
- EMBEDDED_PROFILE=\"#{build_settings['BUILT_PRODUCTS_DIR']}/#{build_settings['EXECUTABLE_NAME']}.app/#{build_settings['EMBEDDED_PROFILE_NAME']}\"
222
+ EMBEDDED_PROFILE=\"##{app_product}/#{build_settings['EMBEDDED_PROFILE_NAME']}\"
197
223
  TARGET_NAME=\"#{build_settings['TARGET_NAME']}\"
198
224
  CONFIGURATION=\"#{build_settings['CONFIGURATION']}\"
199
225
  SDK_NAME=\"#{build_settings['SDK_NAME']}\"
@@ -201,103 +227,135 @@ RESIGNED_BUNDLE_ID=\"#{build_settings['RESIGNED_BUNDLE_ID']}\"
201
227
  RESIGNED_BUNDLE_NAME=\"#{build_settings['RESIGNED_BUNDLE_NAME']}\"
202
228
  RESIGNED_ENTITLEMENTS_PATH=\"#{build_settings['RESIGNED_ENTITLEMENTS_PATH']}\"\" > _last_build_vars.sh
203
229
  ")
230
+ end
231
+
232
+ def prebuild(build_settings)
233
+ save_revision = File.join(BUILD_SCRIPTS_PATH, 'SaveRevision.sh')
234
+ tag_icons = File.join(BUILD_SCRIPTS_PATH, 'XcodeIconTagger/tagIcons.sh')
235
+ update_build_number = File.join(BUILD_SCRIPTS_PATH, 'UpdateBuildNumber.sh')
236
+ update_revision_number = File.join(BUILD_SCRIPTS_PATH, 'UpdateRevisionNumber.sh')
237
+
238
+ system("#{save_revision}")
239
+
240
+ abort unless working_copy_is_clean?
241
+
242
+ save_build_env_vars(build_settings)
204
243
 
205
244
  # TODO: rewrite tagIcons.sh
206
- # system("#{tag_icons_script_path} #{icon_path}")
245
+ # system("#{tag_icons} @config['ICONS_PATH']")
207
246
 
208
- # Implement all modify things in one script
209
- system("#{update_build_number_script_path}")
210
- system("#{update_revision_number_script_path}")
247
+ system("#{update_build_number}")
248
+ system("#{update_revision_number}")
211
249
  end
212
250
 
213
251
  def build(config, ipa)
214
- build_script_path = File.join(BUILD_SCRIPTS_PATH, 'Build.py')
252
+ build = File.join(BUILD_SCRIPTS_PATH, 'Build.py')
215
253
 
216
- system("#{build_script_path} --project \"#{@config['PROJECT_TO_BUILD']}\"\
217
- --target \"#{@config['PROJECT_TARGET_TO_BUILD']}\"\
218
- --workspace \"#{@config['WORKSPACE_TO_BUILD']}\"\
219
- --scheme \"#{@config['WORKSPACE_SCHEME_TO_BUILD']}\"\
220
- --configuration \"#{config}\"\
221
- --sdk \"#{@config['SDK']}\"\
222
- --env-var-prefix \"#{@config['ENV_VAR_PREFIX']}\"")
254
+ build_success = system("#{build} --project \"#{@config['PROJECT_TO_BUILD']}\"\
255
+ --target \"#{@config['PROJECT_TARGET_TO_BUILD']}\"\
256
+ --workspace \"#{@config['WORKSPACE_TO_BUILD']}\"\
257
+ --scheme \"#{@config['WORKSPACE_SCHEME_TO_BUILD']}\"\
258
+ --configuration \"#{config}\"\
259
+ --sdk \"#{@config['SDK']}\"\
260
+ --env-var-prefix \"#{@config['ENV_VAR_PREFIX']}\"")
261
+ abort('Build error!') unless build_success
223
262
 
224
263
  case ipa
225
264
  # create .ipa file from last built app product
226
265
  when 'ipa'
227
- make_script_path = File.join(BUILD_SCRIPTS_PATH, 'MakeIPA.sh')
266
+ make = File.join(BUILD_SCRIPTS_PATH, 'MakeIPA.sh')
228
267
  # resign last built app product with iPhone Developer profile and package it into .ipa file
229
268
  when 'resigned_ipa_for_device'
230
- make_script_path = File.join(BUILD_SCRIPTS_PATH, 'MakeResignedIPAForDevice.sh')
269
+ make = File.join(BUILD_SCRIPTS_PATH, 'MakeResignedIPAForDevice.sh')
231
270
  # resign last built app product with iPhone Distribution AdHoc profile and package it into .ipa file
232
271
  when 'resigned_ipa_for_adhoc_distribution'
233
- make_script_path = File.join(BUILD_SCRIPTS_PATH, 'MakeResignedIPAForAdHocDistribution.sh')
272
+ make = File.join(BUILD_SCRIPTS_PATH, 'MakeResignedIPAForAdHocDistribution.sh')
234
273
  # resign last built app product with Appstore distribution profile and package it into .ipa file
235
274
  when 'resigned_ipa_for_appstore'
236
- make_script_path = File.join(BUILD_SCRIPTS_PATH, 'MakeResignedIPAForAppstore.sh')
275
+ make = File.join(BUILD_SCRIPTS_PATH, 'MakeResignedIPAForAppstore.sh')
237
276
  else
238
- p("Error: Unknown ipa '#{ipa}'!")
277
+ abort("Error: Unknown ipa '#{ipa}'!")
239
278
  end
240
279
 
241
- system("#{make_script_path}") if defined? make_script_path
280
+ make_success = system("#{make}") if defined? make
281
+ abort("#{make} error!") unless make_success
242
282
  end
243
283
 
244
284
  def revert_info_plist
245
285
  p('Reverting Info.plist ...')
246
- system("git checkout #{@config['INFOPLIST_PATH']}")
247
- p('Done.')
286
+
287
+ revert_success = system("git checkout #{@config['INFOPLIST_PATH']}")
288
+ abort('Reverting Info.plist error!') unless revert_success
289
+
290
+ p('Info.plist was reverted.')
248
291
  end
249
292
 
250
- # deploys built artifacts to given server
251
293
  def deploy
252
- deploy_script_path = File.join(BUILD_SCRIPTS_PATH, 'Deploy.sh')
294
+ deploy = File.join(BUILD_SCRIPTS_PATH, 'Deploy.sh')
253
295
 
254
296
  deploy_host = @config['DEPLOY_HOST'].nil? || @config['DEPLOY_HOST'].empty? ? ENV['DEPLOY_HOST'] : @config['DEPLOY_HOST']
255
297
  deploy_path = @config['DEPLOY_PATH'].nil? || @config['DEPLOY_PATH'].empty? ? ENV['DEPLOY_PATH'] : @config['DEPLOY_PATH']
256
298
  deploy_username = @config['DEPLOY_USERNAME'].nil? || @config['DEPLOY_USERNAME'].empty? ? ENV['DEPLOY_USERNAME'] : @config['DEPLOY_USERNAME']
257
299
  deploy_password = @config['DEPLOY_PASSWORD'].nil? || @config['DEPLOY_PASSWORD'].empty? ? ENV['DEPLOY_PASSWORD'] : @config['DEPLOY_PASSWORD']
258
300
 
259
- system("#{deploy_script_path} #{deploy_host}\
260
- #{deploy_path}\
261
- #{deploy_username}\
262
- #{deploy_password}")
301
+ deploy_success = system("#{deploy} #{deploy_host} #{deploy_path} #{deploy_username} #{deploy_password}")
302
+ abort('Deploy error!') unless deploy_success
263
303
  end
264
304
 
265
305
  def clean
266
- remove_temporary_files_script_path = File.join(BUILD_SCRIPTS_PATH, 'RemoveTemporaryFiles.sh')
306
+ remove_temporary_files = File.join(BUILD_SCRIPTS_PATH, 'RemoveTemporaryFiles.sh')
267
307
 
268
- system("#{remove_temporary_files_script_path}")
308
+ system("#{remove_temporary_files}")
269
309
  system('rm -rf test-results/')
270
310
  system("find . -name \"*.pyc\" -exec rm -rf {} \;")
271
311
  system('xcodebuild -alltargets clean')
272
312
  end
273
313
 
274
- # # build unit tests and run them in simulator
275
- # def test
276
- # ${BUILD_SCRIPTS_PATH}Build.py --project "${PROJECT_TO_BUILD}" --target "${PROJECT_TARGET_TO_TEST}" --workspace "${WORKSPACE_TO_BUILD}" --scheme "${WORKSPACE_SCHEME_TO_TEST}" --configuration "Release" --sdk "${SDK_FOR_TESTS}" --env-var-prefix "${ENV_VAR_PREFIX}"
277
- # ${BUILD_SCRIPTS_PATH}RunTests.sh
278
- # ${BUILD_SCRIPTS_PATH}GenerateCodeCoverageReport.sh "${EXCLUDE_PATTERN_FOR_CODE_COVERAGE}" coverage.xml
279
- # end
280
- #
281
- # # generates code duplication report
282
- # def code_duplication_report
283
- # ${BUILD_SCRIPTS_PATH}GenerateCodeDuplicationReport.sh "${EXCLUDE_PATTERN_FOR_CODE_DUPLICATION}" duplication.xml
284
- # end
285
- #
286
- # # make SVN/git/mercurial tag, SCM_USERNAME and SCM_PASSWORD must be defined on calling this target
287
- # def tag
288
- # ${BUILD_SCRIPTS_PATH}MakeTag.sh "${SCM_USERNAME}" "${SCM_PASSWORD}"
289
- # end
290
- #
291
- # # Jenkins stores SVN credentials locally in XML, so this target gets and uses them on making tag by finding the first credential in local credential storage
292
- # # additional |echo| is needed in order to add newline, otherwise base64 encoding doesn't work
293
- # # ATTENTION: if this script picks up wrong credentials, then you should manually edit subversion.credentials file on Jenkins in order to remove the wrong credential
294
- # def svn_tag_from_jenkins:
295
- # SCM_USERNAME="$(shell xpath ../subversion.credentials \(//userName\)[1]/text\(\))"\
296
- # SCM_PASSWORD="$(shell echo $$(xpath ../subversion.credentials \(//password\)[1]/text\(\) 2>/dev/null && echo) | openssl base64 -d)"
297
- #
298
- # tag
299
- # end
300
- #
301
- # def clean_working_copy
302
- # ${BUILD_SCRIPTS_PATH}CleanWorkingCopy.sh
303
- # end
314
+ def test
315
+ build = File.join(BUILD_SCRIPTS_PATH, 'Build.py')
316
+ run_tests = File.join(BUILD_SCRIPTS_PATH, 'RunTests.sh')
317
+ generate_code_coverage_report = File.join(BUILD_SCRIPTS_PATH, 'GenerateCodeCoverageReport.sh')
318
+
319
+ build_success = system("#{build} --project \"#{@config['PROJECT_TO_BUILD']}\"\
320
+ --target \"#{@config['PROJECT_TARGET_TO_TEST']}\"\
321
+ --workspace \"#{@config['WORKSPACE_TO_BUILD']}\"\
322
+ --scheme \"#{@config['WORKSPACE_SCHEME_TO_TEST']}\"\
323
+ --configuration \"Release\"\
324
+ --sdk \"#{@config['SDK_FOR_TESTS']}\"\
325
+ --env-var-prefix \"#{@config['ENV_VAR_PREFIX']}\"")
326
+ abort('Build for test error!') unless build_success
327
+
328
+ run_tests_success = system("#{run_tests}")
329
+ abort('Run test error!') unless run_tests_success
330
+
331
+ coverage_success = system("#{generate_code_coverage_report} \"#{@config['EXCLUDE_PATTERN_FOR_CODE_COVERAGE']}\" coverage.xml")
332
+ abort('Generate code coverage error!') unless coverage_success
333
+ end
334
+
335
+ def code_duplication_report
336
+ generate_code_duplication_report = File.join(BUILD_SCRIPTS_PATH, 'GenerateCodeDuplicationReport.sh')
337
+ duplication_success = system("#{generate_code_duplication_report} \"#{@config['EXCLUDE_PATTERN_FOR_CODE_DUPLICATION']}\" duplication.xml")
338
+ abort('Generate code duplication error!') unless duplication_success
339
+ end
340
+
341
+ def tag
342
+ make_tag = File.join(BUILD_SCRIPTS_PATH, 'MakeTag.sh ')
343
+ tag_success = system("#{make_tag} \"#{ENV['SCM_USERNAME']}\" \"#{ENV['SCM_PASSWORD']}\"")
344
+ abort('Make tag error!') unless tag_success
345
+ end
346
+
347
+ # Jenkins stores SVN credentials locally in XML, so this command gets and uses them on making tag by finding the first credential in local credential storage
348
+ # ATTENTION: if this command picks up wrong credentials, then you should manually edit subversion.credentials file on Jenkins in order to remove the wrong credential
349
+ # Additional |echo| is needed in order to add newline, otherwise base64 encoding doesn't work
350
+ def svn_tag_from_jenkins
351
+ ENV['SCM_USERNAME']=%x[ $(shell xpath ../subversion.credentials \(//userName\)[1]/text\(\)) ]
352
+ ENV['SCM_PASSWORD']=%x[ $(shell echo $$(xpath ../subversion.credentials \(//password\)[1]/text\(\) 2>/dev/null && echo) | openssl base64 -d) ]
353
+
354
+ tag
355
+ end
356
+
357
+ def clean_working_copy
358
+ clean_working_copy = File.join(BUILD_SCRIPTS_PATH, 'CleanWorkingCopy.sh')
359
+ clean_success = system("#{clean_working_copy}")
360
+ abort('Clean working copy error!') unless clean_success
361
+ end
@@ -1,3 +1,3 @@
1
1
  module Nixenvironment
2
- VERSION = '0.0.8'
2
+ VERSION = '0.0.9'
3
3
  end
metadata CHANGED
@@ -1,69 +1,69 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: nixenvironment
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.8
4
+ version: 0.0.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - Karen Arzumanian
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-11-06 00:00:00.000000000 Z
11
+ date: 2014-11-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - "~>"
17
+ - - ~>
18
18
  - !ruby/object:Gem::Version
19
19
  version: '1.7'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - "~>"
24
+ - - ~>
25
25
  - !ruby/object:Gem::Version
26
26
  version: '1.7'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: rake
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - "~>"
31
+ - - ~>
32
32
  - !ruby/object:Gem::Version
33
33
  version: '10.0'
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - "~>"
38
+ - - ~>
39
39
  - !ruby/object:Gem::Version
40
40
  version: '10.0'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: cocoapods
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - "~>"
45
+ - - ~>
46
46
  - !ruby/object:Gem::Version
47
47
  version: '0.34'
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - "~>"
52
+ - - ~>
53
53
  - !ruby/object:Gem::Version
54
54
  version: '0.34'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: commander
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - "~>"
59
+ - - ~>
60
60
  - !ruby/object:Gem::Version
61
61
  version: '4.2'
62
62
  type: :runtime
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - "~>"
66
+ - - ~>
67
67
  - !ruby/object:Gem::Version
68
68
  version: '4.2'
69
69
  description: Installs, updates and manages inner environment stuff to make build and
@@ -76,7 +76,7 @@ executables:
76
76
  extensions: []
77
77
  extra_rdoc_files: []
78
78
  files:
79
- - ".gitignore"
79
+ - .gitignore
80
80
  - Gemfile
81
81
  - LICENSE.txt
82
82
  - README.md
@@ -97,17 +97,17 @@ require_paths:
97
97
  - lib
98
98
  required_ruby_version: !ruby/object:Gem::Requirement
99
99
  requirements:
100
- - - ">="
100
+ - - '>='
101
101
  - !ruby/object:Gem::Version
102
102
  version: '0'
103
103
  required_rubygems_version: !ruby/object:Gem::Requirement
104
104
  requirements:
105
- - - ">="
105
+ - - '>='
106
106
  - !ruby/object:Gem::Version
107
107
  version: '0'
108
108
  requirements: []
109
109
  rubyforge_project:
110
- rubygems_version: 2.2.2
110
+ rubygems_version: 2.0.14
111
111
  signing_key:
112
112
  specification_version: 4
113
113
  summary: NIX projects build and deploy utility