nixenvironment 0.0.65 → 0.0.66

Sign up to get free protection for your applications and to get access to all the features.
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
  - - '>='