Code Monkey home page Code Monkey logo

cocoapods-art's Introduction

Gem Version

cocoapods-art

A CocoaPods Plugin to work with Artifactory Repository

Installation

gem install cocoapods-art

Client Configuration

To add an Artifactory repository named 'myRepo' to your client:

pod repo-art add artifactory-local http://art-prod.company.com:8081/artifactory/api/pods/myRepo

To use 'myRepo' to resolve pods when installing you must add the following to your Podfile:

plugin 'cocoapods-art', :sources => [
  '<local_specs_repo_name>'    
] 

More than one source can be included, separated by commas.

For authenticated access, please add the user and password to your .netrc file:

machine art-prod.company.com
login admin
password password

You can also use an encrypted Artifactory password or your API key

If your .netrc file is not located in your home directory, you can specify its location in the environmental variable:

export COCOAPODS_ART_NETRC_PATH=$HOME/myproject/.netrc

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:

export COCOAPODS_ART_CREDENTIALS="admin:password"

If the COCOAPODS_ART_CREDENTIALS variable is set, its value will supersede any credentials specified in your .netrc file, causing them to be ignored.

You could set the following environment variable: COCOAPODS_ART_SSL_NO_REVOKE, this will add the flag --ssl-no-revoke to curl command. 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.

set COCOAPODS_ART_SSL_NO_REVOKE=true

Artifactory Configuration

See the Artifactory User Guide

The cocoapods-art plugin exposes all pod repo commands by using pod repo-art:

pod repo-art add
pod repo-art lint
pod repo-art list
pod repo-art remove
pod repo-art update

Special notes

Contrary to the default behavior, the cocoapods-art plugin does not implicitly update your sources when actions such as add run. To update a repo use pod repo-art update

pod repo-art update is an accumulative operation, meaning that it does not remove entries which do not exist in the Artifactory backend in order to preserve entries that were created with the --local-only flag. To have all such entries removed use the update command with the --prune flag.

cocoapods-art's People

Contributors

alwold avatar ashton-w avatar dimanevelev avatar elig avatar eyalbe4 avatar jasonschroeder-sfdc avatar lursk avatar mamilov avatar marchinram avatar robinino avatar shayfisher avatar sphanley avatar torfinnberset avatar yahavi avatar yulingtianxia avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

cocoapods-art's Issues

1.0.4 breaks with Cocoapods 1.7

I see that changes introduced in #37 changed MasterSource to TrunkSource in order support Cocoapods 1.8, but there is no backwards compatibility with 1.7. Can we add a version check here to support older versions of Cocoapods?

pod install fails if published JSON podspec is missing 'source' attribute

When I publish a pod to Artifactory, I can use both a Ruby podspecs and a JSON podspec.

If I push a Ruby podspec without setting the 'source' attribute, everything works fine: when I fetch it using pod repo-art update command, the downloaded spec has the 'source' attribute automatically set by Artifactory, and pod install can use that pod with no issue.

If I instead push a JSON podspec without setting the 'source' attribute, everything works bad: when I fetch it using pod repo-art update command, the downloaded spec doesn't have the 'source' attribute, and pod install fails to install that pod with this error:


ArgumentError - Requires params
/Library/Ruby/Gems/2.0.0/gems/cocoapods-1.1.1/lib/cocoapods/downloader/request.rb:82:in `validate!'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-1.1.1/lib/cocoapods/downloader/request.rb:46:in `initialize'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-1.1.1/lib/cocoapods/installer/pod_source_installer.rb:128:in `new'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-1.1.1/lib/cocoapods/installer/pod_source_installer.rb:128:in `download_request'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-1.1.1/lib/cocoapods/installer/pod_source_installer.rb:120:in `download_source'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-1.1.1/lib/cocoapods/installer/pod_source_installer.rb:60:in `install!'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-1.1.1/lib/cocoapods/installer.rb:355:in `install_source_of_pod'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-1.1.1/lib/cocoapods/installer.rb:322:in `block (2 levels) in install_pod_sources'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-1.1.1/lib/cocoapods/user_interface.rb:85:in `titled_section'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-1.1.1/lib/cocoapods/installer.rb:321:in `block in install_pod_sources'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-1.1.1/lib/cocoapods/installer.rb:313:in `each'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-1.1.1/lib/cocoapods/installer.rb:313:in `install_pod_sources'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-1.1.1/lib/cocoapods/installer.rb:159:in `block in download_dependencies'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-1.1.1/lib/cocoapods/user_interface.rb:64:in `section'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-1.1.1/lib/cocoapods/installer.rb:157:in `download_dependencies'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-1.1.1/lib/cocoapods/installer.rb:111:in `install!'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-1.1.1/lib/cocoapods/command/install.rb:37:in `run'
/Library/Ruby/Gems/2.0.0/gems/claide-1.0.1/lib/claide/command.rb:334:in `run'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-1.1.1/lib/cocoapods/command.rb:50:in `run'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-1.1.1/bin/pod:55:in `'
/usr/local/bin/pod:23:in `load'
/usr/local/bin/pod:23:in `'

Unable to find a specification for pods that exist in remote

I have cocoapods v1.10.1 and cocoapods-art v1.0.5 installed.

My pod file looks like this:

platform :ios, '12.0'

plugin 'cocoapods-art', :sources => [
    'cocoaPods-remote'
]

target 'MyApp' do
    inhibit_all_warnings!
    use_frameworks!

    pod 'Adjust', '4.28.0'
    pod 'AdobeMobileSDK', '4.20.0'
    pod 'Firebase/Core', '6.34.0'
    pod 'Firebase/RemoteConfig', '6.34.0'
    pod 'Firebase/Messaging', '6.34.0'
    pod 'Firebase/Crashlytics', '6.34.0'
    pod 'Firebase/Analytics', '6.34.0'
    pod 'GoogleAppMeasurement', '6.9.0'

end

I have only 1 remote repo ("cocoaPods-remote") where all my dependencies should pull from.

$ pod repo

0 repos

$ pod repo-art

cocoaPods-remote
- URL: https://artifactory.[redacted]/artifactory/api/pods/cocoaPods-remote
- Path: /Users/[redacted]/.cocoapods/repos-art/cocoaPods-remote/

1 repo

The "cocoaPods-remote" repo has been installed locally and when I run the pod install --repo-update command I get the following error:

$ pod install --repo-update
/Users/[redacted]/.cocoapods/repos-art/cocoaPods-remote/.artpodrc
Analyzing dependencies
/Users/[redacted]/.cocoapods/repos-art/cocoaPods-remote/.artpodrc
[!] Unable to find a specification for `Adjust (= 4.28.0)`

You have either:
 * out-of-date source repos which you can update with `pod repo update` or with `pod install --repo-update`.
 * mistyped the name or version.

I've tried multiple different versions of CocoaPods and still same issue.
I've following the documentation in artifacory about setting this up but it hasn't changed anything.
I'm not sure what else to try, any suggestions would be helpful.

Plugin is incompatible with http headers option

https://github.com/jfrog/cocoapods-art/blob/master/lib/cocoapods_plugin.rb is overriding Pod::Downloader::Http, and the contents of this PR are not in the artifactory version. CocoaPods/cocoapods-downloader#89

We have private, published podspecs that use the 'header' key, but when the artifactory plugin is installed, cocoapods crashes.

I see a few options:

  1. copy/paste the changes from CocoaPods/cocoapods-downloader#89 into https://github.com/jfrog/cocoapods-art/blob/master/lib/cocoapods_plugin.rb
  2. Open a PR against https://github.com/CocoaPods/cocoapods-downloader, ask for an extension point to add parameters to curl, get it merged, and then refactor cocoapods-art to use that extension point

Support installing using brew

With the M1 Apple Silicon, you have to use brew for installing cocoapods for native installation. Due to that, installing cocoapods-art module using gem wouldn't be recognized by the cocoapods version installed through brew.
It would be great to have a way to install cocoapods-art using brew to address the issue, what does everyone think about that?

uninitialized constant Pod::MasterSource::MASTER_REPO_NAME

Hi, on OSX Mojave 10.14.5
after:

  1. gem install cocapods-art
  2. pod repo-art add cocoapods-remote-github https://mycompanyartisrv.domain/api/pods/cocoapods-remote-github
  3. Modified file .Podfile:
    plugin 'cocoapods-art', sources => [
    'cocoapods-remote-github'
    ]
    and now when we want to "pod install", all dependencies download correctly but on the end there is error:

