nixenvironment 0.0.65 → 0.0.66

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: 75c1eef3f33d03ebe3e67692aee6967fb28701fc
4
- data.tar.gz: 0200541c06f63d158ab537150c4abf6386e1480c
3
+ metadata.gz: ad1a673aa13db0acba59cf7cac6ded70f4d93ee0
4
+ data.tar.gz: 523923efe703537bc3e38873681aa8f14150e140
5
5
  SHA512:
6
- metadata.gz: b24e313955f68c4985aca1b1774a0cfca3cfc0b270f3c6278b82e78c77deabd2b3bd255711adb9463c84dbf99a5820cdcb7183d3237bb329ab3a0de3583e547b
7
- data.tar.gz: e2c2527f139ff86921fa711f9d6294106570cfbddaa91c81b119514131610133e72d4ba80f2f6fabbcbcef6275e7078589a03ab7d3c102bfe5b738ae0d5869bb
6
+ metadata.gz: 5f458279ff5703405675e9bf0b02284f291f7330c8c9f7045a2a336288614e90e55aa6d8c83237e5589d710f0c3e2314d0e94032b21ae9e4e5a9b00ea0a23ea8
7
+ data.tar.gz: 571f9d3ab26b5ac02a164298db91f3373dc32935df24ef77807891240d2c491f04ddae320689a1901222574d368dbc9f76f447bb276845459fea602e831f7a78
data/README.md CHANGED
@@ -8,94 +8,9 @@ Nixenvironment installs, updates and manages inner NIX environment stuff to make
8
8
 
9
9
  ## Usage
10
10
 
11
- COMMANDS:
12
-
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_coverage # Generate xctest unit tests code coverage report
20
-
21
- code_duplication_report # Generate code duplication report
22
-
23
- deploy # Deploy built artifacts to given server
24
-
25
- help # Display global or [command] help documentation
26
-
27
- svn_tag_from_jenkins # Make tag by finding the first credential in local credential storage
28
-
29
- tag # Make SVN/git/mercurial tag, SCM_USERNAME and SCM_PASSWORD must be defined on calling this target
30
-
31
- test # Build xctest unit tests and run them in simulator
32
-
33
- GLOBAL OPTIONS:
34
-
35
- -h, --help
36
- Display help documentation. Default command
37
-
38
- -v, --version
39
- Display version information
40
-
41
- -t, --trace
42
- Display backtrace when an error occurs
43
-
44
- # Options to override default Config
45
-
46
- --project_to_build VALUE
47
-
48
- --project_target_to_build VALUE
49
-
50
- --project_target_to_test VALUE
51
-
52
- --workspace_to_build VALUE
53
-
54
- --workspace_scheme_to_build VALUE
55
-
56
- --workspace_scheme_to_test VALUE
57
-
58
- --sdk VALUE
59
-
60
- --sdk_for_tests VALUE
61
-
62
- --exclude_pattern_for_code_coverage VALUE
63
-
64
- --exclude_pattern_for_code_duplication VALUE
65
-
66
- --deploy_host VALUE
67
-
68
- --deploy_path VALUE
69
-
70
- --deploy_username VALUE
71
-
72
- --deploy_password VALUE
73
-
74
- --icons_path VALUE
75
-
76
- --xctest_destination_device VALUE
77
-
78
- --configuration_files_path VALUE
79
-
80
- --code_coverage_configuration VALUE
81
-
82
- --code_coverage_output_directory VALUE
83
-
84
- --env_var_prefix VALUE
85
-
86
- --infoplist_path VALUE
87
-
88
- EXAMPLES:
11
+ To get help in usage please tape this:
89
12
 
90
- nixenvironment [-h]
91
-
92
- nixenvironment build # Make Debug build and create .ipa file from last built app product by default
93
-
94
- nixenvironment build --config Release --ipa resigned_ipa_for_device
95
-
96
- nixenvironment deploy
97
-
98
- ...
13
+ $ nixenvironment [-h | --help]
99
14
 
