cocoapods 1.2.0.beta.1 → 1.2.0.beta.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +71 -1
- data/README.md +2 -2
- data/lib/cocoapods/command.rb +24 -0
- data/lib/cocoapods/command/repo/push.rb +4 -0
- data/lib/cocoapods/command/spec/lint.rb +6 -2
- data/lib/cocoapods/command/update.rb +21 -0
- data/lib/cocoapods/gem_version.rb +1 -1
- data/lib/cocoapods/generator/embed_frameworks_script.rb +1 -1
- data/lib/cocoapods/generator/xcconfig/aggregate_xcconfig.rb +4 -1
- data/lib/cocoapods/installer/analyzer.rb +16 -20
- data/lib/cocoapods/installer/analyzer/target_inspector.rb +24 -6
- data/lib/cocoapods/installer/xcode/pods_project_generator/pod_target_installer.rb +12 -4
- data/lib/cocoapods/project.rb +1 -0
- data/lib/cocoapods/sources_manager.rb +4 -33
- data/lib/cocoapods/validator.rb +2 -0
- metadata +75 -75
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 583b0994af4dff87d58f91627376c15e49f5fc6b
|
4
|
+
data.tar.gz: 2495912b02e8592c6c1f924f3d1cdfcfaa81a216
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ff94283350eecfd5fa8511da985ac42ce2c1c8aebae4a4fa39bee0494f07b94da056fea5ca58d24b064c63d01dc0e954158de85d7420d8758ec03a96e1b383d3
|
7
|
+
data.tar.gz: 12fefe06243788c4ff9e8d528377b774655e3e593a6dcdd1351bae4313c962c7dd6430fa40cde81aa9f02254b9b94b4c6dbccee30a0e2f3f4594809865e36815
|
data/CHANGELOG.md
CHANGED
@@ -4,6 +4,76 @@ 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.0.beta.3 (2016-12-28)
|
8
|
+
|
9
|
+
##### Enhancements
|
10
|
+
|
11
|
+
* `pod repo push` now accepts the `--swift-version` argument.
|
12
|
+
[Dimitris Koutsogiorgas](https://github.com/dnkoutso)
|
13
|
+
[#6217](https://github.com/CocoaPods/CocoaPods/issues/6217)
|
14
|
+
|
15
|
+
* Output Swift targets when multiple versions of Swift are detected.
|
16
|
+
[Justin Martin](https://github.com/justinseanmartin) & [Dimitris Koutsogiorgas](https://github.com/dnkoutso)
|
17
|
+
[#6191](https://github.com/CocoaPods/CocoaPods/issues/6191)
|
18
|
+
|
19
|
+
* [update] adding --sources to specify to only update pods from a repo
|
20
|
+
[Mark Schall](https://github.com/maschall)
|
21
|
+
[#5809](https://github.com/CocoaPods/CocoaPods/pull/5809)
|
22
|
+
|
23
|
+
* Add aggregated search paths targets to vendored build settings
|
24
|
+
[Chris Ortman](https://github.com/chrisortman)
|
25
|
+
[Johannes Plunien](https://github.com/plu)
|
26
|
+
[#5512](https://github.com/CocoaPods/CocoaPods/issues/5512)
|
27
|
+
|
28
|
+
* Use fetch and reset rather than a pull when updating specs repos.
|
29
|
+
[Danielle Tomlinson](https://github.com/dantoml)
|
30
|
+
[#6206](https://github.com/CocoaPods/CocoaPods/pull/6206)
|
31
|
+
|
32
|
+
##### Bug Fixes
|
33
|
+
|
34
|
+
* Fix default LD_RUNPATH_SEARCH_PATHS for host targets.
|
35
|
+
[Dimitris Koutsogiorgas](https://github.com/dnkoutso)
|
36
|
+
[#6006](https://github.com/CocoaPods/CocoaPods/issues/6006)
|
37
|
+
|
38
|
+
* Fix codesigning issues when targets have spaces.
|
39
|
+
[Sam Gammon](https://github.com/sgammon)
|
40
|
+
[#6153](https://github.com/CocoaPods/CocoaPods/issues/6153)
|
41
|
+
|
42
|
+
* Raise an exception if unable to find a reference for a path and handle symlink references.
|
43
|
+
[Dimitris Koutsogiorgas](https://github.com/dnkoutso)
|
44
|
+
[#5427](https://github.com/CocoaPods/CocoaPods/issues/5427)
|
45
|
+
|
46
|
+
* Re-escaped backslashes in embed_frameworks generator
|
47
|
+
[Harlan Haskins](https://github.com/harlanhaskins)
|
48
|
+
[#6121](https://github.com/CocoaPods/CocoaPods/issues/6121)
|
49
|
+
|
50
|
+
* Escape spaces in CONFIGURATION_BUILD_DIR when creating header folders symlink
|
51
|
+
[Dmitry Obukhov](https://github.com/stel)
|
52
|
+
[#6146](https://github.com/CocoaPods/CocoaPods/pull/6146)
|
53
|
+
|
54
|
+
* Fail gracefully when downloading a podspec in `pod spec lint` fails.
|
55
|
+
[Samuel Giddins](https://github.com/segiddins)
|
56
|
+
|
57
|
+
* Remove the `const_missing` hack for `Pod::SourcesManager`.
|
58
|
+
[Samuel Giddins](https://github.com/segiddins)
|
59
|
+
|
60
|
+
* Fixed code signing issue causing lint failure on macOS.
|
61
|
+
[Paul Cantrell](https://github.com/pcantrell)
|
62
|
+
[#5645](https://github.com/CocoaPods/CocoaPods/issues/5645)
|
63
|
+
|
64
|
+
* Raise an exception when using a git version prior to 1.8.5.
|
65
|
+
[Danielle Tomlinson](https://github.com/dantoml)
|
66
|
+
[#6078](https://github.com/CocoaPods/CocoaPods/issues/6078)
|
67
|
+
|
68
|
+
* Fix framework support for frameworks in sub-projects.
|
69
|
+
[Ben Asher](https://github.com/benasher44)
|
70
|
+
[#6123](https://github.com/CocoaPods/CocoaPods/issues/6123)
|
71
|
+
|
72
|
+
* Remove errors that prevent host/extension target mismatches, which Xcode will warn about.
|
73
|
+
[Ben Asher](https://github.com/benasher44)
|
74
|
+
[#6173](https://github.com/CocoaPods/CocoaPods/issues/6173)
|
75
|
+
|
76
|
+
|
7
77
|
## 1.2.0.beta.1 (2016-10-28)
|
8
78
|
|
9
79
|
##### Enhancements
|
@@ -80,7 +150,7 @@ To install release candidates run `[sudo] gem install cocoapods --pre`
|
|
80
150
|
|
81
151
|
* None.
|
82
152
|
|
83
|
-
* Redefine FOUNDATION_EXPORT for C-only pods in umbrella header
|
153
|
+
* Redefine FOUNDATION_EXPORT for C-only pods in umbrella header.
|
84
154
|
[Chris Ballinger](https://github.com/chrisballinger)
|
85
155
|
[#6024](https://github.com/CocoaPods/CocoaPods/issues/6024)
|
86
156
|
|
data/README.md
CHANGED
@@ -15,7 +15,7 @@ workspace to build your project.
|
|
15
15
|
|
16
16
|
Installing and updating CocoaPods is very easy. Don't miss the [Installation
|
17
17
|
guide](http://guides.cocoapods.org/using/getting-started.html#installation) and the
|
18
|
-
[Getting
|
18
|
+
[Getting Started guide](https://guides.cocoapods.org/using/getting-started.html).
|
19
19
|
|
20
20
|
## Project Goals
|
21
21
|
|
@@ -77,4 +77,4 @@ CocoaPods is composed of the following projects:
|
|
77
77
|
| [![Build Status](http://img.shields.io/travis/CocoaPods/CLAide/master.svg?style=flat)](https://travis-ci.org/CocoaPods/CLAide) | [CLAide](https://github.com/CocoaPods/CLAide) | A small command-line interface framework. | [docs](http://docs.cocoapods.org/claide/index.html)
|
78
78
|
| [![Build Status](http://img.shields.io/travis/CocoaPods/Molinillo/master.svg?style=flat)](https://travis-ci.org/CocoaPods/Molinillo) | [Molinillo](https://github.com/CocoaPods/Molinillo) | A powerful generic dependency resolver. | [docs](http://www.rubydoc.info/gems/molinillo)
|
79
79
|
| [![Build Status](http://img.shields.io/travis/CocoaPods/CocoaPods-app/master.svg?style=flat)](https://travis-ci.org/CocoaPods/CocoaPods-app) | [CocoaPods.app](https://github.com/CocoaPods/CocoaPods-app) | A full-featured and standalone installation of CocoaPods. | [info](https://cocoapods.org/app)
|
80
|
-
| | [Master Repo ](https://github.com/CocoaPods/Specs) | Master repository of specifications. | [
|
80
|
+
| | [Master Repo ](https://github.com/CocoaPods/Specs) | Master repository of specifications. | [guides](http://docs.cocoapods.org/guides/contributing_to_the_master_repo.html)
|
data/lib/cocoapods/command.rb
CHANGED
@@ -45,6 +45,8 @@ module Pod
|
|
45
45
|
|
46
46
|
def self.run(argv)
|
47
47
|
help! 'You cannot run CocoaPods as root.' if Process.uid == 0
|
48
|
+
|
49
|
+
verify_minimum_git_version!
|
48
50
|
verify_xcode_license_approved!
|
49
51
|
|
50
52
|
super(argv)
|
@@ -105,6 +107,28 @@ module Pod
|
|
105
107
|
|
106
108
|
private
|
107
109
|
|
110
|
+
# Returns a new {Gem::Version} based on the systems `git` version.
|
111
|
+
#
|
112
|
+
# @return [Gem::Version]
|
113
|
+
#
|
114
|
+
def self.git_version
|
115
|
+
raw_version = Executable.capture_command('git', ['--version']).first
|
116
|
+
match = raw_version.scan(/\d+\.\d+\.\d+/).first
|
117
|
+
Gem::Version.new(match)
|
118
|
+
end
|
119
|
+
|
120
|
+
# Checks that the git version is at least 1.8.5
|
121
|
+
#
|
122
|
+
# @raise If the git version is older than 1.8.5
|
123
|
+
#
|
124
|
+
# @return [void]
|
125
|
+
#
|
126
|
+
def self.verify_minimum_git_version!
|
127
|
+
if git_version < Gem::Version.new('1.8.5')
|
128
|
+
raise Informative, 'You need at least git version 1.8.5 to use CocoaPods'
|
129
|
+
end
|
130
|
+
end
|
131
|
+
|
108
132
|
# Returns a new {Installer} parametrized from the {Config}.
|
109
133
|
#
|
110
134
|
# @return [Installer]
|
@@ -32,6 +32,8 @@ module Pod
|
|
32
32
|
['--commit-message="Fix bug in pod"', 'Add custom commit message. ' \
|
33
33
|
'Opens default editor if no commit message is specified.'],
|
34
34
|
['--use-json', 'Push JSON spec to repo'],
|
35
|
+
['--swift-version=VERSION', 'The SWIFT_VERSION that should be used when linting the spec. ' \
|
36
|
+
'This takes precedence over a .swift-version file.'],
|
35
37
|
].concat(super)
|
36
38
|
end
|
37
39
|
|
@@ -47,6 +49,7 @@ module Pod
|
|
47
49
|
@message = argv.option('commit-message')
|
48
50
|
@commit_message = argv.flag?('commit-message', false)
|
49
51
|
@use_json = argv.flag?('use-json')
|
52
|
+
@swift_version = argv.option('swift-version', nil)
|
50
53
|
super
|
51
54
|
end
|
52
55
|
|
@@ -123,6 +126,7 @@ module Pod
|
|
123
126
|
validator.allow_warnings = @allow_warnings
|
124
127
|
validator.use_frameworks = @use_frameworks
|
125
128
|
validator.ignore_public_only_results = @private
|
129
|
+
validator.swift_version = @swift_version
|
126
130
|
begin
|
127
131
|
validator.validate
|
128
132
|
rescue => e
|
@@ -98,8 +98,12 @@ module Pod
|
|
98
98
|
require 'cocoapods/open-uri'
|
99
99
|
output_path = podspecs_tmp_dir + File.basename(path)
|
100
100
|
output_path.dirname.mkpath
|
101
|
-
|
102
|
-
|
101
|
+
begin
|
102
|
+
open(path) do |io|
|
103
|
+
output_path.open('w') { |f| f << io.read }
|
104
|
+
end
|
105
|
+
rescue => e
|
106
|
+
raise Informative, "Downloading a podspec from `#{path}` failed: #{e}"
|
103
107
|
end
|
104
108
|
files << output_path
|
105
109
|
elsif (pathname = Pathname.new(path)).directory?
|
@@ -19,8 +19,29 @@ module Pod
|
|
19
19
|
CLAide::Argument.new('POD_NAMES', false, true),
|
20
20
|
]
|
21
21
|
|
22
|
+
def self.options
|
23
|
+
[
|
24
|
+
['--sources=https://github.com/artsy/Specs,master', 'The sources from which to update dependent pods. ' \
|
25
|
+
'Multiple sources must be comma-delimited. The master repo will not be included by default with this option.'],
|
26
|
+
].concat(super)
|
27
|
+
end
|
28
|
+
|
22
29
|
def initialize(argv)
|
23
30
|
@pods = argv.arguments! unless argv.arguments.empty?
|
31
|
+
|
32
|
+
source_urls = argv.option('sources', '').split(',')
|
33
|
+
unless source_urls.empty?
|
34
|
+
source_pods = source_urls.flat_map { |url| config.sources_manager.source_with_name_or_url(url).pods }
|
35
|
+
unless source_pods.empty?
|
36
|
+
source_pods = source_pods.select { |pod| config.lockfile.pod_names.include?(pod) }
|
37
|
+
if @pods
|
38
|
+
@pods += source_pods
|
39
|
+
else
|
40
|
+
@pods = source_pods unless source_pods.empty?
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
44
|
+
|
24
45
|
super
|
25
46
|
end
|
26
47
|
|
@@ -96,7 +96,7 @@ module Pod
|
|
96
96
|
if [ -n "${EXPANDED_CODE_SIGN_IDENTITY}" -a "${CODE_SIGNING_REQUIRED}" != "NO" -a "${CODE_SIGNING_ALLOWED}" != "NO" ]; then
|
97
97
|
# Use the current code_sign_identitiy
|
98
98
|
echo "Code Signing $1 with Identity ${EXPANDED_CODE_SIGN_IDENTITY_NAME}"
|
99
|
-
local code_sign_cmd="/usr/bin/codesign --force --sign ${EXPANDED_CODE_SIGN_IDENTITY} ${OTHER_CODE_SIGN_FLAGS} --preserve-metadata=identifier,entitlements
|
99
|
+
local code_sign_cmd="/usr/bin/codesign --force --sign ${EXPANDED_CODE_SIGN_IDENTITY} ${OTHER_CODE_SIGN_FLAGS} --preserve-metadata=identifier,entitlements '$1'"
|
100
100
|
|
101
101
|
if [ "${COCOAPODS_PARALLEL_CODE_SIGN}" == "true" ]; then
|
102
102
|
code_sign_cmd="$code_sign_cmd &"
|
@@ -181,7 +181,9 @@ module Pod
|
|
181
181
|
# user target.
|
182
182
|
#
|
183
183
|
def generate_vendored_build_settings
|
184
|
-
pod_targets
|
184
|
+
targets = pod_targets + target.search_paths_aggregate_targets.flat_map(&:pod_targets)
|
185
|
+
|
186
|
+
targets.each do |pod_target|
|
185
187
|
unless pod_target.should_build? && pod_target.requires_frameworks?
|
186
188
|
XCConfigHelper.add_settings_for_file_accessors_of_target(pod_target, @xcconfig)
|
187
189
|
end
|
@@ -226,6 +228,7 @@ module Pod
|
|
226
228
|
"'@executable_path/Frameworks'",
|
227
229
|
"'@loader_path/Frameworks'",
|
228
230
|
]
|
231
|
+
ld_runpath_search_paths << "'@executable_path/../../Frameworks'" if target.requires_host_target?
|
229
232
|
end
|
230
233
|
@xcconfig.merge!('LD_RUNPATH_SEARCH_PATHS' => ld_runpath_search_paths.join(' '))
|
231
234
|
end
|
@@ -238,18 +238,21 @@ module Pod
|
|
238
238
|
#
|
239
239
|
def copy_embedded_target_pod_targets_to_host(aggregate_target, embedded_aggregate_targets)
|
240
240
|
return if aggregate_target.requires_host_target?
|
241
|
-
|
242
|
-
|
243
|
-
|
244
|
-
|
245
|
-
|
246
|
-
|
247
|
-
|
248
|
-
|
241
|
+
pod_target_names = Set.new(aggregate_target.pod_targets.map(&:name))
|
242
|
+
aggregate_user_target_uuids = Set.new(aggregate_target.user_targets.map(&:uuid))
|
243
|
+
embedded_aggregate_targets.each do |embedded_aggregate_target|
|
244
|
+
next unless embedded_aggregate_target.user_targets.any? do |embedded_user_target|
|
245
|
+
# You have to ask the host target's project for the host targets of
|
246
|
+
# the embedded target, as opposed to asking user_project for the
|
247
|
+
# embedded targets of the host target. The latter doesn't work when
|
248
|
+
# the embedded target lives in a sub-project. The lines below get
|
249
|
+
# the host target uuids for the embedded target and checks to see if
|
250
|
+
# those match to any of the user_target uuids in the aggregate_target.
|
251
|
+
host_target_uuids = Set.new(aggregate_target.user_project.host_targets_for_embedded_target(embedded_user_target).map(&:uuid))
|
252
|
+
!aggregate_user_target_uuids.intersection(host_target_uuids).empty?
|
249
253
|
end
|
250
|
-
pod_target_names = aggregate_target.pod_targets.map(&:name)
|
251
254
|
# This embedded target is hosted by the aggregate target's user_target; copy over the non-duplicate pod_targets
|
252
|
-
aggregate_target.pod_targets = aggregate_target.pod_targets +
|
255
|
+
aggregate_target.pod_targets = aggregate_target.pod_targets + embedded_aggregate_target.pod_targets.select do |pod_target|
|
253
256
|
!pod_target_names.include? pod_target.name
|
254
257
|
end
|
255
258
|
end
|
@@ -321,19 +324,12 @@ module Pod
|
|
321
324
|
end
|
322
325
|
|
323
326
|
target_mismatches = []
|
324
|
-
check_prop = lambda do |target_definition1, target_definition2, attr, msg|
|
325
|
-
attr1 = target_definition1.send(attr)
|
326
|
-
attr2 = target_definition2.send(attr)
|
327
|
-
if attr1 != attr2
|
328
|
-
target_mismatches << "- #{target_definition1.name} (#{attr1}) and #{target_definition2.name} (#{attr2}) #{msg}."
|
329
|
-
end
|
330
|
-
end
|
331
327
|
host_uuid_to_embedded_target_definitions.each do |uuid, target_definitions|
|
332
328
|
host_target_definition = target_definitions_by_uuid[uuid]
|
333
329
|
target_definitions.each do |target_definition|
|
334
|
-
|
335
|
-
|
336
|
-
|
330
|
+
unless host_target_definition.uses_frameworks? == target_definition.uses_frameworks?
|
331
|
+
target_mismatches << "- #{host_target_definition.name} (#{host_target_definition.uses_frameworks?}) and #{target_definition.name} (#{target_definition.uses_frameworks?}) do not both set use_frameworks!."
|
332
|
+
end
|
337
333
|
end
|
338
334
|
end
|
339
335
|
|
@@ -216,16 +216,34 @@ module Pod
|
|
216
216
|
# @return [String] the targets Swift version or nil
|
217
217
|
#
|
218
218
|
def compute_swift_version_from_targets(targets)
|
219
|
-
|
220
|
-
target.resolved_build_setting('SWIFT_VERSION').values
|
221
|
-
|
222
|
-
|
219
|
+
versions_to_targets = targets.inject({}) do |memo, target|
|
220
|
+
versions = target.resolved_build_setting('SWIFT_VERSION').values
|
221
|
+
versions.each do |version|
|
222
|
+
memo[version] = [] if memo[version].nil?
|
223
|
+
memo[version] << target.name unless memo[version].include? target.name
|
224
|
+
end
|
225
|
+
memo
|
226
|
+
end
|
227
|
+
|
228
|
+
case versions_to_targets.count
|
223
229
|
when 0
|
224
230
|
nil
|
225
231
|
when 1
|
226
|
-
|
232
|
+
versions_to_targets.keys.first
|
227
233
|
else
|
228
|
-
|
234
|
+
target_version_pairs = versions_to_targets.map do |version_names, target_names|
|
235
|
+
target_names.map { |target_name| [target_name, version_names] }
|
236
|
+
end
|
237
|
+
|
238
|
+
sorted_pairs = target_version_pairs.flat_map { |i| i }.sort_by do |target_name, version_name|
|
239
|
+
"#{target_name} #{version_name}"
|
240
|
+
end
|
241
|
+
|
242
|
+
formatted_output = sorted_pairs.map do |target, version_name|
|
243
|
+
"#{target}: Swift #{version_name}"
|
244
|
+
end.join("\n")
|
245
|
+
|
246
|
+
raise Informative, "There may only be up to 1 unique SWIFT_VERSION per target. Found target(s) with multiple Swift versions:\n#{formatted_output}"
|
229
247
|
end
|
230
248
|
end
|
231
249
|
end
|
@@ -97,11 +97,11 @@ module Pod
|
|
97
97
|
}.each do |arc, files|
|
98
98
|
files = files - headers - other_source_files
|
99
99
|
flags = compiler_flags_for_consumer(consumer, arc)
|
100
|
-
regular_file_refs = files
|
100
|
+
regular_file_refs = project_file_references_array(files, 'source')
|
101
101
|
native_target.add_file_references(regular_file_refs, flags)
|
102
102
|
end
|
103
103
|
|
104
|
-
header_file_refs = headers
|
104
|
+
header_file_refs = project_file_references_array(headers, 'header')
|
105
105
|
native_target.add_file_references(header_file_refs) do |build_file|
|
106
106
|
add_header(build_file, public_headers, private_headers)
|
107
107
|
end
|
@@ -242,8 +242,8 @@ module Pod
|
|
242
242
|
build_phase = native_target.new_shell_script_build_phase('Create Symlinks to Header Folders')
|
243
243
|
build_phase.shell_script = <<-eos.strip_heredoc
|
244
244
|
base="$CONFIGURATION_BUILD_DIR/$WRAPPER_NAME"
|
245
|
-
ln -fs $base/${PUBLIC_HEADERS_FOLDER_PATH\#$WRAPPER_NAME/} $base/${PUBLIC_HEADERS_FOLDER_PATH\#\$CONTENTS_FOLDER_PATH/}
|
246
|
-
ln -fs $base/${PRIVATE_HEADERS_FOLDER_PATH\#\$WRAPPER_NAME/} $base/${PRIVATE_HEADERS_FOLDER_PATH\#\$CONTENTS_FOLDER_PATH/}
|
245
|
+
ln -fs "$base/${PUBLIC_HEADERS_FOLDER_PATH\#$WRAPPER_NAME/}" "$base/${PUBLIC_HEADERS_FOLDER_PATH\#\$CONTENTS_FOLDER_PATH/}"
|
246
|
+
ln -fs "$base/${PRIVATE_HEADERS_FOLDER_PATH\#\$WRAPPER_NAME/}" "$base/${PRIVATE_HEADERS_FOLDER_PATH\#\$CONTENTS_FOLDER_PATH/}"
|
247
247
|
eos
|
248
248
|
end
|
249
249
|
|
@@ -360,6 +360,14 @@ module Pod
|
|
360
360
|
@custom_module_map ||= target.file_accessors.first.module_map
|
361
361
|
end
|
362
362
|
|
363
|
+
def project_file_references_array(files, file_type)
|
364
|
+
files.map do |sf|
|
365
|
+
project.reference_for_path(sf).tap do |ref|
|
366
|
+
raise Informative, "Unable to find #{file_type} ref for #{sf} for target #{target.name}." unless ref
|
367
|
+
end
|
368
|
+
end
|
369
|
+
end
|
370
|
+
|
363
371
|
def header_mappings_dir
|
364
372
|
return @header_mappings_dir if defined?(@header_mappings_dir)
|
365
373
|
file_accessor = target.file_accessors.first
|
data/lib/cocoapods/project.rb
CHANGED
@@ -184,6 +184,7 @@ module Pod
|
|
184
184
|
group = group_for_path_in_group(file_path_name, group, reflect_file_system_structure)
|
185
185
|
|
186
186
|
if ref = reference_for_path(file_path_name.realpath)
|
187
|
+
@refs_by_absolute_path[absolute_path.to_s] = ref
|
187
188
|
ref
|
188
189
|
else
|
189
190
|
ref = group.new_file(file_path_name.realpath)
|
@@ -104,7 +104,9 @@ module Pod
|
|
104
104
|
|
105
105
|
def update_git_repo(show_output = false)
|
106
106
|
Config.instance.with_changes(:verbose => show_output) do
|
107
|
-
git!(
|
107
|
+
git!(%W(-C #{repo} fetch origin))
|
108
|
+
current_branch = git!(%W(-C #{repo} rev-parse --abbrev-ref HEAD)).strip
|
109
|
+
git!(%W(-C #{repo} reset --hard origin/#{current_branch}))
|
108
110
|
end
|
109
111
|
rescue
|
110
112
|
raise Informative, 'CocoaPods was not able to update the ' \
|
@@ -118,7 +120,7 @@ module Pod
|
|
118
120
|
def update_git_repo(show_output = false)
|
119
121
|
if repo.join('.git', 'shallow').file?
|
120
122
|
UI.info "Performing a deep fetch of the `#{name}` specs repo to improve future performance" do
|
121
|
-
git!(
|
123
|
+
git!(%W(-C #{repo} fetch --unshallow))
|
122
124
|
end
|
123
125
|
end
|
124
126
|
super
|
@@ -150,35 +152,4 @@ module Pod
|
|
150
152
|
UI.puts(message)
|
151
153
|
end
|
152
154
|
end
|
153
|
-
|
154
|
-
# @!visibility private
|
155
|
-
module SourcesManagerMissingConstant
|
156
|
-
SOURCES_MANAGER_CONSTANT_WARNINGS = Set.new
|
157
|
-
|
158
|
-
# Warn about deprecated use of `Pod::SourcesManager` and return the config's
|
159
|
-
# Source::Manager
|
160
|
-
#
|
161
|
-
# @param [#to_sym] const the missing constant
|
162
|
-
#
|
163
|
-
# @return [Pod::Source::Manager]
|
164
|
-
#
|
165
|
-
def const_missing(const)
|
166
|
-
unless const.to_sym == :SourcesManager &&
|
167
|
-
ancestors.any? { |a| a == ::Pod || a.name.start_with?('Pod::') }
|
168
|
-
return super
|
169
|
-
end
|
170
|
-
|
171
|
-
calling_line = caller.first
|
172
|
-
if Pod::SourcesManagerMissingConstant::SOURCES_MANAGER_CONSTANT_WARNINGS.add?(calling_line)
|
173
|
-
warn 'Usage of the constant `Pod::SourcesManager` is deprecated, ' \
|
174
|
-
'use `Pod::Config.instance.sources_manager` instead ' \
|
175
|
-
"(called from #{calling_line})"
|
176
|
-
end
|
177
|
-
|
178
|
-
Config.instance.sources_manager
|
179
|
-
end
|
180
|
-
end
|
181
|
-
|
182
|
-
extend SourcesManagerMissingConstant
|
183
|
-
::Object.send(:extend, SourcesManagerMissingConstant)
|
184
155
|
end
|
data/lib/cocoapods/validator.rb
CHANGED
@@ -766,6 +766,8 @@ module Pod
|
|
766
766
|
require 'fourflusher'
|
767
767
|
command = ['clean', 'build', '-workspace', File.join(validation_dir, 'App.xcworkspace'), '-scheme', 'App', '-configuration', 'Release']
|
768
768
|
case consumer.platform_name
|
769
|
+
when :osx, :macos
|
770
|
+
command += %w(CODE_SIGN_IDENTITY=)
|
769
771
|
when :ios
|
770
772
|
command += %w(CODE_SIGN_IDENTITY=- -sdk iphonesimulator)
|
771
773
|
command += Fourflusher::SimControl.new.destination(:oldest, 'iOS', deployment_target)
|
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.beta.
|
4
|
+
version: 1.2.0.beta.3
|
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: 2016-
|
14
|
+
date: 2016-12-28 00:00:00.000000000 Z
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|
17
17
|
name: cocoapods-core
|
@@ -19,352 +19,352 @@ dependencies:
|
|
19
19
|
requirements:
|
20
20
|
- - '='
|
21
21
|
- !ruby/object:Gem::Version
|
22
|
-
version: 1.2.0.beta.
|
22
|
+
version: 1.2.0.beta.3
|
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.beta.
|
29
|
+
version: 1.2.0.beta.3
|
30
30
|
- !ruby/object:Gem::Dependency
|
31
31
|
name: claide
|
32
32
|
requirement: !ruby/object:Gem::Requirement
|
33
33
|
requirements:
|
34
|
-
- -
|
34
|
+
- - ">="
|
35
35
|
- !ruby/object:Gem::Version
|
36
36
|
version: 1.0.1
|
37
|
-
- - <
|
37
|
+
- - "<"
|
38
38
|
- !ruby/object:Gem::Version
|
39
39
|
version: '2.0'
|
40
40
|
type: :runtime
|
41
41
|
prerelease: false
|
42
42
|
version_requirements: !ruby/object:Gem::Requirement
|
43
43
|
requirements:
|
44
|
-
- -
|
44
|
+
- - ">="
|
45
45
|
- !ruby/object:Gem::Version
|
46
46
|
version: 1.0.1
|
47
|
-
- - <
|
47
|
+
- - "<"
|
48
48
|
- !ruby/object:Gem::Version
|
49
49
|
version: '2.0'
|
50
50
|
- !ruby/object:Gem::Dependency
|
51
51
|
name: cocoapods-deintegrate
|
52
52
|
requirement: !ruby/object:Gem::Requirement
|
53
53
|
requirements:
|
54
|
-
- -
|
54
|
+
- - ">="
|
55
55
|
- !ruby/object:Gem::Version
|
56
56
|
version: 1.0.1
|
57
|
-
- - <
|
57
|
+
- - "<"
|
58
58
|
- !ruby/object:Gem::Version
|
59
59
|
version: '2.0'
|
60
60
|
type: :runtime
|
61
61
|
prerelease: false
|
62
62
|
version_requirements: !ruby/object:Gem::Requirement
|
63
63
|
requirements:
|
64
|
-
- -
|
64
|
+
- - ">="
|
65
65
|
- !ruby/object:Gem::Version
|
66
66
|
version: 1.0.1
|
67
|
-
- - <
|
67
|
+
- - "<"
|
68
68
|
- !ruby/object:Gem::Version
|
69
69
|
version: '2.0'
|
70
70
|
- !ruby/object:Gem::Dependency
|
71
71
|
name: cocoapods-downloader
|
72
72
|
requirement: !ruby/object:Gem::Requirement
|
73
73
|
requirements:
|
74
|
-
- -
|
74
|
+
- - ">="
|
75
75
|
- !ruby/object:Gem::Version
|
76
|
-
version: 1.1.
|
77
|
-
- - <
|
76
|
+
version: 1.1.3
|
77
|
+
- - "<"
|
78
78
|
- !ruby/object:Gem::Version
|
79
79
|
version: '2.0'
|
80
80
|
type: :runtime
|
81
81
|
prerelease: false
|
82
82
|
version_requirements: !ruby/object:Gem::Requirement
|
83
83
|
requirements:
|
84
|
-
- -
|
84
|
+
- - ">="
|
85
85
|
- !ruby/object:Gem::Version
|
86
|
-
version: 1.1.
|
87
|
-
- - <
|
86
|
+
version: 1.1.3
|
87
|
+
- - "<"
|
88
88
|
- !ruby/object:Gem::Version
|
89
89
|
version: '2.0'
|
90
90
|
- !ruby/object:Gem::Dependency
|
91
91
|
name: cocoapods-plugins
|
92
92
|
requirement: !ruby/object:Gem::Requirement
|
93
93
|
requirements:
|
94
|
-
- -
|
94
|
+
- - ">="
|
95
95
|
- !ruby/object:Gem::Version
|
96
96
|
version: 1.0.0
|
97
|
-
- - <
|
97
|
+
- - "<"
|
98
98
|
- !ruby/object:Gem::Version
|
99
99
|
version: '2.0'
|
100
100
|
type: :runtime
|
101
101
|
prerelease: false
|
102
102
|
version_requirements: !ruby/object:Gem::Requirement
|
103
103
|
requirements:
|
104
|
-
- -
|
104
|
+
- - ">="
|
105
105
|
- !ruby/object:Gem::Version
|
106
106
|
version: 1.0.0
|
107
|
-
- - <
|
107
|
+
- - "<"
|
108
108
|
- !ruby/object:Gem::Version
|
109
109
|
version: '2.0'
|
110
110
|
- !ruby/object:Gem::Dependency
|
111
111
|
name: cocoapods-search
|
112
112
|
requirement: !ruby/object:Gem::Requirement
|
113
113
|
requirements:
|
114
|
-
- -
|
114
|
+
- - ">="
|
115
115
|
- !ruby/object:Gem::Version
|
116
116
|
version: 1.0.0
|
117
|
-
- - <
|
117
|
+
- - "<"
|
118
118
|
- !ruby/object:Gem::Version
|
119
119
|
version: '2.0'
|
120
120
|
type: :runtime
|
121
121
|
prerelease: false
|
122
122
|
version_requirements: !ruby/object:Gem::Requirement
|
123
123
|
requirements:
|
124
|
-
- -
|
124
|
+
- - ">="
|
125
125
|
- !ruby/object:Gem::Version
|
126
126
|
version: 1.0.0
|
127
|
-
- - <
|
127
|
+
- - "<"
|
128
128
|
- !ruby/object:Gem::Version
|
129
129
|
version: '2.0'
|
130
130
|
- !ruby/object:Gem::Dependency
|
131
131
|
name: cocoapods-stats
|
132
132
|
requirement: !ruby/object:Gem::Requirement
|
133
133
|
requirements:
|
134
|
-
- -
|
134
|
+
- - ">="
|
135
135
|
- !ruby/object:Gem::Version
|
136
136
|
version: 1.0.0
|
137
|
-
- - <
|
137
|
+
- - "<"
|
138
138
|
- !ruby/object:Gem::Version
|
139
139
|
version: '2.0'
|
140
140
|
type: :runtime
|
141
141
|
prerelease: false
|
142
142
|
version_requirements: !ruby/object:Gem::Requirement
|
143
143
|
requirements:
|
144
|
-
- -
|
144
|
+
- - ">="
|
145
145
|
- !ruby/object:Gem::Version
|
146
146
|
version: 1.0.0
|
147
|
-
- - <
|
147
|
+
- - "<"
|
148
148
|
- !ruby/object:Gem::Version
|
149
149
|
version: '2.0'
|
150
150
|
- !ruby/object:Gem::Dependency
|
151
151
|
name: cocoapods-trunk
|
152
152
|
requirement: !ruby/object:Gem::Requirement
|
153
153
|
requirements:
|
154
|
-
- -
|
154
|
+
- - ">="
|
155
155
|
- !ruby/object:Gem::Version
|
156
|
-
version: 1.1.
|
157
|
-
- - <
|
156
|
+
version: 1.1.2
|
157
|
+
- - "<"
|
158
158
|
- !ruby/object:Gem::Version
|
159
159
|
version: '2.0'
|
160
160
|
type: :runtime
|
161
161
|
prerelease: false
|
162
162
|
version_requirements: !ruby/object:Gem::Requirement
|
163
163
|
requirements:
|
164
|
-
- -
|
164
|
+
- - ">="
|
165
165
|
- !ruby/object:Gem::Version
|
166
|
-
version: 1.1.
|
167
|
-
- - <
|
166
|
+
version: 1.1.2
|
167
|
+
- - "<"
|
168
168
|
- !ruby/object:Gem::Version
|
169
169
|
version: '2.0'
|
170
170
|
- !ruby/object:Gem::Dependency
|
171
171
|
name: cocoapods-try
|
172
172
|
requirement: !ruby/object:Gem::Requirement
|
173
173
|
requirements:
|
174
|
-
- -
|
174
|
+
- - ">="
|
175
175
|
- !ruby/object:Gem::Version
|
176
176
|
version: 1.1.0
|
177
|
-
- - <
|
177
|
+
- - "<"
|
178
178
|
- !ruby/object:Gem::Version
|
179
179
|
version: '2.0'
|
180
180
|
type: :runtime
|
181
181
|
prerelease: false
|
182
182
|
version_requirements: !ruby/object:Gem::Requirement
|
183
183
|
requirements:
|
184
|
-
- -
|
184
|
+
- - ">="
|
185
185
|
- !ruby/object:Gem::Version
|
186
186
|
version: 1.1.0
|
187
|
-
- - <
|
187
|
+
- - "<"
|
188
188
|
- !ruby/object:Gem::Version
|
189
189
|
version: '2.0'
|
190
190
|
- !ruby/object:Gem::Dependency
|
191
191
|
name: molinillo
|
192
192
|
requirement: !ruby/object:Gem::Requirement
|
193
193
|
requirements:
|
194
|
-
- - ~>
|
194
|
+
- - "~>"
|
195
195
|
- !ruby/object:Gem::Version
|
196
|
-
version: 0.5.
|
196
|
+
version: 0.5.4
|
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.
|
203
|
+
version: 0.5.4
|
204
204
|
- !ruby/object:Gem::Dependency
|
205
205
|
name: xcodeproj
|
206
206
|
requirement: !ruby/object:Gem::Requirement
|
207
207
|
requirements:
|
208
|
-
- -
|
208
|
+
- - ">="
|
209
209
|
- !ruby/object:Gem::Version
|
210
|
-
version: 1.4.
|
211
|
-
- - <
|
210
|
+
version: 1.4.1
|
211
|
+
- - "<"
|
212
212
|
- !ruby/object:Gem::Version
|
213
213
|
version: '2.0'
|
214
214
|
type: :runtime
|
215
215
|
prerelease: false
|
216
216
|
version_requirements: !ruby/object:Gem::Requirement
|
217
217
|
requirements:
|
218
|
-
- -
|
218
|
+
- - ">="
|
219
219
|
- !ruby/object:Gem::Version
|
220
|
-
version: 1.4.
|
221
|
-
- - <
|
220
|
+
version: 1.4.1
|
221
|
+
- - "<"
|
222
222
|
- !ruby/object:Gem::Version
|
223
223
|
version: '2.0'
|
224
224
|
- !ruby/object:Gem::Dependency
|
225
225
|
name: activesupport
|
226
226
|
requirement: !ruby/object:Gem::Requirement
|
227
227
|
requirements:
|
228
|
-
- -
|
228
|
+
- - ">="
|
229
229
|
- !ruby/object:Gem::Version
|
230
230
|
version: 4.0.2
|
231
|
-
- - <
|
231
|
+
- - "<"
|
232
232
|
- !ruby/object:Gem::Version
|
233
233
|
version: '5'
|
234
234
|
type: :runtime
|
235
235
|
prerelease: false
|
236
236
|
version_requirements: !ruby/object:Gem::Requirement
|
237
237
|
requirements:
|
238
|
-
- -
|
238
|
+
- - ">="
|
239
239
|
- !ruby/object:Gem::Version
|
240
240
|
version: 4.0.2
|
241
|
-
- - <
|
241
|
+
- - "<"
|
242
242
|
- !ruby/object:Gem::Version
|
243
243
|
version: '5'
|
244
244
|
- !ruby/object:Gem::Dependency
|
245
245
|
name: colored
|
246
246
|
requirement: !ruby/object:Gem::Requirement
|
247
247
|
requirements:
|
248
|
-
- - ~>
|
248
|
+
- - "~>"
|
249
249
|
- !ruby/object:Gem::Version
|
250
250
|
version: '1.2'
|
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
257
|
version: '1.2'
|
258
258
|
- !ruby/object:Gem::Dependency
|
259
259
|
name: escape
|
260
260
|
requirement: !ruby/object:Gem::Requirement
|
261
261
|
requirements:
|
262
|
-
- - ~>
|
262
|
+
- - "~>"
|
263
263
|
- !ruby/object:Gem::Version
|
264
264
|
version: 0.0.4
|
265
265
|
type: :runtime
|
266
266
|
prerelease: false
|
267
267
|
version_requirements: !ruby/object:Gem::Requirement
|
268
268
|
requirements:
|
269
|
-
- - ~>
|
269
|
+
- - "~>"
|
270
270
|
- !ruby/object:Gem::Version
|
271
271
|
version: 0.0.4
|
272
272
|
- !ruby/object:Gem::Dependency
|
273
273
|
name: fourflusher
|
274
274
|
requirement: !ruby/object:Gem::Requirement
|
275
275
|
requirements:
|
276
|
-
- - ~>
|
276
|
+
- - "~>"
|
277
277
|
- !ruby/object:Gem::Version
|
278
278
|
version: 2.0.1
|
279
279
|
type: :runtime
|
280
280
|
prerelease: false
|
281
281
|
version_requirements: !ruby/object:Gem::Requirement
|
282
282
|
requirements:
|
283
|
-
- - ~>
|
283
|
+
- - "~>"
|
284
284
|
- !ruby/object:Gem::Version
|
285
285
|
version: 2.0.1
|
286
286
|
- !ruby/object:Gem::Dependency
|
287
287
|
name: gh_inspector
|
288
288
|
requirement: !ruby/object:Gem::Requirement
|
289
289
|
requirements:
|
290
|
-
- - ~>
|
290
|
+
- - "~>"
|
291
291
|
- !ruby/object:Gem::Version
|
292
292
|
version: '1.0'
|
293
293
|
type: :runtime
|
294
294
|
prerelease: false
|
295
295
|
version_requirements: !ruby/object:Gem::Requirement
|
296
296
|
requirements:
|
297
|
-
- - ~>
|
297
|
+
- - "~>"
|
298
298
|
- !ruby/object:Gem::Version
|
299
299
|
version: '1.0'
|
300
300
|
- !ruby/object:Gem::Dependency
|
301
301
|
name: nap
|
302
302
|
requirement: !ruby/object:Gem::Requirement
|
303
303
|
requirements:
|
304
|
-
- - ~>
|
304
|
+
- - "~>"
|
305
305
|
- !ruby/object:Gem::Version
|
306
306
|
version: '1.0'
|
307
307
|
type: :runtime
|
308
308
|
prerelease: false
|
309
309
|
version_requirements: !ruby/object:Gem::Requirement
|
310
310
|
requirements:
|
311
|
-
- - ~>
|
311
|
+
- - "~>"
|
312
312
|
- !ruby/object:Gem::Version
|
313
313
|
version: '1.0'
|
314
314
|
- !ruby/object:Gem::Dependency
|
315
315
|
name: ruby-macho
|
316
316
|
requirement: !ruby/object:Gem::Requirement
|
317
317
|
requirements:
|
318
|
-
- - ~>
|
318
|
+
- - "~>"
|
319
319
|
- !ruby/object:Gem::Version
|
320
320
|
version: 0.2.5
|
321
321
|
type: :runtime
|
322
322
|
prerelease: false
|
323
323
|
version_requirements: !ruby/object:Gem::Requirement
|
324
324
|
requirements:
|
325
|
-
- - ~>
|
325
|
+
- - "~>"
|
326
326
|
- !ruby/object:Gem::Version
|
327
327
|
version: 0.2.5
|
328
328
|
- !ruby/object:Gem::Dependency
|
329
329
|
name: bacon
|
330
330
|
requirement: !ruby/object:Gem::Requirement
|
331
331
|
requirements:
|
332
|
-
- - ~>
|
332
|
+
- - "~>"
|
333
333
|
- !ruby/object:Gem::Version
|
334
334
|
version: '1.1'
|
335
335
|
type: :development
|
336
336
|
prerelease: false
|
337
337
|
version_requirements: !ruby/object:Gem::Requirement
|
338
338
|
requirements:
|
339
|
-
- - ~>
|
339
|
+
- - "~>"
|
340
340
|
- !ruby/object:Gem::Version
|
341
341
|
version: '1.1'
|
342
342
|
- !ruby/object:Gem::Dependency
|
343
343
|
name: bundler
|
344
344
|
requirement: !ruby/object:Gem::Requirement
|
345
345
|
requirements:
|
346
|
-
- - ~>
|
346
|
+
- - "~>"
|
347
347
|
- !ruby/object:Gem::Version
|
348
348
|
version: '1.3'
|
349
349
|
type: :development
|
350
350
|
prerelease: false
|
351
351
|
version_requirements: !ruby/object:Gem::Requirement
|
352
352
|
requirements:
|
353
|
-
- - ~>
|
353
|
+
- - "~>"
|
354
354
|
- !ruby/object:Gem::Version
|
355
355
|
version: '1.3'
|
356
356
|
- !ruby/object:Gem::Dependency
|
357
357
|
name: rake
|
358
358
|
requirement: !ruby/object:Gem::Requirement
|
359
359
|
requirements:
|
360
|
-
- - ~>
|
360
|
+
- - "~>"
|
361
361
|
- !ruby/object:Gem::Version
|
362
362
|
version: '10.0'
|
363
363
|
type: :development
|
364
364
|
prerelease: false
|
365
365
|
version_requirements: !ruby/object:Gem::Requirement
|
366
366
|
requirements:
|
367
|
-
- - ~>
|
367
|
+
- - "~>"
|
368
368
|
- !ruby/object:Gem::Version
|
369
369
|
version: '10.0'
|
370
370
|
description: |-
|
@@ -510,17 +510,17 @@ require_paths:
|
|
510
510
|
- lib
|
511
511
|
required_ruby_version: !ruby/object:Gem::Requirement
|
512
512
|
requirements:
|
513
|
-
- -
|
513
|
+
- - ">="
|
514
514
|
- !ruby/object:Gem::Version
|
515
515
|
version: 2.0.0
|
516
516
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
517
517
|
requirements:
|
518
|
-
- -
|
518
|
+
- - ">="
|
519
519
|
- !ruby/object:Gem::Version
|
520
520
|
version: '0'
|
521
521
|
requirements: []
|
522
522
|
rubyforge_project:
|
523
|
-
rubygems_version: 2.
|
523
|
+
rubygems_version: 2.4.5.1
|
524
524
|
signing_key:
|
525
525
|
specification_version: 3
|
526
526
|
summary: The Cocoa library package manager.
|