/Library/Ruby/Gems/2.3.0/gems/cocoapods-art-1.0.3/lib/cocoapods_plugin.rb:122:in block in source_from_path': uninitialized constant Pod::MasterSource::MASTER_REPO_NAME (NameError) Did you mean? Pod::MasterSource from /Library/Ruby/Gems/2.3.0/gems/cocoapods-art-1.0.3/lib/cocoapods_plugin.rb:130:in source_from_path'
from /Library/Ruby/Gems/2.3.0/gems/cocoapods-core-1.5.0/lib/cocoapods-core/source/manager.rb:301:in block in aggregate_with_repos' from /Library/Ruby/Gems/2.3.0/gems/cocoapods-core-1.5.0/lib/cocoapods-core/source/manager.rb:301:in map'
from /Library/Ruby/Gems/2.3.0/gems/cocoapods-core-1.5.0/lib/cocoapods-core/source/manager.rb:301:in aggregate_with_repos' from /Library/Ruby/Gems/2.3.0/gems/cocoapods-core-1.5.0/lib/cocoapods-core/source/manager.rb:24:in aggregate'
from /Library/Ruby/Gems/2.3.0/gems/cocoapods-core-1.5.0/lib/cocoapods-core/source/manager.rb:61:in all' from /Library/Ruby/Gems/2.3.0/gems/cocoapods-1.5.0/lib/cocoapods/user_interface/error_report.rb:170:in repo_information'
from /Library/Ruby/Gems/2.3.0/gems/cocoapods-1.5.0/lib/cocoapods/user_interface/error_report.rb:77:in stack' from /Library/Ruby/Gems/2.3.0/gems/cocoapods-1.5.0/lib/cocoapods/user_interface/error_report.rb:24:in report'
from /Library/Ruby/Gems/2.3.0/gems/cocoapods-1.5.0/lib/cocoapods/command.rb:66:in report_error' from /Library/Ruby/Gems/2.3.0/gems/claide-1.0.2/lib/claide/command.rb:396:in handle_exception'
from /Library/Ruby/Gems/2.3.0/gems/claide-1.0.2/lib/claide/command.rb:337:in rescue in run' from /Library/Ruby/Gems/2.3.0/gems/claide-1.0.2/lib/claide/command.rb:324:in run'
from /Library/Ruby/Gems/2.3.0/gems/cocoapods-1.5.0/lib/cocoapods/command.rb:52:in run' from /Library/Ruby/Gems/2.3.0/gems/cocoapods-1.5.0/bin/pod:55:in <top (required)>'
from /usr/local/bin/pod:22:in `load'_

how to fix it? because it crash Jenkins build...

[!] Your Podfile requires that the plugin `cocoapods-art` be installed. Please install it and try installation again.

[!] Your Podfile requires that the plugin cocoapods-art be installed. Please install it and try installation again.

Hi, I got this error on a new Mac M1 with the command pod install, I can't use art plugins with cocaopods.

here is my gem list

*** LOCAL GEMS ***

abbrev (default: 0.1.0)
activesupport (5.2.5)
addressable (2.7.0)
algoliasearch (1.27.5)
atomos (0.1.3)
base64 (default: 0.1.0)
benchmark (default: 0.1.1)
bigdecimal (default: 3.0.0)
bundler (default: 2.2.15)
CFPropertyList (3.0.3)
cgi (default: 0.2.0)
claide (1.0.3)
cocoapods (1.10.1)
cocoapods-art (1.0.5)
cocoapods-clean (0.0.1)
cocoapods-core (1.10.1)
cocoapods-deintegrate (1.0.4)
cocoapods-downloader (1.4.0)
cocoapods-keys (2.2.1)
cocoapods-plugins (1.0.0)
cocoapods-search (1.0.0)
cocoapods-trunk (1.5.0)
cocoapods-try (1.2.0)
colored2 (3.1.2)
concurrent-ruby (1.1.8)
csv (default: 3.1.9)
date (default: 3.1.0)
dbm (default: 1.1.0)
debug (default: 0.1.0)
delegate (default: 0.2.0)
did_you_mean (default: 1.5.0)
digest (default: 3.0.0)
dotenv (2.7.6)
drb (default: 2.0.4)
english (default: 0.7.1)
erb (default: 2.2.0)
escape (0.0.4)
etc (default: 1.2.0)
ethon (0.14.0)
facets (1.4.5)
fcntl (default: 1.0.0)
ffi (1.15.0)
fiddle (default: 1.0.6)
fileutils (default: 1.5.0)
find (default: 0.1.0)
forwardable (default: 1.3.2)
fourflusher (2.3.1)
fuzzy_match (2.0.4)
gen (0.41.0)
getoptlong (default: 0.1.1)
gh_inspector (1.1.3)
glue (0.41.0)
httpclient (2.8.3)
i18n (1.8.10)
io-console (default: 0.5.7)
io-nonblock (default: 0.1.0)
io-wait (default: 0.1.0)
ipaddr (default: 1.2.2)
irb (default: 1.3.5)
json (default: 2.5.1)
logger (default: 1.4.3)
matrix (default: 0.3.1)
minitest (5.14.2)
molinillo (0.6.6)
mutex_m (default: 0.1.1)
nanaimo (0.3.0)
nap (1.1.0)
net-ftp (default: 0.1.1)
net-http (default: 0.1.1)
net-imap (default: 0.1.1)
net-pop (default: 0.1.1)
net-protocol (default: 0.1.0)
net-smtp (default: 0.2.1)
netrc (0.11.0)
nkf (default: 0.1.0)
observer (default: 0.1.1)
open-uri (default: 0.1.0)
open3 (default: 0.1.1)
openssl (default: 2.2.0)
optparse (default: 0.1.0)
ostruct (default: 0.3.1)
osx_keychain (1.0.2)
pathname (default: 0.1.0)
power_assert (1.2.0)
pp (default: 0.1.0)
prettyprint (default: 0.1.0)
prime (default: 0.1.2)
pstore (default: 0.1.1)
psych (default: 3.3.0)
public_suffix (4.0.6)
racc (default: 1.5.1)
rake (13.0.3)
rbs (1.0.4)
rdoc (default: 6.3.0)
readline (default: 0.0.2)
readline-ext (default: 0.1.1)
reline (default: 0.2.5)
resolv (default: 0.2.0)
resolv-replace (default: 0.1.0)
rexml (3.2.5)
rinda (default: 0.1.0)
rss (0.2.9)
ruby-macho (1.4.0)
RubyInline (3.12.5)
securerandom (default: 0.1.0)
set (default: 1.0.1)
shellwords (default: 0.1.0)
singleton (default: 0.1.1)
stringio (default: 3.0.0)
strscan (default: 3.0.0)
syslog (default: 0.1.0)
tempfile (default: 0.1.1)
test-unit (3.3.7)
thread_safe (0.3.6)
time (default: 0.1.0)
timeout (default: 0.1.1)
tmpdir (default: 0.1.2)
tracer (default: 0.1.1)
tsort (default: 0.1.0)
typeprof (0.12.0)
typhoeus (1.4.0)
tzinfo (1.2.9)
un (default: 0.1.0)
uri (default: 0.10.1)
weakref (default: 0.1.1)
xcodeproj (1.19.0)
yaml (default: 0.1.1)
ZenTest (4.12.0)
zlib (default: 1.1.0)

And when I do a pod plugins I m able to see the plugin but still have the error above do you have a solution ?
-> CocoaPods Artifactory Plugin
Enables usage of Artifactory as an index for CocoaPods repo and as a
repository for pods.
- Gem: cocoapods-art
- URL: https://github.com/JFrogDev/cocoapods-art

Best regards !

cocoapods-art not able to add Private Github Repo

pod repo-art add RemoteTest2 "http://localhost:8081/artifactory/api/pods/RemoteTest2"
Retrieving index from `http://localhost:8081/artifactory/api/pods/RemoteTest2` into local spec repo `RemoteTest2`
[!] Error getting the index from Artifactory at: 'http://localhost:8081/artifactory/api/pods/RemoteTest2' : [!] /usr/bin/curl -f -L -o /Users/seanliu/.cocoapods/repos-art/RemoteTest2/Specs/file.tgz http://localhost:8081/artifactory/api/pods/RemoteTest2/index/fetchIndex --create-dirs --netrc-optional

  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
curl: (22) The requested URL returned error: 404 Not Found

My Remote Cocoapods Repository uses private github repo. If I change remote cocoapods repository to github.com and https://github.com/CocoaPods/Specs, everything works fine. I wonder how to let cocoapods-art have access to my private repo

can't `pod repo-art push`

I have a binary-only cocoapod hosted on GitHub that we'd love to publish to trusted friends via Artifactory.

Even though everything seems to look correct when I do pod repo-art list:

[~/.cocoapods/repos]:;pod repo-art list

cocoapods-local
- URL: https://proxyco.jfrog.io/proxyco/api/pods/cocoapods-local
- Path: /Users/myke/.cocoapods/repos-art/cocoapods-local/

1 repo

Trying to push my new podspec into it is failing:

[~/Source/proxy/release-ios-sdk]:;pod repo-art push cocoapods-local ProxySDK.podspec 
Adding the spec to repo `cocoapods-local'
[!] 'cocoapods-local' is not an Artifactory-backed Specs repo

What step am I missing?

`pod update` fails with when art repos exist

  • Fresh install of cocoapods 1.3.1
  • Fresh install of cocoapods-art 1.0.0
  • Add an artifactory repo with pod repo-art add
  • Run pod update on a project
  • Fails with the error below

It looks like the update_repositories method in analyzer.rb in cocoapods 1.3.1 is checking each repo to see if it is a git-based repo. Since ArtSource does not implement the git? method, it uses the default which tries to run git commands on the directory, which does not exist, causing it to fail.

$ pod update --verbose
Update all pods
  Preparing
  - Running source provider hooks
    - cocoapods-art from `/Users/alwold/.rvm/gems/ruby-2.4.2/gems/cocoapods-art-1.0.0/lib/cocoapods_plugin.rb`
      cocoapods-art received source_provider hook
/Users/alwold/.cocoapods/repos-art/xxx-specs/.artpodrc

Updating local specs repositories
fatal: Cannot change to '/Users/alwold/.cocoapods/repos/xxx-specs': No such file or directory
[!] The `xxx-specs` repo is not a git repo.

/Users/alwold/.rvm/gems/ruby-2.4.2/gems/cocoapods-core-1.3.1/lib/cocoapods-core/source/manager.rb:318:in `git_source_named'
/Users/alwold/.rvm/gems/ruby-2.4.2/gems/cocoapods-1.3.1/lib/cocoapods/sources_manager.rb:80:in `update'
/Users/alwold/.rvm/gems/ruby-2.4.2/gems/cocoapods-1.3.1/lib/cocoapods/installer/analyzer.rb:237:in `block in update_repositories'
/Users/alwold/.rvm/gems/ruby-2.4.2/gems/cocoapods-1.3.1/lib/cocoapods/installer/analyzer.rb:235:in `each'
/Users/alwold/.rvm/gems/ruby-2.4.2/gems/cocoapods-1.3.1/lib/cocoapods/installer/analyzer.rb:235:in `update_repositories'
/Users/alwold/.rvm/gems/ruby-2.4.2/gems/cocoapods-1.3.1/lib/cocoapods/installer.rb:150:in `block in resolve_dependencies'
/Users/alwold/.rvm/gems/ruby-2.4.2/gems/cocoapods-1.3.1/lib/cocoapods/user_interface.rb:64:in `section'
/Users/alwold/.rvm/gems/ruby-2.4.2/gems/cocoapods-1.3.1/lib/cocoapods/installer.rb:149:in `resolve_dependencies'
/Users/alwold/.rvm/gems/ruby-2.4.2/gems/cocoapods-1.3.1/lib/cocoapods/installer.rb:116:in `install!'
/Users/alwold/.rvm/gems/ruby-2.4.2/gems/cocoapods-1.3.1/lib/cocoapods/command/update.rb:81:in `run'
/Users/alwold/.rvm/gems/ruby-2.4.2/gems/claide-1.0.2/lib/claide/command.rb:334:in `run'
/Users/alwold/.rvm/gems/ruby-2.4.2/gems/cocoapods-1.3.1/lib/cocoapods/command.rb:52:in `run'
/Users/alwold/.rvm/gems/ruby-2.4.2/gems/cocoapods-1.3.1/bin/pod:55:in `<top (required)>'
/Users/alwold/.rvm/gems/ruby-2.4.2/bin/pod:23:in `load'
/Users/alwold/.rvm/gems/ruby-2.4.2/bin/pod:23:in `<main>'
/Users/alwold/.rvm/gems/ruby-2.4.2/bin/ruby_executable_hooks:15:in `eval'
/Users/alwold/.rvm/gems/ruby-2.4.2/bin/ruby_executable_hooks:15:in `<main>'

