cocoapods-art 1.0.2 → 1.1.0
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/Gemfile.lock +95 -0
- data/README.md +14 -0
- data/checkout.sh +2 -0
- data/cocoapods_art.gemspec +23 -0
- data/lib/cocoapods_art.rb +1 -1
- data/lib/cocoapods_plugin.rb +53 -5
- data/lib/pod/command/repo_art/add.rb +1 -1
- metadata +8 -6
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 6766dae826818897438c0508ad91862de9ed358fa0ae373c12f321bacd1a9e56
|
|
4
|
+
data.tar.gz: 64a40d3fcf1774c102b492fff4bd0dbe0c9f83939ffe5be87fef4ffd115ed8f7
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 71ef2693733214201065da26895dd4c70f8734172025a43ef424a3fd2550e1b9f5b6ecff38af6cd5d925a87d028ef1d4111441d764522d992c9993722835d110
|
|
7
|
+
data.tar.gz: 14c9d9a133c9286e2ef159c886813b6b681769f6e2a01252ad475033d2fd30f1a54455e61265bc121885d5b7f351b01589219bb9aaf0b1e05dd25fc872fe595b
|
data/Gemfile.lock
ADDED
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
PATH
|
|
2
|
+
remote: .
|
|
3
|
+
specs:
|
|
4
|
+
cocoapods-art (1.0.4)
|
|
5
|
+
|
|
6
|
+
GEM
|
|
7
|
+
remote: https://rubygems.org/
|
|
8
|
+
specs:
|
|
9
|
+
CFPropertyList (3.0.1)
|
|
10
|
+
activesupport (4.2.11.1)
|
|
11
|
+
i18n (~> 0.7)
|
|
12
|
+
minitest (~> 5.1)
|
|
13
|
+
thread_safe (~> 0.3, >= 0.3.4)
|
|
14
|
+
tzinfo (~> 1.1)
|
|
15
|
+
algoliasearch (1.27.0)
|
|
16
|
+
httpclient (~> 2.8, >= 2.8.3)
|
|
17
|
+
json (>= 1.5.1)
|
|
18
|
+
atomos (0.1.3)
|
|
19
|
+
claide (1.0.3)
|
|
20
|
+
cocoapods (1.9.3)
|
|
21
|
+
activesupport (>= 4.0.2, < 5)
|
|
22
|
+
claide (>= 1.0.2, < 2.0)
|
|
23
|
+
cocoapods-core (= 1.9.3)
|
|
24
|
+
cocoapods-deintegrate (>= 1.0.3, < 2.0)
|
|
25
|
+
cocoapods-downloader (>= 1.2.2, < 2.0)
|
|
26
|
+
cocoapods-plugins (>= 1.0.0, < 2.0)
|
|
27
|
+
cocoapods-search (>= 1.0.0, < 2.0)
|
|
28
|
+
cocoapods-stats (>= 1.0.0, < 2.0)
|
|
29
|
+
cocoapods-trunk (>= 1.4.0, < 2.0)
|
|
30
|
+
cocoapods-try (>= 1.1.0, < 2.0)
|
|
31
|
+
colored2 (~> 3.1)
|
|
32
|
+
escape (~> 0.0.4)
|
|
33
|
+
fourflusher (>= 2.3.0, < 3.0)
|
|
34
|
+
gh_inspector (~> 1.0)
|
|
35
|
+
molinillo (~> 0.6.6)
|
|
36
|
+
nap (~> 1.0)
|
|
37
|
+
ruby-macho (~> 1.4)
|
|
38
|
+
xcodeproj (>= 1.11.1, < 2.0)
|
|
39
|
+
cocoapods-core (1.9.3)
|
|
40
|
+
activesupport (>= 4.0.2, < 6)
|
|
41
|
+
algoliasearch (~> 1.0)
|
|
42
|
+
concurrent-ruby (~> 1.0)
|
|
43
|
+
fuzzy_match (~> 2.0.4)
|
|
44
|
+
nap (~> 1.0)
|
|
45
|
+
cocoapods-deintegrate (1.0.4)
|
|
46
|
+
cocoapods-downloader (1.4.0)
|
|
47
|
+
cocoapods-plugins (1.0.0)
|
|
48
|
+
nap
|
|
49
|
+
cocoapods-search (1.0.0)
|
|
50
|
+
cocoapods-stats (1.1.0)
|
|
51
|
+
cocoapods-trunk (1.4.0)
|
|
52
|
+
nap (>= 0.8, < 2.0)
|
|
53
|
+
netrc (~> 0.11)
|
|
54
|
+
cocoapods-try (1.1.0)
|
|
55
|
+
colored2 (3.1.2)
|
|
56
|
+
concurrent-ruby (1.1.5)
|
|
57
|
+
escape (0.0.4)
|
|
58
|
+
fourflusher (2.3.1)
|
|
59
|
+
fuzzy_match (2.0.4)
|
|
60
|
+
gh_inspector (1.1.3)
|
|
61
|
+
httpclient (2.8.3)
|
|
62
|
+
i18n (0.9.5)
|
|
63
|
+
concurrent-ruby (~> 1.0)
|
|
64
|
+
json (2.2.0)
|
|
65
|
+
minitest (5.12.0)
|
|
66
|
+
molinillo (0.6.6)
|
|
67
|
+
nanaimo (0.2.6)
|
|
68
|
+
nap (1.1.0)
|
|
69
|
+
netrc (0.11.0)
|
|
70
|
+
rake (0.9.6)
|
|
71
|
+
ruby-macho (1.4.0)
|
|
72
|
+
thread_safe (0.3.6)
|
|
73
|
+
tzinfo (1.2.5)
|
|
74
|
+
thread_safe (~> 0.1)
|
|
75
|
+
xcodeproj (1.12.0)
|
|
76
|
+
CFPropertyList (>= 2.3.3, < 4.0)
|
|
77
|
+
atomos (~> 0.1.3)
|
|
78
|
+
claide (>= 1.0.2, < 2.0)
|
|
79
|
+
colored2 (~> 3.1)
|
|
80
|
+
nanaimo (~> 0.2.6)
|
|
81
|
+
|
|
82
|
+
PLATFORMS
|
|
83
|
+
ruby
|
|
84
|
+
|
|
85
|
+
DEPENDENCIES
|
|
86
|
+
bundler (~> 2.0.2)
|
|
87
|
+
claide
|
|
88
|
+
cocoapods
|
|
89
|
+
cocoapods-art!
|
|
90
|
+
cocoapods-core
|
|
91
|
+
cocoapods-downloader
|
|
92
|
+
rake (~> 0)
|
|
93
|
+
|
|
94
|
+
BUNDLED WITH
|
|
95
|
+
2.0.2
|
data/README.md
CHANGED
|
@@ -33,6 +33,20 @@ If your .netrc file is not located in your home directory, you can specify its l
|
|
|
33
33
|
export COCOAPODS_ART_NETRC_PATH=$HOME/myproject/.netrc
|
|
34
34
|
```
|
|
35
35
|
|
|
36
|
+
Alternatively, you can specify a username and password/API key directly from an environment variable rather than utilizing the .netrc file, by setting the value of `COCOAPODS_ART_CREDENTIALS` to your Artifactory username and the password separated by a colon:
|
|
37
|
+
|
|
38
|
+
```
|
|
39
|
+
export COCOAPODS_ART_CREDENTIALS="admin:password"
|
|
40
|
+
````
|
|
41
|
+
|
|
42
|
+
If the `COCOAPODS_ART_CREDENTIALS` variable is set, its value will supersede any credentials specified in your .netrc file, causing them to be ignored.
|
|
43
|
+
|
|
44
|
+
You could set the following environment variable: COCOAPODS_ART_SSL_NO_REVOKE, this will add the flag --ssl-no-revoke to curl command.
|
|
45
|
+
If your are running on an environment where access to CRL isn't available you would still be able to access Artifactory via HTTPS using the cocoapods-art plugin on windows.
|
|
46
|
+
```
|
|
47
|
+
set COCOAPODS_ART_SSL_NO_REVOKE=true
|
|
48
|
+
```
|
|
49
|
+
|
|
36
50
|
## Artifactory Configuration
|
|
37
51
|
See the [Artifactory User Guide](https://www.jfrog.com/confluence/display/RTF/CocoaPods+Repositories)
|
|
38
52
|
|
data/checkout.sh
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# coding: utf-8
|
|
2
|
+
lib = File.expand_path('../lib', __FILE__)
|
|
3
|
+
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
|
4
|
+
require 'cocoapods_art'
|
|
5
|
+
|
|
6
|
+
Gem::Specification.new do |spec|
|
|
7
|
+
spec.name = 'cocoapods-art'
|
|
8
|
+
spec.version = CocoaPodsArt::VERSION
|
|
9
|
+
spec.authors = ['Dan Feldman']
|
|
10
|
+
spec.email = ['art-dev@jfrog.com']
|
|
11
|
+
spec.description = %q{Enables you to use Artifactory as your spec repo, as well as a repository for your pods}
|
|
12
|
+
spec.summary = %q{Artifactory support for CocoaPods}
|
|
13
|
+
spec.homepage = 'https://github.com/JFrogDev/cocoapods-art'
|
|
14
|
+
spec.license = 'Apache-2.0'
|
|
15
|
+
|
|
16
|
+
spec.files = Dir['lib/**/*.rb']
|
|
17
|
+
spec.files += Dir['[A-Z]*'] + Dir['test/**/*']
|
|
18
|
+
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
|
19
|
+
spec.require_paths = ['lib']
|
|
20
|
+
|
|
21
|
+
spec.add_development_dependency 'bundler', '~> 2.0.2'
|
|
22
|
+
spec.add_development_dependency 'rake', '~> 0'
|
|
23
|
+
end
|
data/lib/cocoapods_art.rb
CHANGED
data/lib/cocoapods_plugin.rb
CHANGED
|
@@ -44,19 +44,35 @@ module Pod
|
|
|
44
44
|
class Http
|
|
45
45
|
# Force flattening of index downloads with :indexDownload => true
|
|
46
46
|
def self.options
|
|
47
|
-
[:type, :flatten, :sha1, :sha256, :indexDownload]
|
|
47
|
+
[:type, :flatten, :sha1, :sha256, :indexDownload, :headers]
|
|
48
48
|
end
|
|
49
49
|
|
|
50
50
|
alias_method :orig_download_file, :download_file
|
|
51
51
|
alias_method :orig_should_flatten?, :should_flatten?
|
|
52
52
|
|
|
53
53
|
def download_file(full_filename)
|
|
54
|
-
|
|
54
|
+
parameters = ["-f", "-L", "-o", full_filename, url, "--create-dirs", "--netrc-optional", '--retry', '2']
|
|
55
|
+
parameters << user_agent_argument if headers.nil? ||
|
|
56
|
+
headers.none? { |header| header.casecmp(USER_AGENT_HEADER).zero? }
|
|
57
|
+
|
|
58
|
+
ssl_conf = ["--cert", `git config --global http.sslcert`.gsub("\n", ""), "--key", `git config --global http.sslkey`.gsub("\n", "")]
|
|
59
|
+
parameters.concat(ssl_conf) if !ssl_conf.any?(&:blank?)
|
|
55
60
|
|
|
56
61
|
netrc_path = ENV["COCOAPODS_ART_NETRC_PATH"]
|
|
57
|
-
|
|
62
|
+
parameters.concat(["--netrc-file", Pathname.new(netrc_path).expand_path]) if netrc_path
|
|
63
|
+
|
|
64
|
+
art_credentials = ENV["COCOAPODS_ART_CREDENTIALS"]
|
|
65
|
+
parameters.concat(["--user", art_credentials]) if art_credentials
|
|
66
|
+
|
|
67
|
+
winssl_no_revoke = ENV["COCOAPODS_ART_SSL_NO_REVOKE"]
|
|
68
|
+
parameters.concat(["--ssl-no-revoke"]) if defined? winssl_no_revoke && "true".casecmp(winssl_no_revoke)
|
|
58
69
|
|
|
59
|
-
|
|
70
|
+
headers.each do |h|
|
|
71
|
+
parameters << '-H'
|
|
72
|
+
parameters << h
|
|
73
|
+
end unless headers.nil?
|
|
74
|
+
|
|
75
|
+
curl! parameters
|
|
60
76
|
end
|
|
61
77
|
|
|
62
78
|
# Note that we disabled flattening here for the ENTIRE client to deal with
|
|
@@ -103,4 +119,36 @@ module Pod
|
|
|
103
119
|
end
|
|
104
120
|
end
|
|
105
121
|
end
|
|
106
|
-
|
|
122
|
+
end
|
|
123
|
+
|
|
124
|
+
module Pod
|
|
125
|
+
class Source
|
|
126
|
+
class Manager
|
|
127
|
+
|
|
128
|
+
alias_method :orig_source_from_path, :source_from_path
|
|
129
|
+
|
|
130
|
+
# @return [Source] The Source at a given path.
|
|
131
|
+
#
|
|
132
|
+
# @param [Pathname] path
|
|
133
|
+
# The local file path to one podspec repo.
|
|
134
|
+
#
|
|
135
|
+
def source_from_path(path)
|
|
136
|
+
@sources_by_path ||= Hash.new do |hash, key|
|
|
137
|
+
art_repo = "#{UTIL.get_repos_art_dir()}/#{key.basename}"
|
|
138
|
+
hash[key] = case
|
|
139
|
+
when key.basename.to_s == Pod::TrunkSource::TRUNK_REPO_NAME
|
|
140
|
+
TrunkSource.new(key)
|
|
141
|
+
when (key + '.url').exist?
|
|
142
|
+
CDNSource.new(key)
|
|
143
|
+
when File.exist?("#{art_repo}/.artpodrc")
|
|
144
|
+
create_source_from_name(key.basename)
|
|
145
|
+
else
|
|
146
|
+
Source.new(key)
|
|
147
|
+
end
|
|
148
|
+
end
|
|
149
|
+
@sources_by_path[path]
|
|
150
|
+
end
|
|
151
|
+
|
|
152
|
+
end
|
|
153
|
+
end
|
|
154
|
+
end
|
|
@@ -36,7 +36,7 @@ module Pod
|
|
|
36
36
|
UI.section("Retrieving index from `#{@url}` into local spec repo `#{@name}`") do
|
|
37
37
|
# Check if a repo with the same name under repos/ already exists
|
|
38
38
|
repos_path = "#{Pod::Config.instance.home_dir}/repos"
|
|
39
|
-
raise Informative, "Path repos_path/#{@name} already exists - remove it first, "\
|
|
39
|
+
raise Informative, "Path #{repos_path}/#{@name} already exists - remove it first, "\
|
|
40
40
|
"or run 'pod repo-art update #{@name}' to update it" if File.exist?("#{repos_path}/#{@name}") && !@silent
|
|
41
41
|
|
|
42
42
|
# Check if a repo with the same name under repo-art/ already exists
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: cocoapods-art
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.0
|
|
4
|
+
version: 1.1.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Dan Feldman
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
11
|
+
date: 2021-08-13 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: bundler
|
|
@@ -16,14 +16,14 @@ dependencies:
|
|
|
16
16
|
requirements:
|
|
17
17
|
- - "~>"
|
|
18
18
|
- !ruby/object:Gem::Version
|
|
19
|
-
version:
|
|
19
|
+
version: 2.0.2
|
|
20
20
|
type: :development
|
|
21
21
|
prerelease: false
|
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
|
23
23
|
requirements:
|
|
24
24
|
- - "~>"
|
|
25
25
|
- !ruby/object:Gem::Version
|
|
26
|
-
version:
|
|
26
|
+
version: 2.0.2
|
|
27
27
|
- !ruby/object:Gem::Dependency
|
|
28
28
|
name: rake
|
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -47,9 +47,12 @@ extensions: []
|
|
|
47
47
|
extra_rdoc_files: []
|
|
48
48
|
files:
|
|
49
49
|
- Gemfile
|
|
50
|
+
- Gemfile.lock
|
|
50
51
|
- LICENSE
|
|
51
52
|
- README.md
|
|
52
53
|
- Rakefile
|
|
54
|
+
- checkout.sh
|
|
55
|
+
- cocoapods_art.gemspec
|
|
53
56
|
- lib/art_source.rb
|
|
54
57
|
- lib/cocoapods_art.rb
|
|
55
58
|
- lib/cocoapods_plugin.rb
|
|
@@ -81,8 +84,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
81
84
|
- !ruby/object:Gem::Version
|
|
82
85
|
version: '0'
|
|
83
86
|
requirements: []
|
|
84
|
-
|
|
85
|
-
rubygems_version: 2.7.6
|
|
87
|
+
rubygems_version: 3.0.3
|
|
86
88
|
signing_key:
|
|
87
89
|
specification_version: 4
|
|
88
90
|
summary: Artifactory support for CocoaPods
|