cocoapods 1.2.0 → 1.2.1.beta.1

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: 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