jfrog / cocoapods-art

CocoaPods Plugin to work against Artifactory Repository
Apache License 2.0
58 stars 28 forks source link

uninitialized constant Pod::MasterSource::MASTER_REPO_NAME #33

Open luky0007 opened 5 years ago

luky0007 commented 5 years ago

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:insource_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:inmap' 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:inaggregate' 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:inrepo_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:inreport' 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:inhandleexception' 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:inrun' 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...

rwalbergpd commented 5 years ago

Have you done a $ pod repo update? CocoaPods still needs the master repo to be checked out.

lampapos commented 5 years ago

Hello! Help me, please, I have the same problem.

We faced this issue https://github.com/jfrog/cocoapods-art/issues/25 (we need to remove Podfile.lock each time before pod install). We know that the root reason for this is a bug in Cocoapods - https://github.com/CocoaPods/CocoaPods/issues/8540

But it was fixed in 1.8 and now I'm trying to check build with 1.8.0.beta.2 and got the same error as the topic starter:

Generating Pods project
Integrating client project
/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 (NameError)
    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.8.0.beta.2/lib/cocoapods-core/source/manager.rb:324:in `block in aggregate_with_repos'
    from /Library/Ruby/Gems/2.3.0/gems/cocoapods-core-1.8.0.beta.2/lib/cocoapods-core/source/manager.rb:324:in `map'
    from /Library/Ruby/Gems/2.3.0/gems/cocoapods-core-1.8.0.beta.2/lib/cocoapods-core/source/manager.rb:324:in `aggregate_with_repos'
    from /Library/Ruby/Gems/2.3.0/gems/cocoapods-core-1.8.0.beta.2/lib/cocoapods-core/source/manager.rb:24:in `aggregate'
    from /Library/Ruby/Gems/2.3.0/gems/cocoapods-core-1.8.0.beta.2/lib/cocoapods-core/source/manager.rb:58:in `all'
    from /Library/Ruby/Gems/2.3.0/gems/cocoapods-1.8.0.beta.2/lib/cocoapods/user_interface/error_report.rb:173:in `repo_information'
    from /Library/Ruby/Gems/2.3.0/gems/cocoapods-1.8.0.beta.2/lib/cocoapods/user_interface/error_report.rb:77:in `stack'
    from /Library/Ruby/Gems/2.3.0/gems/cocoapods-1.8.0.beta.2/lib/cocoapods/user_interface/error_report.rb:24:in `report'
    from /Library/Ruby/Gems/2.3.0/gems/cocoapods-1.8.0.beta.2/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.8.0.beta.2/lib/cocoapods/command.rb:52:in `run'
    from /Library/Ruby/Gems/2.3.0/gems/cocoapods-1.8.0.beta.2/bin/pod:55:in `<top (required)>'
    from /usr/local/bin/pod:22:in `load'
    from /usr/local/bin/pod:22:in `<main>'

Our project uses a private Cocoapods repo on Artifactory.

My environment:

CocoaPods version: 1.8.0.beta.2 Artifactory plugin version: 1.0.3

➜  gem env
RubyGems Environment:
  - RUBYGEMS VERSION: 2.5.2.3
  - RUBY VERSION: 2.3.7 (2018-03-28 patchlevel 456) [universal.x86_64-darwin18]
  - INSTALLATION DIRECTORY: /Library/Ruby/Gems/2.3.0
  - USER INSTALLATION DIRECTORY: /Users/mih/.gem/ruby/2.3.0
  - RUBY EXECUTABLE: /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/bin/ruby
  - EXECUTABLE DIRECTORY: /usr/local/bin
  - SPEC CACHE DIRECTORY: /Users/mih/.gem/specs
  - SYSTEM CONFIGURATION DIRECTORY: /Library/Ruby/Site
  - RUBYGEMS PLATFORMS:
    - ruby
    - universal-darwin-18
  - GEM PATHS:
     - /Library/Ruby/Gems/2.3.0
     - /Users/mih/.gem/ruby/2.3.0
     - /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/lib/ruby/gems/2.3.0
  - GEM CONFIGURATION:
     - :update_sources => true
     - :verbose => true
     - :backtrace => false
     - :bulk_threshold => 1000
  - REMOTE SOURCES:
     - https://rubygems.org/
  - SHELL PATH:
     - /usr/local/opt/ruby/bin
     - /usr/local/bin
     - /usr/bin
     - /bin
     - /usr/sbin
     - /sbin
     - /Library/Frameworks/Mono.framework/Versions/Current/Commands
     - /Users/mih/Library/Android/sdk/platform-tools
     - /Users/mih/Library/Android/sdk/tools
     - /Users/mih/Library/Android/sdk/emulator
     - /Users/mih/Library/Android/sdk/tools
     - /Users/mih/Library/Android/sdk/tools/bin
     - /Users/mih/Library/Android/sdk/platform-tools
luky0007 commented 5 years ago

Have you done a $ pod repo update? CocoaPods still needs the master repo to be checked out.

Yes and it not worked.

mschinis commented 5 years ago

I have the same issue when running pod install on the CI

mschinis commented 5 years ago

Upon further investigation, seems like cocoapods-core introduced a breaking change in 1.8.0 on this PR when they replaced Pods::MasterSource with Pods::TrunkSource here https://github.com/CocoaPods/Core/pull/552/files#diff-93c5b71b3ca5a2938863bca360c91993R31

I assume this is something that can be fixed within cocoapods-art here https://github.com/jfrog/cocoapods-art/blob/master/lib/cocoapods_plugin.rb#L122

In order to fix my CI build, I changed the cocoapods version to 1.7.x in Gemfile, forcing the cocoapods-core dependency to downgrade

gem "CocoaPods", "~> 1.7.0"
TripwireNL commented 5 years ago

Created a PR for this which fixes the issue. Hopefully it will be merged soon! https://github.com/jfrog/cocoapods-art/pull/36