cocoapods-art 1.0.2 → 1.1.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
  SHA256:
3
- metadata.gz: 870aa39f965c0b9299969cfeb721dd7e2a99fb127f8897b6cd4a4625ba4d97a9
4
- data.tar.gz: d45dc5116f076aa0e6470398c3f337e7511fee88402ea6965acd8a7c8699220b
3
+ metadata.gz: f0ff219d0ac2f827dc85d6511ac50ccfb1d00a9167fc4c66d059ed35771743f5
4
+ data.tar.gz: a4e1d1a9b398bbb0e6c314f81f2acc38df05c90eb54716dd69cb49b40bc19a15
5
5
  SHA512:
6
- metadata.gz: f3d8d53970f76ac2044a709356e96a134305b7782967712a4b46681b8d08537b4397355aa0f5850df8bfaee27a86da724de787e9f7297ccd7b3774c298100447
7
- data.tar.gz: 49f413bcae0b4354aff602ab23883126f51741ef5cc01e2f13cdd5b15eb082cad181290801725c2299be9b491fd44debf6b66ba9a23a3042b0f8bf69c8f01acb
6
+ metadata.gz: 90bc4a6827af83a8e995485f5dcabf90a1d3ca44e225d40f6a3c0099e4fccac6b03bb10ad39acf1f370682d596dfacd438377c0f5ddb71d7424045dc81e896aa
7
+ data.tar.gz: 7c0d69d31007bc0fd636b4e11ecbfe11ee08d11a91d70339644ebe6bcc661d06c66316b7de2fa357e21840d38a71d13e9f57147c4414146fa1b5f20e3b4846db
data/Gemfile.lock ADDED
@@ -0,0 +1,107 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ cocoapods-art (1.1.1)
5
+
6
+ GEM
7
+ remote: https://rubygems.org/
8
+ specs:
9
+ CFPropertyList (3.0.6)
10
+ rexml
11
+ activesupport (7.0.7.2)
12
+ concurrent-ruby (~> 1.0, >= 1.0.2)
13
+ i18n (>= 1.6, < 2)
14
+ minitest (>= 5.1)
15
+ tzinfo (~> 2.0)
16
+ addressable (2.8.5)
17
+ public_suffix (>= 2.0.2, < 6.0)
18
+ algoliasearch (1.27.5)
19
+ httpclient (~> 2.8, >= 2.8.3)
20
+ json (>= 1.5.1)
21
+ atomos (0.1.3)
22
+ claide (1.1.0)
23
+ cocoapods (1.12.1)
24
+ addressable (~> 2.8)
25
+ claide (>= 1.0.2, < 2.0)
26
+ cocoapods-core (= 1.12.1)
27
+ cocoapods-deintegrate (>= 1.0.3, < 2.0)
28
+ cocoapods-downloader (>= 1.6.0, < 2.0)
29
+ cocoapods-plugins (>= 1.0.0, < 2.0)
30
+ cocoapods-search (>= 1.0.0, < 2.0)
31
+ cocoapods-trunk (>= 1.6.0, < 2.0)
32
+ cocoapods-try (>= 1.1.0, < 2.0)
33
+ colored2 (~> 3.1)
34
+ escape (~> 0.0.4)
35
+ fourflusher (>= 2.3.0, < 3.0)
36
+ gh_inspector (~> 1.0)
37
+ molinillo (~> 0.8.0)
38
+ nap (~> 1.0)
39
+ ruby-macho (>= 2.3.0, < 3.0)
40
+ xcodeproj (>= 1.21.0, < 2.0)
41
+ cocoapods-core (1.12.1)
42
+ activesupport (>= 5.0, < 8)
43
+ addressable (~> 2.8)
44
+ algoliasearch (~> 1.0)
45
+ concurrent-ruby (~> 1.1)
46
+ fuzzy_match (~> 2.0.4)
47
+ nap (~> 1.0)
48
+ netrc (~> 0.11)
49
+ public_suffix (~> 4.0)
50
+ typhoeus (~> 1.0)
51
+ cocoapods-deintegrate (1.0.5)
52
+ cocoapods-downloader (1.6.3)
53
+ cocoapods-plugins (1.0.0)
54
+ nap
55
+ cocoapods-search (1.0.1)
56
+ cocoapods-trunk (1.6.0)
57
+ nap (>= 0.8, < 2.0)
58
+ netrc (~> 0.11)
59
+ cocoapods-try (1.2.0)
60
+ colored2 (3.1.2)
61
+ concurrent-ruby (1.2.2)
62
+ escape (0.0.4)
63
+ ethon (0.16.0)
64
+ ffi (>= 1.15.0)
65
+ ffi (1.15.5)
66
+ fourflusher (2.3.1)
67
+ fuzzy_match (2.0.4)
68
+ gh_inspector (1.1.3)
69
+ httpclient (2.8.3)
70
+ i18n (1.14.1)
71
+ concurrent-ruby (~> 1.0)
72
+ json (2.6.3)
73
+ minitest (5.19.0)
74
+ molinillo (0.8.0)
75
+ nanaimo (0.3.0)
76
+ nap (1.1.0)
77
+ netrc (0.11.0)
78
+ public_suffix (4.0.7)
79
+ rake (0.9.6)
80
+ rexml (3.2.6)
81
+ ruby-macho (2.5.1)
82
+ typhoeus (1.4.0)
83
+ ethon (>= 0.9.0)
84
+ tzinfo (2.0.6)
85
+ concurrent-ruby (~> 1.0)
86
+ xcodeproj (1.22.0)
87
+ CFPropertyList (>= 2.3.3, < 4.0)
88
+ atomos (~> 0.1.3)
89
+ claide (>= 1.0.2, < 2.0)
90
+ colored2 (~> 3.1)
91
+ nanaimo (~> 0.3.0)
92
+ rexml (~> 3.2.4)
93
+
94
+ PLATFORMS
95
+ ruby
96
+
97
+ DEPENDENCIES
98
+ bundler (~> 2.4.19)
99
+ claide
100
+ cocoapods
101
+ cocoapods-art!
102
+ cocoapods-core
103
+ cocoapods-downloader
104
+ rake (~> 0)
105
+
106
+ BUNDLED WITH
107
+ 2.4.19
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,2 @@
1
+ git fetch origin pull/$1/head:pr-$1
2
+ git checkout pr-$1
Binary file
@@ -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.4.19'
22
+ spec.add_development_dependency 'rake', '~> 0'
23
+ end
data/lib/cocoapods_art.rb CHANGED
@@ -2,5 +2,5 @@
2
2
  # The namespace of the CocoaPods Artifactory plugin.