pod repo-art add cocoapods-local and pod install deadlock

In CI environment, If I setup cocoapods-local before running pod install,

echo -e "machine quibi.jfrog.io\nlogin ${JFROG_USERNAME}\npassword ${JFROG_PASSWORD}" > ~/.netrc

bundle exec pod repo-art add cocoapods-local "https://xxxxx/api/pods/cocoapods-local"

I will see sh: line 0: cd: /Users/distiller/.cocoapods/repos: No such file or directory

Since in circle, pod is not never run before. Also if we run pod install, we will also get error since cocoapods-local is not setup yet.

The workaround is to manually create the folder, I believe we should include this logic to avoid
sh: line 0: cd: /Users/distiller/.cocoapods/repos: No such file or directory

A project that has a cocoapods-art repo does not resolve pods from the Cocoapods master repo

I have a project in which I want to add a single pod from my Artifactory repository and a number of other pods from the master Cocoapods repository.

When I do this I get the following error:

pod install                                                                                                                                                                                                            
Analyzing dependencies
[!] Unable to find a specification for `ZFDragableModalTransition (~> 0.6)

My Podfile looks as follows:

plugin 'cocoapods-art', :sources => [
    'REDACTED'
]

target 'OneginiExampleApp' do
  pod 'OneginiSDKiOS', '~> 5.01.01-SNAPSHOT'
  pod 'ZFDragableModalTransition', '~> 0.6'
  pod 'MBProgressHUD', '~> 1.0.0'
end

Only the OneginiSDKiOS pod can be found in my Artifactory repo.

Sample pod spec file or repo with source from jfrog

Hi,

I created a cocoapod using Pod Lib Create and maintaining my repository in bitbucket.

Consider I want to push to pod-local and my repo is ChatiOS

  1. What should I mention as source in podspec?
  2. What should I add to tar.bz? How can I exclude some files because we also have an example project?
  3. How to publish and resolve different versions?

I could not find any information related to this in https://www.jfrog.com/confluence/display/RTF/CocoaPods+Repositories

"pod repo-art add" leads to error

We are trying to add Artifactory with cocoapods to our toolchain. Now I have followed all steps (create a remote repository for pods on our artifactory instance and installed cocoapods-art) to be ready to add the repo. But then this command leads to different errors:
pod repo-art add artMaster "http://ourUrl:port/artifactory/api/pods/cocoapods-master"

  • First I had a 401 error. Then we opened the remote repository to anonymous
  • This gives now a 404 error. (22) The requested URL returned error: 404
  • Another option was trying with any public artifactory to test, so I tried the following: pod repo-art add beanstream-public "https://beanstream.artifactoryonline.com/beanstream/api/pods/beanstream-public" and that worked perfectly

So I guess there is something I missed or messed up while setting up the remote repository in artifactory. Can you lead me to the right path here?

Here is the full error message:

Retrieving index from 'http://ourUrl:port/artifactory/api/pods/cocoapods-master' into local spec repo 'artMaster' [!] Error getting the index from Artifactory at: 'http://ourUrl:port/artifactory/api/pods/cocoapods-master' : [!] /usr/bin/curl -n -f -L -o /Users/myUser/.cocoapods/repos/artMaster/Specs/file.tgz http://ourUrl:port/artifactory/api/pods/cocoapods-master/index/fetchIndex --create-dirs curl: (22) The requested URL returned error: 404

Podfile requires that the plugin `cocoapods-art` be installed

I am using cocoapods-art with a Fastlane build but continue to see this error about not finding the plugin:

Your Podfile requires that the plugin cocoapods-art be installed. Please install it and try installation again. (FastlaneCore::Interface::FastlaneShellError)

I verified:

  • pod plugins shows:

-> CocoaPods Artifactory Plugin (1.0.2)
Enables usage of Artifactory as an index for CocoaPods repo and as a repository for pods.
- Gem: cocoapods-art
- URL: https://github.com/JFrogDev/cocoapods-art

  • Artifactory repo is configured from the pod repo command.

Possibility of specifying path to .netrc file

Hi, we've met a problem with injecting credentials on our CI. The static .netrc file in home directory is a bit problematic, because there's a problem with managing it on every build agent (we have a lot of projects and its number is changing with time and so credentials), the other problem is managing access to it. If some developer in my company is involved in one project, I don't want him to have access to all credentials. It would be a good idea to give an option of setting path to .netrc file. So it would be possible to manage credentials with master CI server or even to have separate files attached to each project.

I've already prepared PR (#21) with my solution. Could you review it?

Getting TypeError - no implicit conversion of Pathname into String

I am trying to get Cocopods (local) work with artifactory. Below are the steps I have done.

  1. Created Cocopods-local - repo
  2. Deployed 'mypod.tar.gz' to local instance of jfrog artifactory pro.
  3. Changed pod file.
use_frameworks!

ENV['COCOAPODS_DISABLE_STATS'] = 'true'

plugin 'cocoapods-art', :sources => [
 'cocoapods-local'
]

target 'Download Sample' do
   pod 'dowloadHud'
 target 'Download SampleTests' do
   inherit! :search_paths
 end
 target 'Download SampleUITests' do
   inherit! :search_paths
 end
end
  1. When I run pod install, I am getting below error.

[!]Error installing dowloadHud

TypeError - no implicit conversion of Pathname into String
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/fileutils.rb:513:in `initialize'
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/fileutils.rb:513:in `exception'
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/fileutils.rb:513:in `raise'
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/fileutils.rb:513:in `block in mv'
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/fileutils.rb:1558:in `block in fu_each_src_dest'
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/fileutils.rb:1567:in `block in fu_each_src_dest0'
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/fileutils.rb:1565:in `each'

Path repos_path/cocoapods-local already exists - remove it first

`pod repo-art add cocoapods-local "https://xxxxx/api/pods/cocoapods-local"

Retrieving index from https://xxxxx/api/pods/cocoapods-local` into local spec repo cocoapods-local
[!] Path repos_path/cocoapods-local already exists - remove it first, or run 'pod repo-art update cocoapods-local' to update it

pod repo-art remove cocoapods-local [!] repo cocoapods-local does not exist

I also removed the entire cocoapods-local folder locally, but I still see this issue, when I try to add

Pod install with cocoapods 1.12

We use the cocoapods-art library to reference Jfrog artifactory repository for pod install

Now since cocoapods 1.11 update to 1.12
We must have repository in .cocoapods/repos

In Podfile we specify the use of the following plugin
plugin 'cocoapods-art', :sources => [
‘REPO_JFROG’
]
We don't understand because we only use in Podfile ./cocoapods/repos-art/REPO_JFROG

Cocoapods-art: v1.1.0 (only change in my project it's cocoapods's version)
https://rubygems.org/gems/cocoapods-art/versions/1.1.0

Can we conclude that using cocoapods-art is no longer necessary to point to a JFrog artifactory repository ?
Not work, if I want to add repo JFrog with command "pod repo add REPO_JFROG $urlRepoJfrog"
Try to do a git clone and it's impossible on a JFrog's repository

So "cocoapods-art" it's always necessary :
gem install cocoapods-art
create a .netrc with credential
pod repo-art add REPO_JFROG $URLRepoJfrog

But we must to clone the folder ./cocoapods/repos-art/ in ./cocoapods/repos/
And it's work

Why we must to do that with this version cocoapods ?

`pod repo push` no longer works after `repo-art add`

It seems the existence of artifactory repos on the system causes an error in the pod repo push commands.

$ bundle exec pod repo push REDACTEDSpecs REDACTED.podspec --private

Validating spec
Cloning spec repo `-1` from ``
[!] Unable to add a source with url `` named `-1`.
You can try adding it manually in `~/.cocoapods/repos` or via `pod repo add`.

Click to toggle verbose output

$ bundle exec pod repo push REDACTEDSpecs REDACTED.podspec --private --verbose

Validating spec