100
15
  ## TODO:
101
16
 
@@ -111,10 +26,19 @@ Nixenvironment installs, updates and manages inner NIX environment stuff to make
111
26
  jenkins ALL=(ALL) NOPASSWD: /usr/bin/bundle
112
27
  jenkins ALL=(ALL) NOPASSWD: /usr/bin/gem
113
28
 
114
- Read http://osxdaily.com/2014/02/06/add-user-sudoers-file-mac/ and
115
- http://stackoverflow.com/questions/12736351/exit-save-edit-to-sudoers-file-putty-ssh to know how to do it correctly.
29
+ To know how to do it correctly please read this:
30
+
31
+ http://osxdaily.com/2014/02/06/add-user-sudoers-file-mac/
32
+
33
+ and this:
34
+
35
+ http://stackoverflow.com/questions/12736351/exit-save-edit-to-sudoers-file-putty-ssh
116
36
 
117
37
  Then run this in Execute shell:
118
38
 
119
39
  # See credentials for deploy on https://qwiki.nixsolutions.com/display/IPT/Credentials
120
- ./gemify.sh && bundle update && sudo gem install nixenvironment --verbose
40
+ $ ./gemify.sh && bundle update && sudo gem install nixenvironment --verbose
41
+
42
+ NOTE! CI must be configured with UTF-8 locale! Please see how to implement it for Jenkins:
43
+
44
+ https://github.com/KrauseFx/fastlane/issues/227#issuecomment-139449487
data/bin/nixenvironment CHANGED
@@ -505,13 +505,13 @@ def tag_icon(short_version)
505
505
  icons_dir = File.join(Dir.pwd, @config_settings[ICONS_PATH_KEY])
506
506
  app_product = File.join(@config_settings[BUILT_PRODUCTS_DIR_KEY], @config_settings[EXECUTABLE_NAME_KEY]) + APP_EXT
507
507
 
