cocoapods 1.2.0 → 1.2.1.beta.1

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: 2a57f79fc629b5289f1f038308f9c172f58b3f5b
4
- data.tar.gz: abfa6799ad8f9141f65e606dfd4ef57a383c936e
3
+ metadata.gz: eb9eda85e1b9046c779bb13ac2cd2b16d794ac5d
4
+ data.tar.gz: 4aa4fbfc96bd441f9dc9b89e3f86438842e66b89
5
5
  SHA512:
6
- metadata.gz: a32e2f6f5ed591e2ad2538ecf5394c283d4d5baec0e7efc0a5705b8df4ed7f2a301150aeb872b1f714f42fe093c657c8f85075aff6eb1415d41c8217bc37c9b4
7
- data.tar.gz: 9999bca177dead3fc01db2f130f8e41eba93c4a97dd91d90408e5337ca672a7cedf0d6c4d401ecf68b4afe78617db43ef8becb2632f7ff17fc507912438d45bb
6
+ metadata.gz: 2cbe8cde671b565a37d727b7df2d58092d8d91769f5150e7f27653d837d5a3ae3392ac37d94ebfa671dfdf6f4d7f374a8c6e78a008148a99e30e3b4d40d77ad7
7
+ data.tar.gz: 57abe56a456b33abfe8a9eddb473c7d6d9490db167bdee833d391e0c0c5dd758444abcab93403e44d9c12e23fe3758f64099ed6f1a1ff866997c560448dd210f
@@ -4,6 +4,67 @@ To install or update CocoaPods see this [guide](http://docs.cocoapods.org/guides
4
4
 
5
5
  To install release candidates run `[sudo] gem install cocoapods --pre`
6
6
 
7
+ ## 1.2.1.beta.1 (2017-03-08)
8
+
9
+ ##### Enhancements
10
+
11
+ * Use red text when pod installation fails
12
+ [Dimitris Koutsogiorgas](https://github.com/dnkoutso)
13
+ [#6534](https://github.com/CocoaPods/CocoaPods/issues/6534)
14
+
15
+ * Use the colored2 gem instead of colored.
16
+ [Orta Therox](https://github.com/orta)
17
+ [xcodeproj#463](https://github.com/CocoaPods/Xcodeproj/pull/463)
18
+
19
+ * Cache results of dynamic_binary?
20
+ [Ken Wigginton](https://github.com/hailstorm350)
21
+ [#6434](https://github.com/CocoaPods/CocoaPods/pull/6434)
22
+
23
+ ##### Bug Fixes
24
+
25
+ * Do not crash when attempting to install pod with no supported targets.
26
+ [Dimitris Koutsogiorgas](https://github.com/dnkoutso)
27
+ [#6465](https://github.com/CocoaPods/CocoaPods/issues/6465)
28
+
29
+ * Correctly handle `OTHER_LDFLAGS` for targets with inherit search paths and source pods.
30
+ [Justin Martin](https://github.com/justinseanmartin)
31
+ [Dimitris Koutsogiorgas](https://github.com/dnkoutso)
32
+ [#6481](https://github.com/CocoaPods/CocoaPods/pull/6481)
33
+
34
+ * Uses `${PODS_PODFILE_DIR_PATH}` for generated manifest lock script phase.
35
+ [Dimitris Koutsogiorgas](https://github.com/dnkoutso)
36
+ [#5499](https://github.com/CocoaPods/CocoaPods/issues/5499)
37
+
38
+ * Do not generate `UIRequiredDeviceCapabilities` for `tvOS` Info.plists.
39
+ [Dimitris Koutsogiorgas](https://github.com/dnkoutso)
40
+ [#6193](https://github.com/CocoaPods/CocoaPods/issues/6193)
41
+
42
+ * Fix integration with vendored static frameworks and libraries.
43
+ [Dimitris Koutsogiorgas](https://github.com/dnkoutso)
44
+ [#6477](https://github.com/CocoaPods/CocoaPods/pull/6477)
45
+
46
+ * Use `${SRCROOT}` rather than `${PODS_ROOT}` in the generated manifest lock script phase.
47
+ [Dimitris Koutsogiorgas](https://github.com/dnkoutso)
48
+ [#5499](https://github.com/CocoaPods/CocoaPods/issues/5499)
49
+
50
+ * Fix build phase resource references to point at PBXVariantGroups where relevant.
51
+ [Wes Campaigne](https://github.com/Westacular)
52
+ [Dimitris Koutsogiorgas](https://github.com/dnkoutso)
53
+ [#6373](https://github.com/CocoaPods/CocoaPods/issues/6373)
54
+
55
+ * Correctly set runtime search paths for OSX unit test bundles when using frameworks.
56
+ [Dimitris Koutsogiorgas](https://github.com/dnkoutso)
57
+ [#6435](https://github.com/CocoaPods/CocoaPods/pull/6435)
58
+
59
+ * Add `--skip-import-validation` to skip linking a pod during lint.
60
+ [Samuel Giddins](https://github.com/segiddins)
61
+ [Dimitris Koutsogiorgas](https://github.com/dnkoutso)
62
+ [#5670](https://github.com/CocoaPods/CocoaPods/issues/5670)
63
+
64
+ * Updated the colored2 gem (previous version removed from rubygems.org).
65
+ [Ben Asher](https://github.com/benasher44)
66
+ [#6533](https://github.com/CocoaPods/CocoaPods/pull/6533)
67
+
7
68
  ## 1.2.0 (2017-01-28)
8
69
 
9
70
  ##### Enhancements
@@ -1,4 +1,4 @@
1
- require 'colored'
1
+ require 'colored2'
2
2
  require 'claide'
3
3
  require 'molinillo/errors'
4
4
 
@@ -87,6 +87,7 @@ module Pod
87
87
  config.silent = argv.flag?('silent', config.silent)
88
88
  config.verbose = self.verbose? unless verbose.nil?
89
89
  unless self.ansi_output?
90
+ Colored2.disable!
90
91
  String.send(:define_method, :colorize) { |string, _| string }
91
92
  end
92
93
  end
@@ -23,6 +23,7 @@ module Pod
23
23
  ['--private', 'Lint skips checks that apply only to public specs'],
24
24
  ['--swift-version=VERSION', 'The SWIFT_VERSION that should be used to lint the spec. ' \
25
25
  'This takes precedence over a .swift-version file.'],
26
+ ['--skip-import-validation', 'Lint skips validating that the pod can be imported'],
26
27
  ].concat(super)
27
28
  end
28
29
 
@@ -37,7 +38,8 @@ module Pod
37
38
  @source_urls = argv.option('sources', 'https://github.com/CocoaPods/Specs.git').split(',')
38
39
  @private = argv.flag?('private', false)
39
40
  @swift_version = argv.option('swift-version', nil)
40
- @podspecs_paths = argv.arguments!
41
+ @skip_import_validation = argv.flag?('skip-import-validation', false)
42
+ @podspecs_paths = argv.arguments!
41
43
  super
42
44
  end
43
45
 
@@ -59,6 +61,7 @@ module Pod
59
61
  validator.use_frameworks = @use_frameworks
60
62
  validator.ignore_public_only_results = @private
61
63
  validator.swift_version = @swift_version
64
+ validator.skip_import_validation = @skip_import_validation
62
65
  validator.validate
63
66
 
64
67
  unless @clean
@@ -29,6 +29,7 @@ module Pod
29
29
  'Multiple sources must be comma-delimited.'],
30
30
  ['--local-only', 'Does not perform the step of pushing REPO to its remote'],
31
31
  ['--no-private', 'Lint includes checks that apply only to public repos'],
32
+ ['--skip-import-validation', 'Lint skips validating that the pod can be imported'],
32
33
  ['--commit-message="Fix bug in pod"', 'Add custom commit message. ' \
33
34
  'Opens default editor if no commit message is specified.'],
34
35
  ['--use-json', 'Push JSON spec to repo'],
@@ -50,6 +51,7 @@ module Pod
50
51
  @commit_message = argv.flag?('commit-message', false)
51
52
  @use_json = argv.flag?('use-json')
52
53
  @swift_version = argv.option('swift-version', nil)
54
+ @skip_import_validation = argv.flag?('skip-import-validation', false)
53
55
  super
54
56
  end
55
57
 
@@ -127,6 +129,7 @@ module Pod
127
129
  validator.use_frameworks = @use_frameworks
128
130
  validator.ignore_public_only_results = @private
129
131
  validator.swift_version = @swift_version
132
+ validator.skip_import_validation = @skip_import_validation
130
133
  begin
131
134
  validator.validate
132
135
  rescue => e
@@ -29,6 +29,7 @@ module Pod
29
29
  ['--private', 'Lint skips checks that apply only to public specs'],
30
30
  ['--swift-version=VERSION', 'The SWIFT_VERSION that should be used to lint the spec. ' \
31
31
  'This takes precedence over a .swift-version file.'],
32
+ ['--skip-import-validation', 'Lint skips validating that the pod can be imported'],
32
33
  ].concat(super)
33
34
  end
34
35
 
@@ -43,7 +44,8 @@ module Pod
43
44
  @source_urls = argv.option('sources', 'https://github.com/CocoaPods/Specs.git').split(',')
44
45
  @private = argv.flag?('private', false)
45
46
  @swift_version = argv.option('swift-version', nil)
46
- @podspecs_paths = argv.arguments!
47
+ @skip_import_validation = argv.flag?('skip-import-validation', false)
48
+ @podspecs_paths = argv.arguments!
47
49
  super
48
50
  end
49
51
 
@@ -61,6 +63,7 @@ module Pod
61
63
  validator.use_frameworks = @use_frameworks
62
64
  validator.ignore_public_only_results = @private
63
65
  validator.swift_version = @swift_version
66
+ validator.skip_import_validation = @skip_import_validation
64
67
  validator.validate
65
68
  failure_reasons << validator.failure_reason
66
69
 
@@ -34,7 +34,7 @@ module Pod
34
34
  rescue Informative
35
35
  raise
36
36
  rescue
37
- UI.notice("Error installing #{request.name}")
37
+ UI.puts("\n[!] Error installing #{request.name}".red)
38
38
  raise
39
39
  end
40
40
 
@@ -1,5 +1,5 @@
1
1
  module Pod
2
2
  # The version of the CocoaPods command line tool.
3
3
  #
4
- VERSION = '1.2.0'.freeze unless defined? Pod::VERSION
4
+ VERSION = '1.2.1.beta.1'.freeze unless defined? Pod::VERSION
5
5
  end
@@ -117,7 +117,6 @@ module Pod
117
117
 
118
118
  info['CFBundleExecutable'] = '${EXECUTABLE_NAME}' if bundle_package_type != :bndl
119
119
  info['CFBundleVersion'] = '1' if bundle_package_type == :bndl
120
- info['UIRequiredDeviceCapabilities'] = %w(arm64) if target.platform.name == :tvos
121
120
 
122
121
  info
123
122
  end
@@ -56,6 +56,7 @@ module Pod
56
56
  includes_static_libs ||= pod_targets.flat_map(&:file_accessors).any? { |fa| !fa.vendored_static_artifacts.empty? }
57
57
  config = {
58
58
  'OTHER_LDFLAGS' => '$(inherited) ' + XCConfigHelper.default_ld_flags(target, includes_static_libs),
59
+ 'PODS_PODFILE_DIR_PATH' => target.podfile_dir_relative_path,
59
60
  'PODS_ROOT' => target.relative_pods_root,
60
61
  'GCC_PREPROCESSOR_DEFINITIONS' => '$(inherited) COCOAPODS=1',
61
62
  'FRAMEWORK_SEARCH_PATHS' => '$(inherited) ',
@@ -198,11 +199,11 @@ module Pod
198
199
  if pod_target.requires_frameworks?
199
200
  %(-framework "#{pod_target.product_basename}")
200
201
  else
201
- %(-l "#{pod_target.product_basename}")
202
+ %(-l "#{pod_target.product_basename}") if XCConfigHelper.links_dependency?(target, pod_target)
202
203
  end
203
204
  end
204
205
 
205
- @xcconfig.merge!('OTHER_LDFLAGS' => other_ld_flags.join(' '))
206
+ @xcconfig.merge!('OTHER_LDFLAGS' => other_ld_flags.compact.join(' '))
206
207
  end
207
208
 
208
209
  # Ensure to add the default linker run path search paths as they could
@@ -217,8 +218,9 @@ module Pod
217
218
  ld_runpath_search_paths = ['$(inherited)']
218
219
  if target.platform.symbolic_name == :osx
219
220
  ld_runpath_search_paths << "'@executable_path/../Frameworks'"
221
+ symbol_type = target.user_targets.map(&:symbol_type).uniq.first
220
222
  ld_runpath_search_paths << \
221
- if target.native_target.symbol_type == :unit_test_bundle
223
+ if symbol_type == :unit_test_bundle
222
224
  "'@loader_path/../Frameworks'"
223
225
  else
224
226
  "'@loader_path/Frameworks'"
@@ -103,15 +103,31 @@ module Pod
103
103
  #
104
104
  def self.add_static_dependency_build_settings(aggregate_target, pod_target, xcconfig, file_accessor)
105
105
  file_accessor.vendored_static_frameworks.each do |vendored_static_framework|
106
- if aggregate_target.nil? || aggregate_target.target_definition.inheritance != 'search_paths'
107
- XCConfigHelper.add_framework_build_settings(vendored_static_framework, xcconfig, pod_target.sandbox.root)
108
- end
106
+ adds_other_ldflags = XCConfigHelper.links_dependency?(aggregate_target, pod_target)
107
+ XCConfigHelper.add_framework_build_settings(vendored_static_framework, xcconfig, pod_target.sandbox.root, adds_other_ldflags)
109
108
  end
110
109
  file_accessor.vendored_static_libraries.each do |vendored_static_library|
111
- XCConfigHelper.add_library_build_settings(vendored_static_library, xcconfig, pod_target.sandbox.root)
110
+ adds_other_ldflags = XCConfigHelper.links_dependency?(aggregate_target, pod_target)
111
+ XCConfigHelper.add_library_build_settings(vendored_static_library, xcconfig, pod_target.sandbox.root, adds_other_ldflags)
112
112
  end
113
113
  end
114
114
 
115
+ # @param [AggregateTarget] aggregate_target
116
+ # The aggregate target, may be nil.
117
+ #
118
+ # @param [PodTarget] pod_target
119
+ # The pod target to link or not.
120
+ #
121
+ # @return [Boolean] Whether static dependency should be added to the 'OTHER_LDFLAGS'
122
+ # of the aggregate target. Aggregate targets that inherit search paths will only link
123
+ # if the target has explicitly declared the pod dependency.
124
+ #
125
+ def self.links_dependency?(aggregate_target, pod_target)
126
+ return true if aggregate_target.nil? || aggregate_target.target_definition.inheritance == 'complete'
127
+ targets = aggregate_target.pod_targets - aggregate_target.search_paths_aggregate_targets.flat_map(&:pod_targets)
128
+ targets.include?(pod_target)
129
+ end
130
+
115
131
  # Adds build settings for dynamic vendored frameworks and libraries.
116
132
  #
117
133
  # @param [PodTarget] pod_target
@@ -165,13 +181,13 @@ module Pod
165
181
  #
166
182
  # @return [void]
167
183
  #
168
- def self.add_framework_build_settings(framework_path, xcconfig, sandbox_root)
184
+ def self.add_framework_build_settings(framework_path, xcconfig, sandbox_root, include_other_ldflags = true)
169
185
  name = File.basename(framework_path, '.framework')
170
186
  dirname = '${PODS_ROOT}/' + framework_path.dirname.relative_path_from(sandbox_root).to_s
171
187
  build_settings = {
172
- 'OTHER_LDFLAGS' => "-framework #{name}",
173
188
  'FRAMEWORK_SEARCH_PATHS' => quote([dirname]),
174
189
  }
190
+ build_settings['OTHER_LDFLAGS'] = "-framework #{name}" if include_other_ldflags
175
191
  xcconfig.merge!(build_settings)
176
192
  end
177
193
 
@@ -189,14 +205,14 @@ module Pod
189
205
  #
190
206
  # @return [void]
191
207
  #
192
- def self.add_library_build_settings(library_path, xcconfig, sandbox_root)
208
+ def self.add_library_build_settings(library_path, xcconfig, sandbox_root, include_other_ldflags = true)
193
209
  extension = File.extname(library_path)
194
210
  name = File.basename(library_path, extension).sub(/\Alib/, '')
195
211
  dirname = '${PODS_ROOT}/' + library_path.dirname.relative_path_from(sandbox_root).to_s
196
212
  build_settings = {
197
- 'OTHER_LDFLAGS' => "-l#{name}",
198
213
  'LIBRARY_SEARCH_PATHS' => '$(inherited) ' + quote([dirname]),
199
214
  }
215
+ build_settings['OTHER_LDFLAGS'] = "-l#{name}" if include_other_ldflags
200
216
  xcconfig.merge!(build_settings)
201
217
  end
202
218
 
@@ -338,6 +338,8 @@ module Pod
338
338
  end
339
339
  end
340
340
 
341
+ raise Informative, "Could not install '#{pod_name}' pod. There is no target that supports it." if specs_by_platform.empty?
342
+
341
343
  @pod_installers ||= []
342
344
  pod_installer = PodSourceInstaller.new(sandbox, specs_by_platform, :can_cache => installation_options.clean?)
343
345
  @pod_installers << pod_installer
@@ -4,6 +4,8 @@ module Pod
4
4
  class Installer
5
5
  class Analyzer
6
6
  class TargetInspector
7
+ PLATFORM_INFO_URL = 'https://guides.cocoapods.org/syntax/podfile.html#platform'.freeze
8
+
7
9
  # @return [TargetDefinition] the target definition to inspect
8
10
  #
9
11
  attr_accessor :target_definition
@@ -159,6 +161,10 @@ module Pod
159
161
  "Unable to determine the platform for the `#{target_definition.name}` target."
160
162
  end
161
163
 
164
+ UI.warn "Automatically assigning platform #{name} with version #{deployment_target} " \
165
+ "on target #{target_definition.name} because no platform was specified. " \
166
+ "Please specify a platform for this target in your Podfile. See `#{PLATFORM_INFO_URL}`."
167
+
162
168
  target_definition.set_platform(name, deployment_target)
163
169
  Platform.new(name, deployment_target)
164
170
  end
@@ -177,7 +177,7 @@ module Pod
177
177
  phase = create_or_update_build_phase(native_target, phase_name)
178
178
  native_target.build_phases.unshift(phase).uniq! unless native_target.build_phases.first == phase
179
179
  phase.shell_script = <<-SH.strip_heredoc
180
- diff "${PODS_ROOT}/../Podfile.lock" "${PODS_ROOT}/Manifest.lock" > /dev/null
180
+ diff "${PODS_PODFILE_DIR_PATH}/Podfile.lock" "${PODS_ROOT}/Manifest.lock" > /dev/null
181
181
  if [ $? != 0 ] ; then
182
182
  # print error to STDERR
183
183
  echo "error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation." >&2
@@ -65,6 +65,31 @@ module Pod
65
65
  settings
66
66
  end
67
67
 
68
+ # Filters the given resource file references discarding empty paths which are
69
+ # added by their parent directory. This will also include references to the parent [PBXVariantGroup]
70
+ # for all resources underneath it.
71
+ #
72
+ # @param Array[<Pathname>] resource_file_references
73
+ # The array of all resource file references to filter.
74
+
75
+ # @return [Array<Pathname>] The filtered resource file references.
76
+ #
77
+ def filter_resource_file_references(resource_file_references)
78
+ resource_file_references.map do |resource_file_reference|
79
+ ref = project.reference_for_path(resource_file_reference)
80
+
81
+ # Some nested files are not directly present in the Xcode project, such as the contents
82
+ # of an .xcdatamodeld directory. These files are implicitly included by including their
83
+ # parent directory.
84
+ next if ref.nil?
85
+
86
+ # For variant groups, the variant group itself is added, not its members.
87
+ next ref.parent if ref.parent.is_a?(Xcodeproj::Project::Object::PBXVariantGroup)
88
+
89
+ ref
90
+ end
91
+ end
92
+
68
93
  #-----------------------------------------------------------------------#
69
94
 
70
95
  SOURCE_FILE_EXTENSIONS = Sandbox::FileAccessor::SOURCE_FILE_EXTENSIONS
@@ -111,13 +136,7 @@ module Pod
111
136
 
112
137
  next unless target.requires_frameworks?
113
138
 
114
- resource_refs = file_accessor.resources.flatten.map do |res|
115
- project.reference_for_path(res)
116
- end
117
-
118
- # Some nested files are not directly present in the Xcode project, such as the contents
119
- # of an .xcdatamodeld directory. These files will return nil file references.
120
- resource_refs.compact!
139
+ resource_refs = filter_resource_file_references(file_accessor.resources.flatten).compact
121
140
 
122
141
  native_target.add_resources(resource_refs)
123
142
  end
@@ -138,19 +157,7 @@ module Pod
138
157
  def add_resources_bundle_targets
139
158
  target.file_accessors.each do |file_accessor|
140
159
  file_accessor.resource_bundles.each do |bundle_name, paths|
141
- file_references = paths.map do |path|
142
- ref = project.reference_for_path(path)
143
-
144
- # Some nested files are not directly present in the Xcode project, such as the contents
145
- # of an .xcdatamodeld directory. These files are implicitly included by including their
146
- # parent directory.
147
- next if ref.nil?
148
-
149
- # For variant groups, the variant group itself is added, not its members.
150
- next ref.parent if ref.parent.is_a?(Xcodeproj::Project::Object::PBXVariantGroup)
151
-
152
- ref
153
- end
160
+ file_references = filter_resource_file_references(paths)
154
161
  file_references = file_references.uniq.compact
155
162
 
156
163
  label = target.resources_bundle_target_label(bundle_name)
@@ -372,10 +372,13 @@ module Pod
372
372
  # @return [Boolean] Whether `binary` can be dynamically linked.
373
373
  #
374
374
  def dynamic_binary?(binary)
375
- return unless binary.file?
376
- MachO.open(binary).dylib?
375
+ @cached_dynamic_binary_results ||= {}
376
+ return @cached_dynamic_binary_results[binary] unless @cached_dynamic_binary_results[binary].nil?
377
+ return false unless binary.file?
378
+
379
+ @cached_dynamic_binary_results[binary] = MachO.open(binary).dylib?
377
380
  rescue MachO::MachOError
378
- false
381
+ @cached_dynamic_binary_results[binary] = false
379
382
  end
380
383
 
381
384
  #-----------------------------------------------------------------------#
@@ -204,6 +204,16 @@ module Pod
204
204
  "${SRCROOT}/#{sandbox.root.relative_path_from(client_root)}"
205
205
  end
206
206
 
207
+ # @return [String] The path of the Podfile directory relative to the
208
+ # root of the user project.
209
+ #
210
+ def podfile_dir_relative_path
211
+ podfile_path = target_definition.podfile.defined_in_file
212
+ return "${SRCROOT}/#{podfile_path.relative_path_from(client_root).dirname}" unless podfile_path.nil?
213
+ # Fallback to the standard path if the Podfile is not represented by a file.
214
+ '${PODS_ROOT}/..'
215
+ end
216
+
207
217
  # @param [String] config_name The build configuration name to get the xcconfig for
208
218
  # @return [String] The path of the xcconfig file relative to the root of
209
219
  # the user project.
@@ -6,7 +6,7 @@ module Pod
6
6
  # information and for a verbose mode.
7
7
  #
8
8
  module UserInterface
9
- require 'colored'
9
+ require 'colored2'
10
10
 
11
11
  @title_colors = %w( yellow green )
12
12
  @title_level = 0
@@ -202,6 +202,9 @@ module Pod
202
202
  #
203
203
  attr_accessor :ignore_public_only_results
204
204
 
205
+ attr_accessor :skip_import_validation
206
+ alias_method :skip_import_validation?, :skip_import_validation
207
+
205
208
  #-------------------------------------------------------------------------#
206
209
 
207
210
  # !@group Lint results
@@ -411,7 +414,6 @@ module Pod
411
414
  app_project.new_target(:application, 'App', consumer.platform_name, deployment_target)
412
415
  app_project.save
413
416
  app_project.recreate_user_schemes
414
- Xcodeproj::XCScheme.share_scheme(app_project.path, 'App')
415
417
  end
416
418
 
417
419
  def add_app_project_import
@@ -425,6 +427,8 @@ module Pod
425
427
  add_swift_version(app_target)
426
428
  add_xctest(app_target) if @installer.pod_targets.any? { |pt| pt.spec_consumers.any? { |c| c.frameworks.include?('XCTest') } }
427
429
  app_project.save
430
+ Xcodeproj::XCScheme.share_scheme(app_project.path, 'App')
431
+ Xcodeproj::XCScheme.share_scheme(@installer.pods_project.path, pod_target.label)
428
432
  end
429
433
 
430
434
  def add_swift_version(app_target)
@@ -764,7 +768,12 @@ module Pod
764
768
  #
765
769
  def xcodebuild
766
770
  require 'fourflusher'
767
- command = ['clean', 'build', '-workspace', File.join(validation_dir, 'App.xcworkspace'), '-scheme', 'App', '-configuration', 'Release']
771
+ scheme = if skip_import_validation?
772
+ @installer.pod_targets.find { |pt| pt.pod_name == spec.root.name }.label
773
+ else
774
+ 'App'
775
+ end
776
+ command = %W(clean build -workspace #{File.join(validation_dir, 'App.xcworkspace')} -scheme #{scheme} -configuration Release)
768
777
  case consumer.platform_name
769
778
  when :osx, :macos
770
779
  command += %w(CODE_SIGN_IDENTITY=)
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cocoapods
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.0
4
+ version: 1.2.1.beta.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Eloy Duran
@@ -11,7 +11,7 @@ authors:
11
11
  autorequire:
12
12
  bindir: bin
13
13
  cert_chain: []
14
- date: 2017-01-28 00:00:00.000000000 Z
14
+ date: 2017-03-08 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: cocoapods-core
@@ -19,14 +19,14 @@ dependencies:
19
19
  requirements:
20
20
  - - '='
21
21
  - !ruby/object:Gem::Version
22
- version: 1.2.0
22
+ version: 1.2.1.beta.1
23
23
  type: :runtime
24
24
  prerelease: false
25
25
  version_requirements: !ruby/object:Gem::Requirement
26
26
  requirements:
27
27
  - - '='
28
28
  - !ruby/object:Gem::Version
29
- version: 1.2.0
29
+ version: 1.2.1.beta.1
30
30
  - !ruby/object:Gem::Dependency
31
31
  name: claide
32
32
  requirement: !ruby/object:Gem::Requirement
@@ -193,14 +193,14 @@ dependencies:
193
193
  requirements:
194
194
  - - "~>"
195
195
  - !ruby/object:Gem::Version
196
- version: 0.5.5
196
+ version: 0.5.7
197
197
  type: :runtime
198
198
  prerelease: false
199
199
  version_requirements: !ruby/object:Gem::Requirement
200
200
  requirements:
201
201
  - - "~>"
202
202
  - !ruby/object:Gem::Version
203
- version: 0.5.5
203
+ version: 0.5.7
204
204
  - !ruby/object:Gem::Dependency
205
205
  name: xcodeproj
206
206
  requirement: !ruby/object:Gem::Requirement
@@ -242,19 +242,19 @@ dependencies:
242
242
  - !ruby/object:Gem::Version
243
243
  version: '5'
244
244
  - !ruby/object:Gem::Dependency
245
- name: colored
245
+ name: colored2
246
246
  requirement: !ruby/object:Gem::Requirement
247
247
  requirements:
248
248
  - - "~>"
249
249
  - !ruby/object:Gem::Version
250
- version: '1.2'
250
+ version: '3.1'
251
251
  type: :runtime
252
252
  prerelease: false
253
253
  version_requirements: !ruby/object:Gem::Requirement
254
254
  requirements:
255
255
  - - "~>"
256
256
  - !ruby/object:Gem::Version
257
- version: '1.2'
257
+ version: '3.1'
258
258
  - !ruby/object:Gem::Dependency
259
259
  name: escape
260
260
  requirement: !ruby/object:Gem::Requirement