cocoapods-core 1.0.0.beta.5 → 1.0.0.beta.6
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 +4 -4
- data/lib/cocoapods-core.rb +1 -0
- data/lib/cocoapods-core/dependency.rb +7 -7
- data/lib/cocoapods-core/gem_version.rb +1 -1
- data/lib/cocoapods-core/github.rb +26 -0
- data/lib/cocoapods-core/master_source.rb +35 -0
- data/lib/cocoapods-core/requirement.rb +5 -5
- data/lib/cocoapods-core/source.rb +20 -6
- data/lib/cocoapods-core/source/aggregate.rb +5 -11
- data/lib/cocoapods-core/specification.rb +7 -7
- data/lib/cocoapods-core/specification/dsl.rb +5 -5
- data/lib/cocoapods-core/specification/set/presenter.rb +5 -5
- metadata +14 -13
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b116f2a8b2c3c090b6aada3e046db9d3515e538a
|
4
|
+
data.tar.gz: e4f97aed43c5b3ddc85381673e863a414796def1
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b06b2f5053a53c500861559f776f65864128c2144b1e5a7bff34d40c78811fa952b70ee112e3a2f18475962049a1e3258da1b0d32c78aa0f62ab961d4a24fe3c
|
7
|
+
data.tar.gz: 123a0a4674f478085c4abc1ba8d63b155c20b3fbc16d93b399bac5ebd0ff2d6914bb49baf8c730093a086881c61868f0829010737a5226c7a5a61ee5afbf5344
|
data/lib/cocoapods-core.rb
CHANGED
@@ -27,6 +27,7 @@ module Pod
|
|
27
27
|
autoload :Platform, 'cocoapods-core/platform'
|
28
28
|
autoload :Podfile, 'cocoapods-core/podfile'
|
29
29
|
autoload :Source, 'cocoapods-core/source'
|
30
|
+
autoload :MasterSource, 'cocoapods-core/master_source'
|
30
31
|
autoload :Specification, 'cocoapods-core/specification'
|
31
32
|
autoload :StandardError, 'cocoapods-core/standard_error'
|
32
33
|
autoload :YAMLHelper, 'cocoapods-core/yaml_helper'
|
@@ -253,13 +253,13 @@ module Pod
|
|
253
253
|
self_req = requirement
|
254
254
|
other_req = other.requirement
|
255
255
|
|
256
|
-
if other_req == default
|
257
|
-
|
258
|
-
|
259
|
-
|
260
|
-
|
261
|
-
|
262
|
-
|
256
|
+
dep = if other_req == default
|
257
|
+
self.class.new(name, self_req)
|
258
|
+
elsif self_req == default
|
259
|
+
self.class.new(name, other_req)
|
260
|
+
else
|
261
|
+
self.class.new(name, self_req.as_list.concat(other_req.as_list))
|
262
|
+
end
|
263
263
|
|
264
264
|
if external_source || other.external_source
|
265
265
|
self_external_source = external_source || {}
|
@@ -76,6 +76,32 @@ module Pod
|
|
76
76
|
end
|
77
77
|
end
|
78
78
|
|
79
|
+
# Returns whether the repository has been updated since a given commit.
|
80
|
+
# If the request fails, the response will be true as the API is still in
|
81
|
+
# beta and likely to change.
|
82
|
+
#
|
83
|
+
# @param [String] url @see #repo
|
84
|
+
#
|
85
|
+
# @param [String] commit
|
86
|
+
# The current HEAD commit.
|
87
|
+
#
|
88
|
+
# @return [Bool] Whether the repository has been updated since the commit.
|
89
|
+
#
|
90
|
+
def self.modified_since_commit(url, commit)
|
91
|
+
return true unless repo_id = normalized_repo_id(url)
|
92
|
+
require 'rest'
|
93
|
+
request_url = "https://api.github.com/repos/#{repo_id}/commits/master"
|
94
|
+
headers = {
|
95
|
+
'User-Agent' => 'CocoaPods',
|
96
|
+
'Accept' => 'application/vnd.github.chitauri-preview+sha',
|
97
|
+
'If-None-Match' => %("#{commit}"),
|
98
|
+
}
|
99
|
+
response = REST.get(request_url, headers)
|
100
|
+
code = response.status_code
|
101
|
+
|
102
|
+
code != 304
|
103
|
+
end
|
104
|
+
|
79
105
|
private
|
80
106
|
|
81
107
|
# @!group Private helpers
|
@@ -0,0 +1,35 @@
|
|
1
|
+
module Pod
|
2
|
+
class MasterSource < Source
|
3
|
+
# @!group Updating the source
|
4
|
+
#-------------------------------------------------------------------------#
|
5
|
+
|
6
|
+
# Updates the local clone of the source repo.
|
7
|
+
#
|
8
|
+
# @param [Bool] show_output
|
9
|
+
#
|
10
|
+
# @return [Array<String>] changed_spec_paths
|
11
|
+
# Returns the list of changed spec paths.
|
12
|
+
#
|
13
|
+
def update(show_output)
|
14
|
+
if requires_update?
|
15
|
+
super
|
16
|
+
else
|
17
|
+
[]
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
private
|
22
|
+
|
23
|
+
# Returns whether a source requires updating.
|
24
|
+
#
|
25
|
+
# @param [Source] source
|
26
|
+
# The source to check.
|
27
|
+
#
|
28
|
+
# @return [Bool] Whether the given source should be updated.
|
29
|
+
#
|
30
|
+
def requires_update?
|
31
|
+
commit_hash = Dir.chdir(repo) { git_commit_hash }
|
32
|
+
GitHub.modified_since_commit('CocoaPods/Specs', commit_hash)
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
@@ -82,11 +82,11 @@ module Pod
|
|
82
82
|
requirements.compact!
|
83
83
|
requirements.uniq!
|
84
84
|
|
85
|
-
if requirements.empty?
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
85
|
+
@requirements = if requirements.empty?
|
86
|
+
[DefaultRequirement]
|
87
|
+
else
|
88
|
+
requirements.map! { |r| self.class.parse r }
|
89
|
+
end
|
90
90
|
end
|
91
91
|
|
92
92
|
#
|
@@ -21,7 +21,7 @@ module Pod
|
|
21
21
|
# @param [Pathname, String] repo @see #repo.
|
22
22
|
#
|
23
23
|
def initialize(repo)
|
24
|
-
@repo = Pathname
|
24
|
+
@repo = Pathname(repo).expand_path
|
25
25
|
end
|
26
26
|
|
27
27
|
# @return [String] The name of the source.
|
@@ -39,9 +39,9 @@ module Pod
|
|
39
39
|
#
|
40
40
|
def url
|
41
41
|
Dir.chdir(repo) do
|
42
|
-
remote =
|
42
|
+
remote = git(%w(config --get remote.origin.url))
|
43
43
|
|
44
|
-
if
|
44
|
+
if !remote.empty?
|
45
45
|
remote
|
46
46
|
elsif (repo + '.git').exist?
|
47
47
|
"file://#{repo}/.git"
|
@@ -325,6 +325,11 @@ module Pod
|
|
325
325
|
# @group Private Helpers
|
326
326
|
#-------------------------------------------------------------------------#
|
327
327
|
|
328
|
+
def ensure_in_repo!
|
329
|
+
return if Pathname.pwd == repo
|
330
|
+
raise 'Must be in the root of the repo'
|
331
|
+
end
|
332
|
+
|
328
333
|
# Loads the specification for the given Pod gracefully.
|
329
334
|
#
|
330
335
|
# @param [String] name
|
@@ -363,16 +368,25 @@ module Pod
|
|
363
368
|
end
|
364
369
|
|
365
370
|
def git_commit_hash
|
366
|
-
|
371
|
+
ensure_in_repo!
|
372
|
+
git(%w(rev-parse HEAD))
|
367
373
|
end
|
368
374
|
|
369
375
|
def update_git_repo(show_output = false)
|
370
|
-
|
376
|
+
ensure_in_repo!
|
377
|
+
output = git(%w(pull --ff-only), :include_error => true)
|
371
378
|
CoreUI.puts output if show_output
|
372
379
|
end
|
373
380
|
|
374
381
|
def diff_until_commit_hash(commit_hash)
|
375
|
-
|
382
|
+
ensure_in_repo!
|
383
|
+
git(%W(diff --name-only #{commit_hash}..HEAD)).split("\n")
|
384
|
+
end
|
385
|
+
|
386
|
+
def git(args, include_error: false)
|
387
|
+
command = 'git ' << args.join(' ')
|
388
|
+
command << ' 2>&1' if include_error
|
389
|
+
(`#{command}` || '').strip
|
376
390
|
end
|
377
391
|
|
378
392
|
#-------------------------------------------------------------------------#
|
@@ -3,20 +3,14 @@ module Pod
|
|
3
3
|
# The Aggregate manages a directory of sources repositories.
|
4
4
|
#
|
5
5
|
class Aggregate
|
6
|
-
# @return [Array<
|
6
|
+
# @return [Array<Source>] The ordered list of sources.
|
7
7
|
#
|
8
|
-
attr_reader :
|
8
|
+
attr_reader :sources
|
9
9
|
|
10
|
-
# @param [Array<
|
10
|
+
# @param [Array<Source>] repos_dirs @see Sources
|
11
11
|
#
|
12
|
-
def initialize(
|
13
|
-
@
|
14
|
-
end
|
15
|
-
|
16
|
-
# @return [Array<Source>] The ordered list of the sources.
|
17
|
-
#
|
18
|
-
def sources
|
19
|
-
@sources ||= directories.map { |repo| Source.new(repo) }
|
12
|
+
def initialize(sources)
|
13
|
+
@sources = sources
|
20
14
|
end
|
21
15
|
|
22
16
|
# @return [Array<String>] the names of all the pods available.
|
@@ -265,13 +265,13 @@ module Pod
|
|
265
265
|
# @return [Array<Dependency>] the dependencies on subspecs.
|
266
266
|
#
|
267
267
|
def subspec_dependencies(platform = nil)
|
268
|
-
if default_subspecs.empty?
|
269
|
-
|
270
|
-
|
271
|
-
|
272
|
-
|
273
|
-
|
274
|
-
|
268
|
+
specs = if default_subspecs.empty?
|
269
|
+
subspecs.compact
|
270
|
+
else
|
271
|
+
default_subspecs.map do |subspec_name|
|
272
|
+
root.subspec_by_name("#{name}/#{subspec_name}")
|
273
|
+
end
|
274
|
+
end
|
275
275
|
if platform
|
276
276
|
specs = specs.select { |s| s.supported_on_platform?(platform) }
|
277
277
|
end
|
@@ -513,11 +513,11 @@ module Pod
|
|
513
513
|
#
|
514
514
|
def platform=(args)
|
515
515
|
name, deployment_target = args
|
516
|
-
if name
|
517
|
-
|
518
|
-
|
519
|
-
|
520
|
-
|
516
|
+
attributes_hash['platforms'] = if name
|
517
|
+
{ name.to_s => deployment_target }
|
518
|
+
else
|
519
|
+
{}
|
520
|
+
end
|
521
521
|
end
|
522
522
|
|
523
523
|
#------------------#
|
@@ -122,11 +122,11 @@ module Pod
|
|
122
122
|
def deprecation_description
|
123
123
|
if spec.deprecated?
|
124
124
|
description = '[DEPRECATED'
|
125
|
-
if spec.deprecated_in_favor_of.nil?
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
125
|
+
description += if spec.deprecated_in_favor_of.nil?
|
126
|
+
']'
|
127
|
+
else
|
128
|
+
" in favor of #{spec.deprecated_in_favor_of}]"
|
129
|
+
end
|
130
130
|
|
131
131
|
description
|
132
132
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cocoapods-core
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.0.beta.
|
4
|
+
version: 1.0.0.beta.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Eloy Duran
|
@@ -9,62 +9,62 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2016-03-
|
12
|
+
date: 2016-03-14 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: activesupport
|
16
16
|
requirement: !ruby/object:Gem::Requirement
|
17
17
|
requirements:
|
18
|
-
- -
|
18
|
+
- - '>='
|
19
19
|
- !ruby/object:Gem::Version
|
20
20
|
version: 4.0.2
|
21
21
|
type: :runtime
|
22
22
|
prerelease: false
|
23
23
|
version_requirements: !ruby/object:Gem::Requirement
|
24
24
|
requirements:
|
25
|
-
- -
|
25
|
+
- - '>='
|
26
26
|
- !ruby/object:Gem::Version
|
27
27
|
version: 4.0.2
|
28
28
|
- !ruby/object:Gem::Dependency
|
29
29
|
name: nap
|
30
30
|
requirement: !ruby/object:Gem::Requirement
|
31
31
|
requirements:
|
32
|
-
- -
|
32
|
+
- - ~>
|
33
33
|
- !ruby/object:Gem::Version
|
34
34
|
version: '1.0'
|
35
35
|
type: :runtime
|
36
36
|
prerelease: false
|
37
37
|
version_requirements: !ruby/object:Gem::Requirement
|
38
38
|
requirements:
|
39
|
-
- -
|
39
|
+
- - ~>
|
40
40
|
- !ruby/object:Gem::Version
|
41
41
|
version: '1.0'
|
42
42
|
- !ruby/object:Gem::Dependency
|
43
43
|
name: fuzzy_match
|
44
44
|
requirement: !ruby/object:Gem::Requirement
|
45
45
|
requirements:
|
46
|
-
- -
|
46
|
+
- - ~>
|
47
47
|
- !ruby/object:Gem::Version
|
48
48
|
version: 2.0.4
|
49
49
|
type: :runtime
|
50
50
|
prerelease: false
|
51
51
|
version_requirements: !ruby/object:Gem::Requirement
|
52
52
|
requirements:
|
53
|
-
- -
|
53
|
+
- - ~>
|
54
54
|
- !ruby/object:Gem::Version
|
55
55
|
version: 2.0.4
|
56
56
|
- !ruby/object:Gem::Dependency
|
57
57
|
name: bacon
|
58
58
|
requirement: !ruby/object:Gem::Requirement
|
59
59
|
requirements:
|
60
|
-
- -
|
60
|
+
- - ~>
|
61
61
|
- !ruby/object:Gem::Version
|
62
62
|
version: '1.1'
|
63
63
|
type: :development
|
64
64
|
prerelease: false
|
65
65
|
version_requirements: !ruby/object:Gem::Requirement
|
66
66
|
requirements:
|
67
|
-
- -
|
67
|
+
- - ~>
|
68
68
|
- !ruby/object:Gem::Version
|
69
69
|
version: '1.1'
|
70
70
|
description: |-
|
@@ -87,6 +87,7 @@ files:
|
|
87
87
|
- lib/cocoapods-core/github.rb
|
88
88
|
- lib/cocoapods-core/http.rb
|
89
89
|
- lib/cocoapods-core/lockfile.rb
|
90
|
+
- lib/cocoapods-core/master_source.rb
|
90
91
|
- lib/cocoapods-core/metrics.rb
|
91
92
|
- lib/cocoapods-core/platform.rb
|
92
93
|
- lib/cocoapods-core/podfile.rb
|
@@ -127,17 +128,17 @@ require_paths:
|
|
127
128
|
- lib
|
128
129
|
required_ruby_version: !ruby/object:Gem::Requirement
|
129
130
|
requirements:
|
130
|
-
- -
|
131
|
+
- - '>='
|
131
132
|
- !ruby/object:Gem::Version
|
132
133
|
version: 2.0.0
|
133
134
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
134
135
|
requirements:
|
135
|
-
- -
|
136
|
+
- - '>='
|
136
137
|
- !ruby/object:Gem::Version
|
137
138
|
version: '0'
|
138
139
|
requirements: []
|
139
140
|
rubyforge_project:
|
140
|
-
rubygems_version: 2.6.
|
141
|
+
rubygems_version: 2.6.2
|
141
142
|
signing_key:
|
142
143
|
specification_version: 3
|
143
144
|
summary: The models of CocoaPods
|