508
- system("#{TAGGER_UTILITY_PATH} --shortVersion=#{version}\
509
- --buildNumber=#{monotonic_revision}\
510
- --style=#{style}\
511
- --maskPath=\"#{mask_path}\"\
512
- --plist=\"#{plist_path}\"\
513
- --sourceIconsPath=\"#{icons_dir}\"\
514
- --destinationIconsPath=#{app_product}")
508
+ system("#{TAGGER_UTILITY_PATH} --shortVersion='#{version}'\
509
+ --buildNumber='#{monotonic_revision}'\
510
+ --style='#{style}'\
511
+ --maskPath='#{mask_path}'\
512
+ --plist='#{plist_path}'\
513
+ --sourceIconsPath='#{icons_dir}'\
514
+ --destinationIconsPath='#{app_product}'")
515
515
  end
516
516
 
517
517
  def backup_info_plists
data/legacy/DeployAPK.py CHANGED
@@ -27,7 +27,7 @@ def build_data(build_path):
27
27
  build_name_regex = regex_template % "name"
28
28
  build_version_regex = regex_template % "versionName"
29
29
 
30
- aapt_path = os.path.join(os.path.dirname(__file__), "Utils/aapt")
30
+ aapt_path = os.path.join(os.path.dirname(__file__), "..", "utils/aapt")
31
31
  output = os.popen("'%s' dump badging '%s'" % (aapt_path, build_path)).read()
32
32
 
33
33
  build_name = re.match(build_name_regex, output).groups()[0]
data/legacy/DeployIPA.sh CHANGED
@@ -56,7 +56,7 @@ if [[ -f "${IPA_PRODUCT_RESIGNED_APPSTORE}" ]]; then
56
56
  echo "DEPLOY_ITUNESCONNECT_USER isn't specified, skipping deliver..."
57
57
  else
58
58
  if [ "${DELIVER_DEPLOY}" == 1 ]; then
59
- deliver testflight "${IPA_PRODUCT_RESIGNED_APPSTORE}" -u "${DEPLOY_ITUNESCONNECT_USER}"
59
+ deliver testflight "${IPA_PRODUCT_RESIGNED_APPSTORE}" -u "${DEPLOY_ITUNESCONNECT_USER}" # --submit_for_review
60
60
  else
61
61
  deliver testflight "${IPA_PRODUCT_RESIGNED_APPSTORE}" -u "${DEPLOY_ITUNESCONNECT_USER}" --skip-deploy
62
62
  fi
@@ -19,6 +19,5 @@ do
19
19
  done
20
20
 
21
21
  currentScriptDir="$(dirname "$0")"
22
- source "${currentScriptDir}/LoadBuildEnvVars.sh"
23
22
 
24
23
  java -jar "${currentScriptDir}/../utils/simian-2.3.33.jar" "**/*.m" "**/*.h" ${excludes} -threshold=5 -failOnDuplication- -formatter=xml:${output}
@@ -82,6 +82,9 @@ echo "BUILT_PRODUCTS_DIR = ${BUILT_PRODUCTS_DIR}"
82
82
  echo "OBJECTS_NORMAL_DIR = ${OBJECTS_NORMAL_DIR}"
83
83
  echo "EXECUTABLE_NAME = ${EXECUTABLE_NAME}"
84
84
  echo "APP_PRODUCT = ${APP_PRODUCT}"
85
+ echo "WATCHKIT_APP_RELATIVE_PRODUCT = ${WATCHKIT_APP_RELATIVE_PRODUCT}"
86
+ echo "WATCHKIT_EXTENSION_RELATIVE_PRODUCT = ${WATCHKIT_EXTENSION_RELATIVE_PRODUCT}"
87
+ echo "WIDGET_RELATIVE_PRODUCT = ${WIDGET_RELATIVE_PRODUCT}"
85
88
  echo "IPA_PRODUCT = ${IPA_PRODUCT}"
86
89
  echo "APP_DSYM = ${APP_DSYM}"
87
90
  echo "APP_INFOPLIST_FILE = ${APP_INFOPLIST_FILE}"
@@ -91,8 +94,13 @@ echo "CONFIGURATION = ${CONFIGURATION}"
91
94
  echo "SDK_NAME = ${SDK_NAME}"
92
95
  echo "IPA_BUNDLE_ID = ${IPA_BUNDLE_ID}"
93
96
  echo "RESIGNED_BUNDLE_ID = ${RESIGNED_BUNDLE_ID}"
97
+ echo "RESIGNED_WATCHKIT_APP_BUNDLE_ID = ${RESIGNED_WATCHKIT_APP_BUNDLE_ID}"
98
+ echo "RESIGNED_WATCHKIT_EXTENSION_BUNDLE_ID = ${RESIGNED_WATCHKIT_EXTENSION_BUNDLE_ID}"
99
+ echo "RESIGNED_WIDGET_BUNDLE_ID = ${RESIGNED_WIDGET_BUNDLE_ID}"
94
100
  echo "RESIGNED_BUNDLE_NAME = ${RESIGNED_BUNDLE_NAME}"
95
101
  echo "RESIGNED_ENTITLEMENTS_PATH = ${RESIGNED_ENTITLEMENTS_PATH}"
102
+ echo "RESIGNED_WATCHKIT_EXTENSION_ENTITLEMENTS_PATH = ${RESIGNED_WATCHKIT_EXTENSION_ENTITLEMENTS_PATH}"
103
+ echo "RESIGNED_WIDGET_ENTITLEMENTS_PATH = ${RESIGNED_WIDGET_ENTITLEMENTS_PATH}"
96
104
  echo "NAME_FOR_DEPLOYMENT = ${NAME_FOR_DEPLOYMENT}"
97
105
 
98
106
  checkDirExists "${BUILT_PRODUCTS_DIR}" "build products dir"
@@ -97,6 +97,7 @@ NAME_FOR_DEPLOYMENT='#{configuration}'
97
97
  def make_ipa(profile_type, ipa_product_suffix, ipa_product_key, ipa_bundle_id_key, name_for_deployment_key)
98
98
  is_resigned = ipa_product_suffix.present? && ipa_product_suffix.include?('Resigned')
99
99
  is_appstore = ipa_product_suffix.present? && ipa_product_suffix.include?('Appstore')
100
+ is_adhoc = ipa_product_suffix.present? && ipa_product_suffix.include?('AdHoc')
100
101
 
101
102
  build_env_vars = BuildEnvVarsLoader.load
102
103
  built_products_dir = build_env_vars[BUILT_PRODUCTS_DIR_KEY].presence
@@ -138,10 +139,18 @@ NAME_FOR_DEPLOYMENT='#{configuration}'
138
139
 
139
140
  ipa_bundle_id = is_resigned ? resigned_bundle_id : get_bundle_id(app_product)
140
141
 
142
+ if is_appstore
143
+ name_for_deployment = 'Appstore'
144
+ elsif is_adhoc
145
+ name_for_deployment = 'AdHoc'
146
+ else
147
+ name_for_deployment = configuration
148
+ end
149
+
141
150
  system("echo \"\n# generated by Nixenvironment:
142
151
  #{ipa_product_key}='#{ipa_product}'
143
152
  #{ipa_bundle_id_key}='#{ipa_bundle_id}'
144
- #{name_for_deployment_key}='#{configuration}'
153
+ #{name_for_deployment_key}='#{name_for_deployment}'
145
154
  \" >> _last_build_vars.sh")
146
155
 
147
156
  FileUtils.rm_rf(temp_app_product) if is_appstore
@@ -266,42 +275,42 @@ NAME_FOR_DEPLOYMENT='#{configuration}'
266
275
  if watchkit_app_relative_product_path.present?
267
276
  dest_watchkit_app_product_path = File.join(dest_app_product_path, watchkit_app_relative_product_path)
268
277
  _is_watchkit_app_provision_replaced = replace_provision(dest_watchkit_app_product_path, watchkit_app_profile_path)
269
- _is_watchkit_app_bundle_id = rename_bundle_id(dest_watchkit_app_product_path, new_watchkit_app_bundle_id)
278
+ _is_watchkit_app_bundle_id_changed = rename_bundle_id(dest_watchkit_app_product_path, new_watchkit_app_bundle_id)
270
279
  end
271
280
 
272
- is_watchkit_extension_provision_replaced = nil
273
- is_watchkit_extension_bundle_id_or_name_changed = nil
281
+ is_watchkit_extension_provision_replaced = nil
282
+ is_watchkit_extension_bundle_id_changed = nil
274
283
 
275
284
  dest_watchkit_extension_product_path = nil
276
285
 
277
286
  # replace provision, rename bundle_id and bundle_name for watchkit extension
278
287
  if watchkit_extension_relative_product_path.present?
279
- dest_watchkit_extension_product_path = File.join(dest_app_product_path, watchkit_extension_relative_product_path)
280
- is_watchkit_extension_provision_replaced = replace_provision(dest_watchkit_extension_product_path, watchkit_extension_profile_path)
281
- is_watchkit_extension_bundle_id_or_name_changed = rename_bundle_id_and_name(dest_watchkit_extension_product_path, new_watchkit_extension_bundle_id, nil)
288
+ dest_watchkit_extension_product_path = File.join(dest_app_product_path, watchkit_extension_relative_product_path)
289
+ is_watchkit_extension_provision_replaced = replace_provision(dest_watchkit_extension_product_path, watchkit_extension_profile_path)
290
+ is_watchkit_extension_bundle_id_changed = rename_bundle_id(dest_watchkit_extension_product_path, new_watchkit_extension_bundle_id)
282
291
  end
283
292
 
284
- is_widget_provision_replaced = nil
285
- is_widget_bundle_id_or_name_changed = nil
293
+ is_widget_provision_replaced = nil
294
+ is_widget_bundle_idchanged = nil
286
295
 
287
296
  dest_widget_product_path = nil
288
297
 
289
298
  # replace provision, rename bundle_id and bundle_name for widget
290
299
  if widget_relative_product_path.present?
291
- dest_widget_product_path = File.join(dest_app_product_path, widget_relative_product_path)
292
- is_widget_provision_replaced = replace_provision(dest_widget_product_path, widget_profile_path)
293
- is_widget_bundle_id_or_name_changed = rename_bundle_id_and_name(dest_widget_product_path, new_widget_bundle_id, nil)
300
+ dest_widget_product_path = File.join(dest_app_product_path, widget_relative_product_path)
301
+ is_widget_provision_replaced = replace_provision(dest_widget_product_path, widget_profile_path)
302
+ is_widget_bundle_idchanged = rename_bundle_id(dest_widget_product_path, new_widget_bundle_id)
294
303
  end
295
304
 
296
305
  # codesign watchkit extension
297
306
  if watchkit_extension_relative_product_path.present?
298
307
  codesign(watchkit_extension_identity_name, new_watchkit_extension_entitlements_path, is_watchkit_extension_provision_replaced,
299
- is_watchkit_extension_bundle_id_or_name_changed, dest_watchkit_extension_product_path, watchkit_extension_profile_path, new_watchkit_extension_bundle_id)
308
+ is_watchkit_extension_bundle_id_changed, dest_watchkit_extension_product_path, watchkit_extension_profile_path, new_watchkit_extension_bundle_id)
300
309
  end
301
310
 
302
311
  # codesign widget
303
312
  if widget_relative_product_path.present?
304
- codesign(widget_identity_name, new_widget_entitlements_path, is_widget_provision_replaced, is_widget_bundle_id_or_name_changed,
313
+ codesign(widget_identity_name, new_widget_entitlements_path, is_widget_provision_replaced, is_widget_bundle_idchanged,
305
314
  dest_widget_product_path, widget_profile_path, new_widget_bundle_id)
306
315
  end
307
316
 
@@ -318,7 +327,7 @@ NAME_FOR_DEPLOYMENT='#{configuration}'
318
327
  end
319
328
 
320
329
  def codesign(identity_name, new_entitlements_path, is_provision_replaced, is_bundle_id_or_name_changed, dest_app_product_path, profile_path, new_bundle_id)
321
- codesign_args = ['/usr/bin/codesign', '--force', '--sign', "'#{identity_name}'"]
330
+ codesign_args = ['/usr/bin/codesign', '--force', '--sign', '--deep', "'#{identity_name}'"]
322
331
 
323
332
  # now let's figure out the entitlements...
324
333
  if new_entitlements_path.present?
@@ -4,17 +4,11 @@ module Nixenvironment
4
4
  class Plist
5
5
  FORMAT_BINARY = CFPropertyList::List::FORMAT_BINARY
6
6
  FORMAT_XML = CFPropertyList::List::FORMAT_XML
7
- FORMAT_PLAIN = CFPropertyList::List::FORMAT_PLAIN
7
+ # FORMAT_PLAIN = CFPropertyList::List::FORMAT_PLAIN
8
8
  FORMAT_AUTO = CFPropertyList::List::FORMAT_AUTO
9
9
 
10
10
  def self.from_file(path)
11
- # FIXME
12
- # used instead of new(CFPropertyList::List.new(:file => path))
13
- # because of odd <ArgumentError: invalid byte sequence in US-ASCII>
14
- plist = CFPropertyList::List.new
15
- plist.load_str(File.read(path))
16
- plist.filename = path
17
- new(plist)
11
+ new(CFPropertyList::List.new(:file => path))
18
12
  end
19
13
 
20
14
  def self.from_hash(hash)
@@ -42,7 +36,7 @@ module Nixenvironment
42
36
 
43
37
  def []=(key, value)
44
38
  @data[key] = value
45
- @plist.value = CFPropertyList.guess(@data)
39
+ @plist.value = CFPropertyList.guess(@data, :convert_unknown_to_string => true)
46
40
  end
47
41
 
48
42
  def save(path = nil, format = nil, formatted = true)
@@ -1,3 +1,3 @@
1
1
  module Nixenvironment
2
- VERSION = '0.0.65'
2
+ VERSION = '0.0.66'
3
3
  end
@@ -30,10 +30,18 @@ module Nixenvironment
30
30
  build_args = []
31
31
  build_args << "-sdk '#{sdk}'" if sdk.present?
32
32
  build_args << "-configuration '#{config}'" if config.present?
33
- build_args << "-project '#{project}'" if project.present?
34
- build_args << "-target '#{target}'" if target.present?
35
- build_args << "-workspace '#{workspace}'" if workspace.present?
36
- build_args << "-scheme '#{scheme}'" if scheme.present?
33
+
34
+ if project.present?
35
+ build_args << "-project '#{project}'"
36
+ elsif workspace.present?
37
+ build_args << "-workspace '#{workspace}'"
38
+ end
39
+
40
+ if target.present?
41
+ build_args << "-target '#{target}'"
42
+ elsif scheme.present?
43
+ build_args << "-scheme '#{scheme}'"
44
+ end
37
45
 
38
46
  if env_var_prefix.present?
39
47
  vars_to_define = ''
@@ -83,10 +91,19 @@ module Nixenvironment
83
91
  build_args = []
84
92
  build_args << "-sdk '#{sdk}'" if sdk.present?
85
93
  build_args << "-configuration '#{config}'" if config.present?
86
- build_args << "-project '#{project}'" if project.present?
87
- build_args << "-target '#{target}'" if target.present?
88
- build_args << "-workspace '#{workspace}'" if workspace.present?
89
- build_args << "-scheme '#{scheme}'" if scheme.present?
94
+
95
+ if project.present?
96
+ build_args << "-project '#{project}'"
97
+ elsif workspace.present?
98
+ build_args << "-workspace '#{workspace}'"
99
+ end
100
+
101
+ if target.present?
102
+ build_args << "-target '#{target}'"
103
+ elsif scheme.present?
104
+ build_args << "-scheme '#{scheme}'"
105
+ end
106
+
90
107
  build_args << '-showBuildSettings'
91
108
 
92
109
  puts 'Reading config settings ...'
@@ -139,7 +156,7 @@ module Nixenvironment
139
156
  if key.present? && value.present?
140
157
  stripped_key = key.strip
141
158
  stripped_value = value.strip
142
- return stripped_value if stripped_key == PRODUCT_SETTINGS_PATH_KEY && stripped_value.include?(scheme_suffix)
159
+ return stripped_value if stripped_key == PRODUCT_SETTINGS_PATH_KEY
143
160
  end
144
161
  end
145
162
  end
@@ -23,14 +23,14 @@ Gem::Specification.new do |spec|
23
23
  spec.add_dependency 'deliver'
24
24
  spec.add_dependency 'xcpretty'
25
25
  spec.add_dependency 'ocunit2junit'
26
+ spec.add_dependency 'terminal-table'
27
+ spec.add_dependency 'colorize'
28
+ spec.add_dependency 'CFPropertyList', '= 2.2.8'
26
29
 
27
30
  # Development only
28
31
  spec.add_development_dependency 'bundler'
29
32
  spec.add_development_dependency 'rake'
30
33
  spec.add_development_dependency 'rspec'
31
34
  spec.add_development_dependency 'commander'
32
- spec.add_development_dependency 'terminal-table'
33
- spec.add_development_dependency 'colorize'
34
35
  spec.add_development_dependency 'fuzzy_match'
35
- spec.add_development_dependency 'CFPropertyList'
36
36
  end
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.65
4
+ version: 0.0.66
5
5
  platform: ruby
6
6
  authors:
7
7
  - Karen
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2015-09-24 00:00:00.000000000 Z
12
+ date: 2015-10-05 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: cocoapods
@@ -68,13 +68,13 @@ dependencies:
68
68
  - !ruby/object:Gem::Version
69
69
  version: '0'
70
70
  - !ruby/object:Gem::Dependency
71
- name: bundler
71
+ name: terminal-table
72
72
  requirement: !ruby/object:Gem::Requirement
73
73
  requirements:
74
74
  - - '>='
75
75
  - !ruby/object:Gem::Version
76
76
  version: '0'
77
- type: :development
77
+ type: :runtime
78
78
  prerelease: false
79
79
  version_requirements: !ruby/object:Gem::Requirement
80
80
  requirements:
@@ -82,13 +82,13 @@ dependencies:
82
82
  - !ruby/object:Gem::Version
83
83
  version: '0'
84
84
  - !ruby/object:Gem::Dependency
85
- name: rake
85
+ name: colorize
86
86
  requirement: !ruby/object:Gem::Requirement
87
87
  requirements:
88
88
  - - '>='
89
89
  - !ruby/object:Gem::Version
90
90
  version: '0'
91
- type: :development
91
+ type: :runtime
92
92
  prerelease: false
93
93
  version_requirements: !ruby/object:Gem::Requirement
94
94
  requirements:
@@ -96,21 +96,21 @@ dependencies:
96
96
  - !ruby/object:Gem::Version
97
97
  version: '0'
98
98
  - !ruby/object:Gem::Dependency
99
- name: rspec
99
+ name: CFPropertyList
100
100
  requirement: !ruby/object:Gem::Requirement
101
101
  requirements:
102
- - - '>='
102
+ - - '='
103
103
  - !ruby/object:Gem::Version
104
- version: '0'
105
- type: :development
104
+ version: 2.2.8
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
- version: '0'
111
+ version: 2.2.8
112
112
  - !ruby/object:Gem::Dependency
113
- name: commander
113
+ name: bundler
114
114
  requirement: !ruby/object:Gem::Requirement
115
115
  requirements:
116
116
  - - '>='
@@ -124,7 +124,7 @@ dependencies:
124
124
  - !ruby/object:Gem::Version
125
125
  version: '0'
126
126
  - !ruby/object:Gem::Dependency
127
- name: terminal-table
127
+ name: rake
128
128
  requirement: !ruby/object:Gem::Requirement
129
129
  requirements:
130
130
  - - '>='
@@ -138,7 +138,7 @@ dependencies:
138
138
  - !ruby/object:Gem::Version
139
139
  version: '0'
140
140
  - !ruby/object:Gem::Dependency
141
- name: colorize
141
+ name: rspec
142
142
  requirement: !ruby/object:Gem::Requirement
143
143
  requirements:
144
144
  - - '>='
@@ -152,7 +152,7 @@ dependencies:
152
152
  - !ruby/object:Gem::Version
153
153
  version: '0'
154
154
  - !ruby/object:Gem::Dependency
155
- name: fuzzy_match
155
+ name: commander
156
156
  requirement: !ruby/object:Gem::Requirement
157
157
  requirements:
158
158
  - - '>='
@@ -166,7 +166,7 @@ dependencies:
166
166
  - !ruby/object:Gem::Version
167
167
  version: '0'
168
168
  - !ruby/object:Gem::Dependency
169
- name: CFPropertyList
169
+ name: fuzzy_match
170
170
  requirement: !ruby/object:Gem::Requirement
171
171
  requirements:
172
172
  - - '>='