Cloning spec repo `-1` from ``
  $ /usr/local/bin/git clone  -1
  error: unknown switch `1'
  usage: git clone [<options>] [--] <repo> [<dir>]

      -v, --verbose         be more verbose
      -q, --quiet           be more quiet
      --progress            force progress reporting
      -n, --no-checkout     don't create a checkout
      --bare                create a bare repository
      --mirror              create a mirror repository (implies bare)
      -l, --local           to clone from a local repository
      --no-hardlinks        don't use local hardlinks, always copy
      -s, --shared          setup as shared repository
      --recursive           initialize submodules in the clone
      --recurse-submodules  initialize submodules in the clone
      -j, --jobs <n>        number of submodules cloned in parallel
      --template <template-directory>
                            directory from which templates will be used
      --reference <repo>    reference repository
      --dissociate          use --reference only while cloning
      -o, --origin <name>   use <name> instead of 'origin' to track upstream
      -b, --branch <branch>
                            checkout <branch> instead of the remote's HEAD
      -u, --upload-pack <path>
                            path to git-upload-pack on the remote
      --depth <depth>       create a shallow clone of that depth
      --single-branch       clone only one branch, HEAD or --branch
      --shallow-submodules  any cloned submodules will be shallow
      --separate-git-dir <gitdir>
                            separate git dir from working tree
      -c, --config <key=value>
                            set config inside the new repository
      -4, --ipv4            use IPv4 addresses only
      -6, --ipv6            use IPv6 addresses only

[!] Unable to add a source with url `` named `-1`.
(/usr/local/bin/git clone  -1

error: unknown switch `1'
usage: git clone [<options>] [--] <repo> [<dir>]

    -v, --verbose         be more verbose
    -q, --quiet           be more quiet
    --progress            force progress reporting
    -n, --no-checkout     don't create a checkout
    --bare                create a bare repository
    --mirror              create a mirror repository (implies bare)
    -l, --local           to clone from a local repository
    --no-hardlinks        don't use local hardlinks, always copy
    -s, --shared          setup as shared repository
    --recursive           initialize submodules in the clone
    --recurse-submodules  initialize submodules in the clone
    -j, --jobs <n>        number of submodules cloned in parallel
    --template <template-directory>
                          directory from which templates will be used
    --reference <repo>    reference repository
    --dissociate          use --reference only while cloning
    -o, --origin <name>   use <name> instead of 'origin' to track upstream
    -b, --branch <branch>
                          checkout <branch> instead of the remote's HEAD
    -u, --upload-pack <path>
                          path to git-upload-pack on the remote
    --depth <depth>       create a shallow clone of that depth
    --single-branch       clone only one branch, HEAD or --branch
    --shallow-submodules  any cloned submodules will be shallow
    --separate-git-dir <gitdir>
                          separate git dir from working tree
    -c, --config <key=value>
                          set config inside the new repository
    -4, --ipv4            use IPv4 addresses only
    -6, --ipv6            use IPv6 addresses only

)
You can try adding it manually in `~/.cocoapods/repos` or via `pod repo add`.

/Users/AshtonWilliams/.rbenv/versions/2.1.3/lib/ruby/gems/2.1.0/gems/cocoapods-1.0.1/lib/cocoapods/sources_manager.rb:35:in `rescue in find_or_create_source_with_url'
/Users/AshtonWilliams/.rbenv/versions/2.1.3/lib/ruby/gems/2.1.0/gems/cocoapods-1.0.1/lib/cocoapods/sources_manager.rb:38:in `find_or_create_source_with_url'
/Users/AshtonWilliams/.rbenv/versions/2.1.3/lib/ruby/gems/2.1.0/gems/cocoapods-1.0.1/lib/cocoapods/sources_manager.rb:58:in `source_with_name_or_url'
/Users/AshtonWilliams/.rbenv/versions/2.1.3/lib/ruby/gems/2.1.0/gems/cocoapods-1.0.1/lib/cocoapods/validator.rb:33:in `block in initialize'
/Users/AshtonWilliams/.rbenv/versions/2.1.3/lib/ruby/gems/2.1.0/gems/cocoapods-1.0.1/lib/cocoapods/validator.rb:33:in `map'
/Users/AshtonWilliams/.rbenv/versions/2.1.3/lib/ruby/gems/2.1.0/gems/cocoapods-1.0.1/lib/cocoapods/validator.rb:33:in `initialize'
/Users/AshtonWilliams/.rbenv/versions/2.1.3/lib/ruby/gems/2.1.0/gems/cocoapods-1.0.1/lib/cocoapods/command/repo/push.rb:120:in `new'
/Users/AshtonWilliams/.rbenv/versions/2.1.3/lib/ruby/gems/2.1.0/gems/cocoapods-1.0.1/lib/cocoapods/command/repo/push.rb:120:in `block in validate_podspec_files'
/Users/AshtonWilliams/.rbenv/versions/2.1.3/lib/ruby/gems/2.1.0/gems/cocoapods-1.0.1/lib/cocoapods/command/repo/push.rb:119:in `each'
/Users/AshtonWilliams/.rbenv/versions/2.1.3/lib/ruby/gems/2.1.0/gems/cocoapods-1.0.1/lib/cocoapods/command/repo/push.rb:119:in `validate_podspec_files'
/Users/AshtonWilliams/.rbenv/versions/2.1.3/lib/ruby/gems/2.1.0/gems/cocoapods-1.0.1/lib/cocoapods/command/repo/push.rb:64:in `run'
/Users/AshtonWilliams/.rbenv/versions/2.1.3/lib/ruby/gems/2.1.0/gems/claide-1.0.0/lib/claide/command.rb:334:in `run'
/Users/AshtonWilliams/.rbenv/versions/2.1.3/lib/ruby/gems/2.1.0/gems/cocoapods-1.0.1/lib/cocoapods/command.rb:50:in `run'
/Users/AshtonWilliams/.rbenv/versions/2.1.3/lib/ruby/gems/2.1.0/gems/cocoapods-1.0.1/bin/pod:55:in `<top (required)>'
/Users/AshtonWilliams/.rbenv/versions/2.1.3/bin/pod:23:in `load'
/Users/AshtonWilliams/.rbenv/versions/2.1.3/bin/pod:23:in `<main>'

Click to toggle contents of Gemfile.lock