3
3
  #
4
4
  module CocoaPodsArt
5
- VERSION = '1.0.2'
5
+ VERSION = '1.1.1'
6
6
  end
@@ -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
- curl_options = ["-f", "-L", "-o", full_filename, url, "--create-dirs", "--netrc-optional"]
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
- curl_options.concat(["--netrc-file", Pathname.new(netrc_path).expand_path]) if netrc_path
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
- curl! curl_options
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
- end
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.2
4
+ version: 1.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dan Feldman
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-11-21 00:00:00.000000000 Z
11
+ date: 2023-10-03 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: '1.3'
19
+ version: 2.4.19
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: '1.3'
26
+ version: 2.4.19
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: rake
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -47,9 +47,13 @@ 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-1.1.0.gem
56
+ - cocoapods_art.gemspec
53
57
  - lib/art_source.rb
54
58
  - lib/cocoapods_art.rb
55
59
  - lib/cocoapods_plugin.rb
@@ -81,8 +85,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
81
85
  - !ruby/object:Gem::Version
82
86
  version: '0'
83
87
  requirements: []
84
- rubyforge_project:
85
- rubygems_version: 2.7.6
88
+ rubygems_version: 3.0.3.1
86
89
  signing_key:
87
90
  specification_version: 4
88
91
  summary: Artifactory support for CocoaPods