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 +4 -4
- data/README.md +38 -7
- data/bin/nixenvironment +141 -83
- data/lib/nixenvironment/version.rb +1 -1
- metadata +14 -14
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3526732db0e17b9f34a822a5b677cf205dbacdb7
|
4
|
+
data.tar.gz: 459bbd9b2d37acd6c521fe8a94e4d94a15724167
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
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
|
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
|
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
|
171
|
-
|
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
|
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=\"#{
|
194
|
-
APP_DSYM=\"#{
|
219
|
+
APP_PRODUCT=\"#{app_product}\"
|
220
|
+
APP_DSYM=\"#{app_product}.dSYM\"
|
195
221
|
APP_INFOPLIST_FILE=\"#{@config['INFOPLIST_PATH']}\"
|
196
|
-
EMBEDDED_PROFILE=\"
|
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("#{
|
245
|
+
# system("#{tag_icons} @config['ICONS_PATH']")
|
207
246
|
|
208
|
-
#
|
209
|
-
system("#{
|
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
|
-
|
252
|
+
build = File.join(BUILD_SCRIPTS_PATH, 'Build.py')
|
215
253
|
|
216
|
-
system("#{
|
217
|
-
|
218
|
-
|
219
|
-
|
220
|
-
|
221
|
-
|
222
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
275
|
+
make = File.join(BUILD_SCRIPTS_PATH, 'MakeResignedIPAForAppstore.sh')
|
237
276
|
else
|
238
|
-
|
277
|
+
abort("Error: Unknown ipa '#{ipa}'!")
|
239
278
|
end
|
240
279
|
|
241
|
-
system("#{
|
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
|
-
|
247
|
-
|
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
|
-
|
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("#{
|
260
|
-
|
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
|
-
|
306
|
+
remove_temporary_files = File.join(BUILD_SCRIPTS_PATH, 'RemoveTemporaryFiles.sh')
|
267
307
|
|
268
|
-
system("#{
|
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
|
-
|
275
|
-
|
276
|
-
|
277
|
-
|
278
|
-
|
279
|
-
#
|
280
|
-
#
|
281
|
-
|
282
|
-
#
|
283
|
-
|
284
|
-
#
|
285
|
-
#
|
286
|
-
|
287
|
-
|
288
|
-
|
289
|
-
|
290
|
-
|
291
|
-
# #
|
292
|
-
|
293
|
-
|
294
|
-
|
295
|
-
|
296
|
-
|
297
|
-
#
|
298
|
-
|
299
|
-
|
300
|
-
|
301
|
-
|
302
|
-
|
303
|
-
#
|
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
|
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.
|
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-
|
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
|
-
-
|
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.
|
110
|
+
rubygems_version: 2.0.14
|
111
111
|
signing_key:
|
112
112
|
specification_version: 4
|
113
113
|
summary: NIX projects build and deploy utility
|