GEM
  remote: REDACTED
  specs:
    activesupport (4.2.6)
      i18n (~> 0.7)
      json (~> 1.7, >= 1.7.7)
      minitest (~> 5.1)
      thread_safe (~> 0.3, >= 0.3.4)
      tzinfo (~> 1.1)
    addressable (2.4.0)
    babosa (1.0.2)
    cert (1.4.1)
      fastlane_core (>= 0.29.1, < 1.0.0)
      spaceship (>= 0.22.0, < 1.0.0)
    claide (1.0.0)
    clamp (0.6.5)
    cocoapods (1.0.1)
      activesupport (>= 4.0.2)
      claide (>= 1.0.0, < 2.0)
      cocoapods-core (= 1.0.1)
      cocoapods-deintegrate (>= 1.0.0, < 2.0)
      cocoapods-downloader (>= 1.0.0, < 2.0)
      cocoapods-plugins (>= 1.0.0, < 2.0)
      cocoapods-search (>= 1.0.0, < 2.0)
      cocoapods-stats (>= 1.0.0, < 2.0)
      cocoapods-trunk (>= 1.0.0, < 2.0)
      cocoapods-try (>= 1.0.0, < 2.0)
      colored (~> 1.2)
      escape (~> 0.0.4)
      fourflusher (~> 0.3.0)
      molinillo (~> 0.4.5)
      nap (~> 1.0)
      xcodeproj (>= 1.1.0, < 2.0)
    cocoapods-art (0.9.5.pre)
    cocoapods-core (1.0.1)
      activesupport (>= 4.0.2)
      fuzzy_match (~> 2.0.4)
      nap (~> 1.0)
    cocoapods-deintegrate (1.0.0)
    cocoapods-downloader (1.0.1)
    cocoapods-plugins (1.0.0)
      nap
    cocoapods-search (1.0.0)
    cocoapods-stats (1.0.0)
    cocoapods-trunk (1.0.0)
      nap (>= 0.8, < 2.0)
      netrc (= 0.7.8)
    cocoapods-try (1.0.0)
    cocoapods-update-if-you-dare (0.1.1)
    colored (1.2)
    commander (4.3.5)
      highline (~> 1.7.2)
    credentials_manager (0.16.0)
      colored
      commander (>= 4.3.5)
      highline (>= 1.7.1)
      security
    deliver (1.13.1)
      credentials_manager (>= 0.16.0, < 1.0.0)
      fastimage (~> 1.6)
      fastlane_core (>= 0.46.2, < 1.0.0)
      plist (~> 3.1.0)
      spaceship (>= 0.26.2, < 1.0.0)
    domain_name (0.5.20160615)
      unf (>= 0.0.5, < 1.0.0)
    dotenv (2.1.1)
    escape (0.0.4)
    excon (0.45.4)
    faraday (0.9.2)
      multipart-post (>= 1.2, < 3)
    faraday-cookie_jar (0.0.6)
      faraday (>= 0.7.4)
      http-cookie (~> 1.0.0)
    faraday_middleware (0.10.0)
      faraday (>= 0.7.4, < 0.10)
    fastimage (1.6.8)
      addressable (~> 2.3, >= 2.3.5)
    fastlane (1.89.0)
      addressable (~> 2.3)
      cert (>= 1.4.1, < 2.0.0)
      credentials_manager (>= 0.16.0, < 1.0.0)
      deliver (>= 1.11.2, < 2.0.0)
      fastlane_core (>= 0.43.3, < 1.0.0)
      frameit (>= 2.6.2, < 3.0.0)
      gym (>= 1.6.3, < 2.0.0)
      krausefx-shenzhen (>= 0.14.7)
      match (>= 0.5.0, < 1.0.0)
      multipart-post (~> 2.0.0)
      pem (>= 1.3.1, < 2.0.0)
      pilot (>= 1.5.1, < 2.0.0)
      plist (~> 3.1.0)
      produce (>= 1.1.2, < 2.0.0)
      scan (>= 0.6.1, < 1.0.0)
      screengrab (>= 0.3.2, < 1.0.0)
      sigh (>= 1.8.0, < 2.0.0)
      slack-notifier (~> 1.3)
      snapshot (>= 1.12.1, < 2.0.0)
      spaceship (>= 0.26.2, < 1.0.0)
      supply (>= 0.6.2, < 1.0.0)
      terminal-notifier (~> 1.6.2)
      terminal-table (~> 1.4.5)
      xcodeproj (>= 0.20, < 2.0.0)
      xcpretty (>= 0.2.1)
    fastlane_core (0.48.0)
      babosa
      colored
      commander (= 4.3.5)
      credentials_manager (>= 0.16.0, < 1.0.0)
      excon (~> 0.45.0)
      gh_inspector (>= 1.0.1, < 2.0.0)
      highline (>= 1.7.2)
      json
      multi_json
      plist (~> 3.1)
      rubyzip (~> 1.1.6)
      terminal-table (~> 1.4.5)
    fourflusher (0.3.2)
    frameit (2.7.0)
      deliver (> 0.3)
      fastimage (~> 1.6.3)
      fastlane_core (>= 0.36.1, < 1.0.0)
      mini_magick (~> 4.5.1)
    fuzzy_match (2.0.4)
    gh_inspector (1.0.2)
    google-api-client (0.9.9)
      addressable (~> 2.3)
      googleauth (~> 0.5)
      httpclient (~> 2.7)
      hurley (~> 0.1)
      memoist (~> 0.11)
      mime-types (>= 1.6)
      representable (~> 2.3.0)
      retriable (~> 2.0)
      thor (~> 0.19)
    googleauth (0.5.1)
      faraday (~> 0.9)
      jwt (~> 1.4)
      logging (~> 2.0)
      memoist (~> 0.12)
      multi_json (~> 1.11)
      os (~> 0.9)
      signet (~> 0.7)
    gym (1.6.3)
      fastlane_core (>= 0.43.1, < 1.0.0)
      plist
      rubyzip (>= 1.1.7)
      terminal-table
      xcpretty (>= 0.2.1)
    highline (1.7.8)
    http-cookie (1.0.2)
      domain_name (~> 0.5)
    httpclient (2.8.0)
    hurley (0.2)
    i18n (0.7.0)
    json (1.8.3)
    jwt (1.5.4)
    krausefx-shenzhen (0.14.9)
      commander (~> 4.3)
      dotenv (>= 0.7)
      faraday (~> 0.9)
      faraday_middleware (~> 0.9)
      highline (>= 1.7.2)
      json (~> 1.8)
      net-sftp (~> 2.1.2)
      plist (~> 3.1.0)
      rubyzip (~> 1.1)
      security (~> 0.1.3)
      terminal-table (~> 1.4.5)
    little-plugger (1.1.4)
    logging (2.1.0)
      little-plugger (~> 1.1)
      multi_json (~> 1.10)
    match (0.6.1)
      cert (>= 1.2.8, < 2.0.0)
      credentials_manager (>= 0.13.0, < 1.0.0)
      fastlane_core (>= 0.39.0, < 1.0.0)
      security
      sigh (>= 1.2.2, < 2.0.0)
      spaceship (>= 0.24.0, < 1.0.0)
    memoist (0.14.0)
    mime-types (3.1)
      mime-types-data (~> 3.2015)
    mime-types-data (3.2016.0521)
    mini_magick (4.5.1)
    mini_portile2 (2.1.0)
    minitest (5.9.0)
    molinillo (0.4.5)
    multi_json (1.12.1)
    multi_xml (0.5.5)
    multipart-post (2.0.0)
    nap (1.1.0)
    net-sftp (2.1.2)
      net-ssh (>= 2.6.5)
    net-ssh (3.2.0)
    netrc (0.7.8)
    nokogiri (1.6.8)
      mini_portile2 (~> 2.1.0)
      pkg-config (~> 1.1.7)
    os (0.9.6)
    pem (1.3.1)
      fastlane_core (>= 0.43.1, < 1.0.0)
      spaceship (>= 0.26.2, < 1.0.0)
    pilot (1.9.2)
      credentials_manager (>= 0.3.0)
      fastlane_core (>= 0.46.2, < 1.0.0)
      spaceship (>= 0.27.0, < 1.0.0)
      terminal-table (~> 1.4.5)
    pkg-config (1.1.7)
    plist (3.1.0)
    produce (1.1.2)
      fastlane_core (>= 0.30.0, < 1.0.0)
      spaceship (>= 0.16.0, < 1.0.0)
    representable (2.3.0)
      uber (~> 0.0.7)
    retriable (2.1.0)
    rouge (1.11.1)
    rubyzip (1.1.7)
    scan (0.8.0)
      fastlane_core (>= 0.36.1, < 1.0.0)
      slack-notifier (~> 1.3)
      terminal-table
      xcpretty (>= 0.2.1)
      xcpretty-travis-formatter (>= 0.0.3)
    screengrab (0.3.2)
      fastlane_core (>= 0.38.0, < 1.0.0)
    security (0.1.3)
    sigh (1.8.0)
      fastlane_core (>= 0.36.1, < 1.0.0)
      plist (~> 3.1)
      spaceship (>= 0.22.0, < 1.0.0)
    signet (0.7.3)
      addressable (~> 2.3)
      faraday (~> 0.9)
      jwt (~> 1.5)
      multi_json (~> 1.10)
    slack-notifier (1.5.1)
    slather (2.2.1)
      clamp (~> 0.6)
      nokogiri (~> 1.6.3)
      xcodeproj (~> 1.1)
    snapshot (1.12.3)
      fastimage (~> 1.6.3)
      fastlane_core (>= 0.36.1, < 1.0.0)
      plist (~> 3.1.0)
      xcpretty (>= 0.2.1)
    spaceship (0.27.2)
      colored
      credentials_manager (>= 0.9.0)
      faraday (~> 0.9)
      faraday-cookie_jar (~> 0.0.6)
      faraday_middleware (~> 0.9)
      fastimage (~> 1.6)
      multi_xml (~> 0.5)
      plist (~> 3.1)
    supply (0.7.0)
      credentials_manager (>= 0.15.0)
      fastlane_core (>= 0.43.4)
      google-api-client (~> 0.9.1)
    terminal-notifier (1.6.3)
    terminal-table (1.4.5)
    thor (0.19.1)
    thread_safe (0.3.5)
    tzinfo (1.2.2)
      thread_safe (~> 0.1)
    uber (0.0.15)
    unf (0.1.4)
      unf_ext
    unf_ext (0.0.7.2)
    xcodeproj (1.1.0)
      activesupport (>= 3)
      claide (>= 1.0.0, < 2.0)
      colored (~> 1.2)
    xcpretty (0.2.2)
      rouge (~> 1.8)
    xcpretty-travis-formatter (0.0.4)
      xcpretty (~> 0.2, >= 0.0.7)

PLATFORMS
  ruby

DEPENDENCIES
  cocoapods (~> 1.0.1)
  cocoapods-art (~> 0.9.5.pre)
  cocoapods-update-if-you-dare (~> 0.1.1)
  fastlane (~> 1.89.0)
  slather (~> 2.2.1)
  xcpretty (~> 0.2.2)

BUNDLED WITH
   1.11.2

COCOAPODS_ART_CREDENTIALS added --user username:password might fail some respositories

`$ export COCOAPODS_ART_CREDENTIALS=username:password
$ pod install

Analyzing dependencies
Downloading dependencies

Installing AppLovinSDK (11.5.0)

[!] Error installing AppLovinSDK
[!] /usr/bin/curl -f -L -o /var/folders/y3/2g6yzj714n52y7jw8ctfzqf40000gn/T/d20231114-26276-q1i8xf/file.zip https://artifacts.applovin.com/ios/com/applovin/applovin-sdk/applovin-ios-sdk-11.5.0.zip --create-dirs --netrc-optional --retry 2 -A 'CocoaPods/1.12.1 cocoapods-downloader/1.6.3' --user username:password --ssl-no-revoke

% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0
curl: (22) The requested URL returned error: 400

Installing HyprMX (6.2.0)

[!] Error installing HyprMX
[!] /usr/bin/curl -f -L -o /var/folders/y3/2g6yzj714n52y7jw8ctfzqf40000gn/T/d20231114-26700-shkr67/file.zip https://s3.amazonaws.com/cocoapods-files/HyprMX/6.2.0/HyprMX_iOS_v6-2-0.zip --create-dirs --netrc-optional --retry 2 -A 'CocoaPods/1.13.0 cocoapods-downloader/1.6.3' --user username:password --ssl-no-revoke

% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- 0:00:03 --:--:-- 0
curl: (22) The requested URL returned error: 400

Installing VungleAds (7.1.0)

[!] Error installing VungleAds
[!] /usr/bin/curl -f -L -o /var/folders/y3/2g6yzj714n52y7jw8ctfzqf40000gn/T/d20231114-26841-12kfqvm/file.zip https://vungle2-cdn-prod.s3.amazonaws.com/sdks/ios/7.1.x/VungleAds-7.1.0.zip --create-dirs --netrc-optional --retry 2 -A 'CocoaPods/1.13.0 cocoapods-downloader/1.6.3' --user username:password --ssl-no-revoke

% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0
curl: (22) The requested URL returned error: 400`

No search?

I am trying to do a pod search xxx but it returns nothing (as expected, since the source now is only cocoapods-art).

Extending this to pod repo-art search xxx does not work. Am I missing something?

cordova-ios Pod Does Not Install Using cocoapods-art Plugin

We are using cocoapods-art plugin (v1.1.0) for cocoa pods to install pods from remote repository in Artifactory.

Installation of all pods on the MacOs,

[ ""pod install" or "pod install --clean-install"]

is successful from the remote repo, except 'Cordova', which fails due to the following error:

[!] Error installing Cordova

[!] /usr/bin/curl -f -L -o /var/folders/mg/5d98rks136q_ds_pdsm8swbh0000gn/T/d20230419-14312-1kgqjs6/file.tgz https://SOTIARTIFACTORYURL/artifactory/api/pods/CocoaPodsSpecs/pod/git/apache/cordova-ios/rel/6.2.0 --create-dirs --netrc-optional --retry 2 -A 'CocoaPods/1.8.4 cocoapods-downloader/1.5.1' --ssl-no-revoke

In Artifactory, the request log shows an unencoded request when using the plugin, but if you encode it with cURL the download works:
2023-05-04T15:01:03.915Z|2deec6eae676b487|10.1.0.95|anonymous|GET|/api/pods/CocoaPodsSpecs/pod/git/apache/cordova-ios/rel/6.2.0|404|-1|0|1|'CocoaPods/1.8.4 cocoapods-downloader/1.5.1'

2023-05-04T15:03:11.610Z|e8c1d7610d626d96|10.1.0.95|anonymous|GET|/api/pods/CocoaPodsSpecs/pod/git/apache/cordova-ios/rel%2f6.2.0|200|-1|1130793|877|curl/7.87.0

To fix this behavior, the cocoapods-art plugin would need to be updated to allow for encoding the URLs of package requests.

Plugin fetch all Specs on the local machine

Hi, if i use the remote cocoa pods repo, the plugin will save all cocoa pods specs on my local machine (~756 MB). In my podfile i define only one dependency (Alamofire). I expected only the spec for Alamofire on my local machine. Artifactory runs on a remote system.
I follow your instructions in the Screencast Sample and doesn`t finde the mistake.

Pod installation completed with 0 dependencies for local cocoapod repo from jfrog artifactory.

We are using jFrog artifactory repo and setup the cocoapod_local repo on artifactory. The pod install command executed successfully with 0 dependencies.

podfile

platform :ios, '8.0'

plugin 'cocoapods-art', :sources => [
  'CocoaPods'    
] 


target 'test4' do
end 

podspec file source tag

"source": { "http": "http://myOrg:8081/artifactory/CocoaPods/OpenSSL/1.0.210/OpenSSL.tar.gz", "sha1": "bdfbdb416942f666865fa48fe13c2d0e588df54f" }

Why it should not install the dependencies from local repo from artifactory.

Enable sending the --ssl-no-revoke flag on windows

We are running on-premise and using external certificates on our artifactory instance.
Currently we don't support pulling CRL from the internet - curl on windows is using schannel and therefore this check is being done by the Windows OS.
Please support passing the --ssl-no-revoke flag to surpass this problem - I know it lowers the security level.

Thanks

Issue with pod repo-art ...

Hi,

I have trouble with add repository. The command is:
pod repo-art add dev http://...

Response:
[!] Unknown command: repo-art
Did you mean: repo?

My Setup:
Successfully installed cocoapods-art-0.9.4
Parsing documentation for cocoapods-art-0.9.4

pod --version
1.0.0

I also tried 'pod plugins' but I did not see cocoapods-art on available cocoaPods plugins.

should_flatten? monkeypatch and CocoaPods 1.0.1

I think the monkeypatch of should_flatten? is now actually interfering with pods caching in CocoaPods v1.0.1.

When using cocoapods-art, the pod sources in Xcode are empty, the cocoapods cache of the pods is also empty.
~/Library/Caches/CocoaPods/Pods/External/AFNetworking/f6d5c239aaeb2527f07a518f0fd6939c

When using a source like:

  pod 'AFNetworking', :http => 'http://artifactory.intranet/artifactory/api/pods/remote-cocoapods/pod/git/AFNetworking/AFNetworking/2.5.4', :type => 'tgz'

the cache is filled and the sources are present in Xcode.


Gems:

cocoapods (1.0.1)
cocoapods-art (0.9.4)

beta JSON podspec is fetched with wrong 'source'

When I publish a beta podspec in JSON format, the pod repo-art update command fetches it with the source attribute wrongly pointing to the previous release.

Let me explain the steps to reproduce:

  • publish a pod with version 3.0.0 using a Ruby podspec (Framework-bin.podspec) like this:

Pod::Spec.new do |spec|
  
  spec.name                = 'Framework-bin'
  spec.version             = '3.0.0'
  spec.license             = 'MIT'
  spec.homepage        = 'https://www.mysite.com'
  spec.authors             = { 'Foo' => '[email protected]' }
  spec.summary             = 'Framework'
  spec.platform            = :ios, '8.0'
  spec.ios.vendored_frameworks = 'Framework.framework'
  spec.source = { :http => "https://myartifactoryserver.com/artifactory/api/pods/mylocalrepo/pod/pkg/Framework-bin/3.0.0", :type => 'tgz'}

end

  • publish a pod with version 3.1.0-beta using a JSON podspec (Framework-bin.podspec.json) like this:

{
  "name" : "Framework-bin",
  "version" : "3.1.0-beta",
  "summary" : "Framework",
  "homepage" : "https://www.mysite.com",
  "source": {
		"http": "https://myartifactoryserver.com/artifactory/api/pods/mylocalrepo/pod/pkg/Framework-bin/3.1.0-beta",
		"type": "tgz"
	},
  "license" : "MIT",
  "ios" : {
    "vendored_frameworks" : "Framework.framework"
  },
  "authors" : {
    "Foo" : "[email protected]"
  },
  "platforms" : {
    "ios" : "8.0"
  }
}

  • update the local podspecs repo

pod repo-art update mylocalrepo

  • check the podspecs in the ~/.cocoapods/Repos/mylocalrepo/Specs folder. The podspec
    for version 3.1.0-beta will have a source that points to 3.0.0!

{
  "name" : "Framework-bin",
  "version" : "3.1.0-beta",
  "summary" : "Framework",
  "homepage" : "https://www.mysite.com",
  "source": {
		"http": "https://myartifactoryserver.com/artifactory/api/pods/mylocalrepo/pod/pkg/Framework-bin/3.0.0",
		"type": "tgz"
	},
  "license" : "MIT",
  "ios" : {
    "vendored_frameworks" : "Framework.framework"
  },
  "authors" : {
    "Foo" : "[email protected]"
  },
  "platforms" : {
    "ios" : "8.0"
  }
}

Notice that browsing the repo using the Artifactory repository browser, the tar.gz published have the correct source in the JSON podspec.
Therefore my guess is that the issue is in the REST API that downloads the full specs repo from Artifactory.

Deploy to local repository but depends on public pods

I have a locale repository. My private pods depends on other public pods

spec.dependency 'SwiftProtobuf', '~> 1.1.1'
When I run pod install

!] CocoaPods could not find compatible versions for pod "SwiftProtobuf":
  In snapshot (Podfile.lock):
    SwiftProtobuf (from `https://github.com/sliu1/swift-protobuf`, commit `db7ae5fe9651e360d90d24e53a8be7c6834dcf5a`)

  In Podfile:
    SwiftProtobuf (from `https://github.com/sliu1/swift-protobuf`, commit `db7ae5fe9651e360d90d24e53a8be7c6834dcf5a`)

    Test was resolved to 0.0.1, which depends on
      SwiftProtobuf (~> 1.1.1)

How can I specify source of dependency?

Update all repos with a single command

Is it possible to update all repos (the ones shown by pod repo-art list) with a single command? Something like pod repo-art update --all or just pod repo-art update.

cocoapods-local to deploy dependencies

hello, we have 2 cocoapods resositories configurated whit plugin cocoapods-art:
cocoapods-local with a copy of dependencies (with same version number) stored in dl.google.com (FirebaseAnalitycs for example),
but the binaries stored in our own artifactory

and cocoapods-remote with dependencies stored in github.

Our Podfile have configured both repositories (cocoapods-local first)
Our problem is the followin: when we install pod using: pod install first calculate dependencies but no use the specs stored en cocoapods-local repo (wich point to artifactory to get binaries) , it use specs stored in cocoapods-remote and we don't have accest by firewall to dl.google.com
we wan indicate that use specs stored in cocoapods-local repo to resolve dependencies.
¿is there any way to use repo cocoapods-local to resolve dependencies ?

any idea is wellcome, tanks

Cocoapods with multiple podspecs not supported.

Apologies if this is supported and I am missing something, but cocoapods-art appears to not work with Cocoapods that have multiple podspecs. The main one being Firebase iOS SDK

When adding or updating podspecs, cocoapods-art will change the specs' source fields to point to the pkg location in Artifactory as expected. Here is a snippet of what a typical Firebase iOS SDK sub podspec looks like before this change:

{
  "name": "FirebaseAnalyticsInterop",
  "version": "1.5.0",
  "summary": "Interfaces that allow other Firebase SDKs to use Analytics functionality.",
  "description": "Not for public use.\n\nA set of protocols that other Firebase SDKs can use to interoperate with FirebaseAnalytics in a\nsafe and reliable manner.",
  "homepage": "https://firebase.google.com",
  "license": {
    "type": "Apache",
    "file": "LICENSE"
  },
  "authors": "Google, Inc.",
  "source": {
    "git": "https://github.com/firebase/firebase-ios-sdk.git",
    "tag": "AnalyticsInterop-1.5.0"
  },
  "social_media_url": "https://twitter.com/Firebase",
  "platforms": {
    "ios": "8.0",
    "osx": "10.11",
    "tvos": "10.0",
    "watchos": "6.0"
  },
  "source_files": "Interop/Analytics/**/*.h",
  "public_header_files": "Interop/Analytics/Public/*.h"
}

FirebaseAnalyticsInterop points to the same git repo as most of the other sub podsepcs. The only difference is the tag. Because of this, when cocoapods-art pulls down any of the Firebase iOS SDK podspecs, it updates their source fields to the same thing:

"source": {
  "http": "https://myrepo.com/api/pods/cocoapods-art-approved/pod/pkg/Firebase/6.25.0",
  "type": "tgz"
}

Since multiple podspecs are are a part of the same overall Firebase version of 6.25.0, the pkg at that location will theoretically be overwritten every time a different sub podspec is deployed and will only reflect the last tar.gz that was uploaded.

Please let me know if any further info is needed. Thank you!

pod update not pulling latest version from artifactory

I know it's stated in the README that cocoapods-art plugin does not implicitly update your sources, however this hasn't been updated in awhile and it would help us if on pod update the latest version, or all versions, would be pulled from artifactory. Does anyone know if this is possible and if so what needs to be done, I can write it and submit pr, I'm just unsure if this is a limitation of cocoapods or artifactory?

NameError when running 'pod repo-art update' command

I've added an artifactory cocoapod using the pod repo-art add command

Since updating to cocoapods --pre last week, I get this error whenever I try and run pod repo-art update LIB_NAME

Error

NameError - uninitialized constant Pod::Command::RepoArt::Update::SourcesManager
/Users/username/.rvm/gems/ruby-2.1.5/gems/cocoapods-art-0.9.3/lib/pod/command/repo_art/update.rb:106:in `art_source_named'
/Users/username/.rvm/gems/ruby-2.1.5/gems/cocoapods-art-0.9.3/lib/pod/command/repo_art/update.rb:50:in `update'
/Users/username/.rvm/gems/ruby-2.1.5/gems/cocoapods-art-0.9.3/lib/pod/command/repo_art/update.rb:39:in `run'
/Users/username/.rvm/gems/ruby-2.1.5@global/gems/claide-1.0.0.beta.3/lib/claide/command.rb:334:in `run'
/Users/username/.rvm/gems/ruby-2.1.5@global/gems/cocoapods-1.0.0.beta.7/lib/cocoapods/command.rb:50:in `run'
/Users/username/.rvm/gems/ruby-2.1.5@global/gems/cocoapods-1.0.0.beta.7/bin/pod:44:in `<top (required)>'
/Users/username/.rvm/rubies/ruby-2.1.5/bin/pod:23:in `load'
/Users/username/.rvm/rubies/ruby-2.1.5/bin/pod:23:in `<main>'
/Users/username/.rvm/gems/ruby-2.1.5/bin/ruby_executable_hooks:15:in `eval'
/Users/username/.rvm/gems/ruby-2.1.5/bin/ruby_executable_hooks:15:in `<main>'

I believe this is due to Pod::SourcesManager being replaced with Pod::Config.instance.sources_manager

pod install changing source to master Specs repo when upgrading CocoaPods to 1.7.5

I have been using CocoaPods successfully with Artifactory for over a year with CocoaPods 1.5.3.

Today I updated to 1.7.5 and did a $ pod install, and I started getting this:

rwalberg@Ryans-MacBook-Pro:iOS (pod-bump-2019-aug)$ bundle exec pod install
/Users/rwalberg/.cocoapods/repos-art/cocoapods-remote/.artpodrc
Analyzing dependencies
/Users/rwalberg/.cocoapods/repos-art/cocoapods-remote/.artpodrc
/Users/rwalberg/.cocoapods/repos-art/cocoapods-remote/.artpodrc
Downloading dependencies
Installing ALAlertBanner 0.3.1 (source changed to `https://github.com/CocoaPods/Specs.git` from `https://pagerduty.jfrog.io/pagerduty/api/pods/cocoapods-remote`)
^C[!] Cancelled

This isn't right, since the Podfile.lock says they come from Artifactory.

Nothing has changed in my Podfile. It still says this:

plugin 'cocoapods-art', :sources => [
  'cocoapods-remote'
]

Is CocoaPods 1.7.5 not supported by the cocoapods-art gem?

Conflict between Artifactory backed repo & CocoaPods master/trunk repo

I'm using artifactory and cocoapods (via trunk) in some projects.

  • In project A_Art, all specs/pods are pulled from 'cocoapods-remote' & 'cocoapods-local'.
  • In project B_PublicSDK, all specs/pods are pulled from public cocoapods i.e. https://github.com/CocoaPods/Specs.git.

Using cocoapods-art-1.0.2.gem with cocoapods-1.9.1

Switching over to artifactory backed project A_Art, my system ends up in diffs in Podfile.lock. Or it results in "[!] Unable to find a specification for XYZ (= 1.10.2)".

Example of diff in Podfile.lock after pod install:

SPEC REPOS:
  https://company/artifactory/api/pods/cocoapods-remote:
    - Alamofire
    - AppsFlyerFramework
    - SwiftyDropbox
    - WootricSDK
+  https://github.com/CocoaPods/Specs.git:
    - AppAuth
    - Crashlytics
    - Fabric
    - Firebase
    - FirebaseABTesting
    - FirebaseAnalytics
    - FirebaseCore
    - FirebaseCoreDiagnostics
 ...

(similar to issue: #34)
^ Above, it conveniently pulled AppAuth, Crashlytics, etc from https://github.com/CocoaPods/Specs.git. It also results in diffs for the SPEC CHECKSUMS: section. How do I avoid such difs and have clean pod install?

I'm suspecting, somehow the pod install isn't using repos-art, and the plugin cocoapods-art has broken link?

Podfile structure:

platform :ios, '13.0'

plugin 'cocoapods-art', :sources => [
  'cocoapods-remote',
  'cocoapods-local'
]

target 'App-Name' do
   use frameworks!
 ....
 ....
 ....

Adding more details:

$ bundle exec pod install

/Users/dev/.cocoapods/repos-art/cocoapods-remote/.artpodrc
/Users/dev/.cocoapods/repos-art/cocoapods-local/.artpodrc
Analyzing dependencies
/Users/dev/.cocoapods/repos-art/cocoapods-remote/.artpodrc
/Users/dev/.cocoapods/repos-art/cocoapods-local/.artpodrc
[!] Unable to find a specification for `Fabric (= 1.10.2)`

You have either:
 * out-of-date source repos which you can update with `pod repo update` or with `pod install --repo-update`.
>>> `pod install --repo-update` and `pod repo-art update` done for all `repo-art`.
 * mistyped the name or version.
>>> Cross-checked the pod names. It works fine if pulling from `cocoapods master/CDN`. Also, the Spec exists on the path `/Users/dev/.cocoapods/repos-art/cocoapods-remote/`
 * not added the source repo that hosts the Podspec to your Podfile.
>>> The source repo exists. I think pod-install is failing to look into repos-art. Any way to fix it without doing entire `pod repo-art add cocoapods-remote "https://company/artifactory/api/pods/cocoapods-remote"`

My system had 4 repos: 2 in repo-art, and 2 in repo master & trunk

$ pod repo-art list

cocoapods-local
- URL: https://company/artifactory/api/pods/cocoapods-local
- Path: /Users/dev/.cocoapods/repos-art/cocoapods-local/

cocoapods-remote
- URL: https://company/artifactory/api/pods/cocoapods-remote
- Path: /Users/dev/.cocoapods/repos-art/cocoapods-remote/

2 repos
$ pod repo list

master
- Type: git (remotes/origin/master)
- URL:  https://github.com/CocoaPods/Specs.git
- Path: /Users/dev/.cocoapods/repos/master

trunk
- Type: CDN
- URL:  https://cdn.cocoapods.org/
- Path: /Users/dev/.cocoapods/repos/trunk

2 repo

I suspected some broken link, and the current project A_Art only depends on the artifactory, so I removed both master and trunk for now with pod repo remove master & pod repo remote trunk. At this point, my system has 2 repos: both in repo-art, and 0 in repo folder under /Users/dev/.cocoapods/repos

After that, pod install is failing to locate the specs. I hoped that it would pick up the specs from /Users/dev/.cocoapods/repos-art.

Tried --clean-install

bundle exec pod install --clean-install
/Users/dev/.cocoapods/repos-art/cocoapods-remote/.artpodrc
/Users/dev/.cocoapods/repos-art/cocoapods-local/.artpodrc
Analyzing dependencies
Cloning spec repo `company-artifactory-api-pods-cocoapods-remote` from `https://company/artifactory/api/pods/cocoapods-remote`
[!] Unable to add a source with url `https://company/artifactory/api/pods/cocoapods-remote` named `company-artifactory-api-pods-cocoapods-remote`.
You can try adding it manually in `/Users/dev/.cocoapods/repos` or via `pod repo add`.

^ Why is it refering to /Users/dev/.cocoapods/repos and not /Users/dev/.cocoapods/repos-art ?

Could be related: #34

Specify source URLs in Podfile

May I suggest adding syntax to the plugin sources to allow specifying the artifactory URL in the Podfile:

plugin 'cocoapods-art', :sources => {
    'artifactory-local' => 'http://art-prod.company.com:8081/artifactory/api/pods/myRepo'    
}

To eliminate the need to add all the sources manually.

Issue with repo-art command

I have installed cocoapods and cocoapods-art and can see following gems list:

activesupport (5.2.4.4, 4.2.11.1)
addressable (2.7.0)
algoliasearch (1.27.1)
atomos (0.1.3)
aws-eventstream (1.1.0)
aws-partitions (1.322.0)
aws-sdk-core (3.96.1)
aws-sdk-kms (1.31.0)
aws-sdk-s3 (1.66.0)
aws-sigv4 (1.1.3)
babosa (1.0.3)
benchmark (default: 0.1.0)
bigdecimal (default: 2.0.0)
bundle (0.0.1)
bundler (default: 2.1.4, 1.17.2)
CFPropertyList (3.0.2)
cgi (default: 0.1.0)
claide (1.0.3)
cocoapods (1.8.4)
cocoapods-art (1.0.4)
cocoapods-core (1.10.0, 1.8.4)
cocoapods-deintegrate (1.0.4)
cocoapods-downloader (1.4.0, 1.3.0)
cocoapods-plugins (1.0.0)
cocoapods-search (1.0.0)
cocoapods-stats (1.1.0)
cocoapods-trunk (1.4.1)
cocoapods-try (1.1.0)
colored (1.2)
colored2 (3.1.2)
commander-fastlane (4.4.6)
concurrent-ruby (1.1.7, 1.1.6, 1.1.5)
corefoundation (0.2.0)
csv (default: 3.1.2)
date (default: 3.0.0)
dbm (default: 1.1.0)
declarative (0.0.10)
declarative-option (0.1.0)
delegate (default: 0.1.0)
did_you_mean (default: 1.4.0)
digest-crc (0.5.1)
domain_name (0.5.20190701)
dotenv (2.7.5)
emoji_regex (1.0.1)
equatable (0.6.1)
escape (0.0.4)
etc (default: 1.1.0)
ethon (0.12.0)
excon (0.73.0)
faraday (1.0.1, 0.17.3)
faraday-cookie_jar (0.0.6)
faraday_middleware (0.14.0)
fastimage (2.1.7)
fastlane (2.148.1)
fastlane-plugin-update_provisioning_profile_specifier (1.3.1)
fcntl (default: 1.0.0)
ffi (1.13.1)
fiddle (default: 1.0.0)
fileutils (default: 1.4.1)
forwardable (default: 1.3.1)
fourflusher (2.3.1)
fuzzy_match (2.0.4)
gapic-common (0.3.4)
getoptlong (default: 0.1.0)
gh_inspector (1.1.3)
google-api-client (0.38.0)
google-cloud-core (1.5.0)
google-cloud-env (1.3.3, 1.3.2, 1.3.1)
google-cloud-errors (1.0.1, 1.0.0)
google-cloud-firestore (2.3.0, 0.21.0)
google-cloud-firestore-v1 (0.2.0)
google-cloud-storage (1.26.1)
google-gax (1.8.1)
google-protobuf (3.13.0 universal-darwin, 3.12.2 universal-darwin)
googleapis-common-protos (1.3.10)
googleapis-common-protos-types (1.0.5)
googleauth (0.13.1, 0.12.0, 0.9.0)
grpc (1.32.0 universal-darwin, 1.28.0 universal-darwin)
highline (1.7.10)
http-cookie (1.0.3)
httpclient (2.8.3)
i18n (0.9.5)
inifile (3.0.0)
io-console (default: 0.5.6)
ipaddr (default: 1.2.2)
irb (default: 1.2.6)
jmespath (1.4.0)
json (default: 2.3.0)
jwt (2.2.2, 2.2.1, 2.1.0)
logger (default: 1.4.2)
matrix (default: 0.2.0)
memoist (0.16.2)
mini_magick (4.10.1)
mini_mime (1.0.2)
mini_portile2 (2.4.0)
minitest (5.13.0)
molinillo (0.6.6)
multi_json (1.15.0, 1.14.1)
multi_xml (0.6.0)
multipart-post (2.1.1, 2.0.0)
mutex_m (default: 0.1.0)
nanaimo (0.3.0, 0.2.6)
nap (1.1.0)
naturally (2.2.0)
necromancer (0.5.1)
net-pop (default: 0.1.0)
net-smtp (default: 0.1.0)
net-telnet (0.2.0)
netrc (0.11.0)
nokogiri (1.10.9)
observer (default: 0.1.0)
open3 (default: 0.1.0)
openssl (default: 2.1.2)
os (1.1.1, 1.1.0)
ostruct (default: 0.2.0)
pastel (0.7.3)
plist (3.5.0)
power_assert (1.1.7)
prime (default: 0.1.1)
pstore (default: 0.1.0)
psych (default: 3.1.0)
public_suffix (4.0.6, 4.0.5, 2.0.5)
racc (default: 1.4.16)
rake (13.0.1)
rbtree (0.4.2)
rdoc (default: 6.2.1)
readline (default: 0.0.2)
readline-ext (default: 0.1.0)
reline (default: 0.1.5)
representable (3.0.4)
retriable (3.1.2)
rexml (default: 3.2.3)
rly (0.2.3)
rouge (2.0.7)
rss (default: 0.2.8)
ruby-keychain (0.3.2)
ruby-macho (1.4.0)
rubyzip (1.3.0)
sdbm (default: 1.0.0)
security (0.1.3)
signet (0.14.0)
simctl (1.6.8)
singleton (default: 0.1.0)
slack-notifier (2.3.2)
stringio (default: 0.1.0)
strscan (default: 1.0.3)
terminal-notifier (2.0.0)
terminal-table (1.8.0)
test-unit (3.3.4)
thread_safe (0.3.6)
timeout (default: 0.1.0)
tracer (default: 0.1.0)
tty-color (0.5.0)
tty-cursor (0.7.1)
tty-prompt (0.20.0)
tty-reader (0.7.0)
tty-screen (0.7.1)
tty-spinner (0.9.3)
typhoeus (1.4.0)
tzinfo (1.2.6)
uber (0.1.0)
unf (0.1.4)
unf_ext (0.0.7.7)
unicode-display_width (1.7.0)
uri (default: 0.10.0)
webrick (default: 1.6.0)
wisper (2.0.1)
word_wrap (1.0.0)
xcode-install (2.6.3)
xcodeproj (1.19.0, 1.14.0)
xcpretty (0.3.0)
xcpretty-travis-formatter (1.0.0)
xmlrpc (0.3.0)
yaml (default: 0.1.0)
zlib (default: 1.1.0)

Yet, my repo-art command is failing
pod repo-art list
[!] Unknown command: repo-art
Did you mean: repo?

`pod outdated` is not supported

Executing pod outdated on a project using cocoapods-art plugin fails with the following error:

Analyzing dependencies
[!] Unable to find a specification for `PodName (= 1.0.0)`

An extra Specs folder is created while executing $pod repo-art command

An extra Specs folder is created while executing $pod repo-art add command pointing to Artifactory.
It seems that the cocoapods client does not flatten the objects from the tar.gz which creates the path:
~/.cocoapods/repo-art/ocoapods-remote-test/Specs/Specs
The expected path should be : ~/.cocoapods/repo-art/ocoapods-remote-test/Specs
Please find the command below.:
$ pod repo-art add cocoapods-remote-test "https://localhost:8082/artifactory/api/pods/cocoapods-remote-test"
Retrieving index from https://localhost:8082/artifactory/api/pods/cocoapods-remote-test into local spec repo cocoapods-remote-test
Initialized empty Git repository in /Users/JFrog/.cocoapods/repos-art/cocoapods-remote-test/.git/
Auto packing the repository in the background for optimum performance.
See "git help gc" for manual housekeeping.
[main (root-commit) a4d4ed4] Artifactory repo init
583782 files changed, 25063120 insertions(+)
create mode 100644 .artpodrc
create mode 100644 Specs/.github/workflows/nightly-pr-close.yml
create mode 100644 Specs/.gitignore
create mode 100644 Specs/.rubocop.yml
create mode 100644 Specs/AlgoliaSearch.yml
create mode 100644 Specs/CocoaPods-version.yml
create mode 100644 Specs/Gemfile
create mode 100644 Specs/Gemfile.lock
create mode 100644 Specs/README.md
create mode 100644 Specs/Scripts/README.md
create mode 100755 Specs/Scripts/create_pods_and_versions_index.rb
create mode 100755 Specs/Scripts/netlify_deploy.sh
create mode 100644 Specs/Scripts/netlify_redirects.txt
create mode 100644 Specs/Specs/.gitkeep
create mode 100644 Specs/Specs/0/0/0/AMRAdapterMintegral-Beta/7.0.6.1/AMRAdapterMintegral-Beta.podspec.json
create mode 100644 Specs/Specs/0/0/0/AMRAdapterMintegral-Beta/7.1.2.1/AMRAdapterMintegral-Beta.podspec.json
create mode 100644 Specs/Specs/0/0/0/AMRAdapterMintegral-Beta/7.1.5.0/AMRAdapterMintegral-Beta.podspec.json
create mode 100644 Specs/Specs/0/0/0/AMRAdapterMintegral-Beta/7.1.7.0/AMRAdapterMintegral-Beta.podspec.json
create mode 100644 Specs/Specs/0/0/0/AMRAdapterMintegral-Beta/7.1.7.1/AMRAdapterMintegral-Beta.podspec.json
create mode 100644 Specs/Specs/0/0/0/AMRAdapterMintegral-Beta/7.1.8.0/AMRAdapterMintegral-Beta.podspec.json
create mode 100644 Specs/Specs/0/0/0/AMRAdapterMintegral-Beta/7.1.9.0/AMRAdapterMintegral-Beta.podspec.json
create mode 100644 Specs/Specs/0/0/0/CAIStatusBar/0.0.1/CAIStatusBar.podspec.json
create mode 100644 Specs/Specs/0/0/0/CWNotificationBanner/0.1.0/CWNotificationBanner.podspec.json
$ pod repo-art --version
1.1.0
$ pod --version
1.11.3
$ gem which cocoapods-downloader
/Library/Ruby/Gems/2.6.0/gems/cocoapods-downloader-1.6.3/lib/cocoapods-downloader.rb

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.