Coder Social home page Coder Social logo

rainforest's Introduction

This repo needs updating.

For most contributions you can just fork https://github.com/CocoaPods/CocoaPods instead. Don't attempt rake bootstrap. You could run into all sorts of ruby and rake versioning issues.

CocoaPods Rainforest

Build Status

To effectively farm CocoaPods, trees are needed (the gems), and those trees need a special and unique habitat to flourish: the Rainforest.

This repository allows you to automate the tasks necessary to develop CocoaPods. In detail, the following tasks can be performed from a centralised location:

  • Clone all repositories containing gems.
  • Centralise bootstrapping of all the repositories.
  • Switch to SSH URLs.
  • Set up Bundler's Local Git Repos feature.
  • Pull of all the repositories.
  • Check the status of each repository, scanning for dirty working copies or gems which should be released.

Usage

To get started, simply run:

$ git clone https://github.com/CocoaPods/Rainforest.git
$ cd Rainforest
$ rake bootstrap

To check that the setup process worked, you can run the following command:

$ cd Rainforest
$ CocoaPods/bin/pod --help

The above means that you can use the checked out version of CocoaPods for development and that you can experiment with your changes directly. If you would like CocoaPods to pick up the changes of the other checked out dependencies, you can use the local git repos features of Bundler:

$ rake local_dependencies_set

Finally, to see all the available tasks, run:

$ rake -T

Useful tasks

  • rake pull: Pulls all the repos and updates the submodules.
  • rake cleanup: Performs safe cleanup operations, like deleting merged branches.
  • rake status: Prints the repositories with unmerged branches or a dirty. working copy and lists the gems with commits after the last release.
  • rake issues: Gets the count of the open issues.

Tasks for the Core team

  • rake clone_all: Clones all the CocoaPods repositories.
  • rake switch_to_ssh: If SSH is your fancy.
  • rake issues: Prints the count of the open issues for each gem.
  • rake release[gem_dir]: Releases the gem with the given name.
  • update_rubocop_configuration[gem_dir]: Update the shared CocoaPods RuboCop configuration for the given repo or for all the repos.

Release Configuration

See RELEASING.md.

Collaborate

All CocoaPods development happens on GitHub; there is a repository for CocoaPods and one for the CocoaPods specs. Contributing patches or Pods is really easy and gratifying.

Follow @CocoaPods to get up to date information about what's going on in the CocoaPods world.

License

This gem and CocoaPods are available under the MIT license.

rainforest's People

Contributors

alisoftware avatar alloy avatar amorde avatar benasher44 avatar coeur avatar dnkoutso avatar emkosz avatar endocrimes avatar fabiopelosin avatar fidothe avatar jpsim avatar karla-isabel-sandoval avatar kylef avatar mrackwitz avatar neonichu avatar noreaster76 avatar orta avatar segiddins 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  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  avatar  avatar  avatar  avatar  avatar  avatar  avatar

rainforest's Issues

cant bootstrap

$ rake bootstrap --trace
rake aborted!
undefined method `scope' for #<Rake::NameSpace:0x007fc82d885e58>
/Users/joao/DEV/Rainforest/Rakefile:1130:in `block (2 levels) in <top (required)>'
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rake/task_manager.rb:207:in `in_namespace'
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rake/dsl_definition.rb:105:in `namespace'
/Users/joao/DEV/Rainforest/Rakefile:1119:in `block in <top (required)>'
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rake/task_manager.rb:207:in `in_namespace'
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rake/dsl_definition.rb:105:in `namespace'
/Users/joao/DEV/Rainforest/Rakefile:1103:in `<top (required)>'
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rake/rake_module.rb:25:in `load'
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rake/rake_module.rb:25:in `load_rakefile'
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rake/application.rb:604:in `raw_load_rakefile'
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rake/application.rb:89:in `block in load_rakefile'
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rake/application.rb:160:in `standard_exception_handling'
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rake/application.rb:88:in `load_rakefile'
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rake/application.rb:72:in `block in run'
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rake/application.rb:160:in `standard_exception_handling'
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rake/application.rb:70:in `run'
/usr/bin/rake:37:in `<main>'

rake bootstrap failing with ruby 2.2.0

Hi all.
While setting up Rainforest on a fresh install with ruby 2.2.0 I noticed that json 1.7.7 fails, as stated here.
Using ruby 2.1.2 fixes the issue, maybe the README should point this out, what do you think?

rake bootstrap fails due to cocoapods-docs Ruby version requirement

🌈

Question

This issue might be related to cocoapods-docs. rake bootstrap fails due to cocoapods-docs ruby version requirement 2.0. Does this requirement can be changed to something like 2.0 or later?

Report

What did you do?

rake bootstrap

What did you expect to happen?

I expected to bootstrap and build CocoaPods and its dependencies.

What happened instead?

rake aborted with the following error while Bootstrapping cocoapods-docs :

Bootstrapping cocoapods-docs
rake --no-search bootstrap
/Users/keitaito/.rbenv/versions/2.3.2/bin/bundle

--------------------------------------------------------------------------------
Installing gems
--------------------------------------------------------------------------------

bundle install
Fetching gem metadata from http://rubygems.org/.............
Fetching version metadata from http://rubygems.org/...
Fetching dependency metadata from http://rubygems.org/..
Resolving dependencies...
cocoapods-docs-0.2.0 requires ruby version = 2.0, which is incompatible with the
current version, ruby 2.3.2p217
rake aborted!
Command failed with status (5): [bundle install...]
/Users/keitaito/dev/Xcode/Repos/Clones/Rainforest/cocoapods-docs/Rakefile:9:in `block in <top (required)>'
Tasks: TOP => bootstrap
(See full trace by running task with --trace)
rake aborted!
Command failed with status (1): [rake --no-search bootstrap...]
/Users/keitaito/dev/Xcode/Repos/Clones/Rainforest/Rakefile:117:in `block (3 levels) in <top (required)>'
/Users/keitaito/dev/Xcode/Repos/Clones/Rainforest/Rakefile:115:in `chdir'
/Users/keitaito/dev/Xcode/Repos/Clones/Rainforest/Rakefile:115:in `block (2 levels) in <top (required)>'
/Users/keitaito/dev/Xcode/Repos/Clones/Rainforest/Rakefile:114:in `each'
/Users/keitaito/dev/Xcode/Repos/Clones/Rainforest/Rakefile:114:in `block in <top (required)>'
/Users/keitaito/dev/Xcode/Repos/Clones/Rainforest/Rakefile:56:in `block in <top (required)>'
Tasks: TOP => bootstrap_repos
(See full trace by running task with --trace)

CocoaPods Environment

Stack

I use rbenv for managing ruby versions.

   CocoaPods : 1.2.0
        Ruby : ruby 2.3.2p217 (2016-11-15 revision 56796) [x86_64-darwin16]
    RubyGems : 2.5.2
        Host : Mac OS X 10.12.3 (16D32)
       Xcode : 8.2.1 (8C1002)
         Git : git version 2.10.2
Ruby lib dir : /Users/keitaito/.rbenv/versions/2.3.2/lib
Repositories : master - https://github.com/CocoaPods/Specs.git @ c1b34a8d895229ee7ef5d1a3037843776396456c

Installation Source

Executable Path: /Users/keitaito/.rbenv/versions/2.3.2/bin/pod

Plugins

cocoapods-deintegrate : 1.0.1
cocoapods-plugins     : 1.0.0
cocoapods-search      : 1.0.0
cocoapods-stats       : 1.0.0
cocoapods-trunk       : 1.1.2
cocoapods-try         : 1.1.0

To fix the above issue, I installed ruby 2.0.0-p648, and ran rake bootstrap. Then, I got another error:

An error occurred while installing json (1.7.7), and Bundler cannot
continue.
Make sure that `gem install json -v '1.7.7'` succeeds before bundling.
rake aborted!

Some projects like Xcodeproj use the forked json 1.7.7 gem and it seems ruby 2.0.0-p648 has some issue with it. So, I updated their Gemfiles to use the original json 1.7.7 as the issue 63 mentioned, and it fixes the above error. Even though I'm still seeing some rake aborted! messages, rake bootstrap can be complete now. I was wondering all these issues could be fixed if cocoapods-docs can be built with newer ruby.

The entire log is very long, so I posted it on my gist.

It would be great if I could hear opinions and suggestions from anyone who might know these issues. I would love to contribute to fix this issue as well! Thank you 😃

Bootstrap fails even though bundler 1.17 installed

$ sudo gem install bundler -v '~> 1.3'
(succeeds)
$ rake bootstrap
...
--------------------------------------------------------------------------------
Installing gems
--------------------------------------------------------------------------------

bundle install
Fetching gem metadata from https://rubygems.org/...............
Fetching gem metadata from https://rubygems.org/.
Resolving dependencies...
Bundler could not find compatible versions for gem "bundler":
  In Gemfile:
    bundler (~> 1.3)

  Current Bundler version:
    bundler (2.0.1)
This Gemfile requires a different version of Bundler.
Perhaps you need to update Bundler by running `gem install bundler`?

Could not find gem 'bundler (~> 1.3)' in any of the relevant sources:
  the local ruby installation
rake aborted!

Any advice on how to fix this?

Travis should test bootstrap task

So that new developers are ensured to get a working env
(and because it broke lately without any existing dev noticing, requiring the arrival of a new dev team member like me to realize it was broken)

(from CocoaPods/CLAide#30)

Error installing Rainforest (`file.metas['link']`)

There is an error in the Rakefile@L417

file.metas['link'].first ➡️ Undefined method metas for #<Tempfile>

I just freshly cloned the repo, did execute rvm gemset create rainforest to have a clean gemset to start from, then followed the README instructions.

$ rvm current
ruby-2.0.0-p353@rainforest
$ rake --trace bootstrap
** Invoke bootstrap (first_time)
** Execute bootstrap
/Users/olivier/.rvm/gems/ruby-2.0.0-p353@global/bin/bundler
** Invoke clone (first_time)
** Execute clone

--------------------------------------------------------------------------------
Fetching repositories list
--------------------------------------------------------------------------------
rake aborted!
undefined method `metas' for #<Tempfile:0x00000101a959c8>
/Users/olivier/Documents/Dev/GitHub/Rainforest/Rakefile:417:in `block in fetch_repos'
/Users/olivier/Documents/Dev/GitHub/Rainforest/Rakefile:412:in `loop'
/Users/olivier/Documents/Dev/GitHub/Rainforest/Rakefile:412:in `fetch_repos'
/Users/olivier/Documents/Dev/GitHub/Rainforest/Rakefile:398:in `fetch_default_repos'
/Users/olivier/Documents/Dev/GitHub/Rainforest/Rakefile:48:in `block in <top (required)>'
/Users/olivier/.rvm/rubies/ruby-2.0.0-p353/lib/ruby/2.0.0/rake/task.rb:228:in `call'
/Users/olivier/.rvm/rubies/ruby-2.0.0-p353/lib/ruby/2.0.0/rake/task.rb:228:in `block in execute'
/Users/olivier/.rvm/rubies/ruby-2.0.0-p353/lib/ruby/2.0.0/rake/task.rb:223:in `each'
/Users/olivier/.rvm/rubies/ruby-2.0.0-p353/lib/ruby/2.0.0/rake/task.rb:223:in `execute'
/Users/olivier/.rvm/rubies/ruby-2.0.0-p353/lib/ruby/2.0.0/rake/task.rb:166:in `block in invoke_with_call_chain'
/Users/olivier/.rvm/rubies/ruby-2.0.0-p353/lib/ruby/2.0.0/monitor.rb:211:in `mon_synchronize'
/Users/olivier/.rvm/rubies/ruby-2.0.0-p353/lib/ruby/2.0.0/rake/task.rb:159:in `invoke_with_call_chain'
/Users/olivier/.rvm/rubies/ruby-2.0.0-p353/lib/ruby/2.0.0/rake/task.rb:152:in `invoke'
/Users/olivier/Documents/Dev/GitHub/Rainforest/Rakefile:35:in `block in <top (required)>'
/Users/olivier/.rvm/rubies/ruby-2.0.0-p353/lib/ruby/2.0.0/rake/task.rb:228:in `call'
/Users/olivier/.rvm/rubies/ruby-2.0.0-p353/lib/ruby/2.0.0/rake/task.rb:228:in `block in execute'
/Users/olivier/.rvm/rubies/ruby-2.0.0-p353/lib/ruby/2.0.0/rake/task.rb:223:in `each'
/Users/olivier/.rvm/rubies/ruby-2.0.0-p353/lib/ruby/2.0.0/rake/task.rb:223:in `execute'
/Users/olivier/.rvm/rubies/ruby-2.0.0-p353/lib/ruby/2.0.0/rake/task.rb:166:in `block in invoke_with_call_chain'
/Users/olivier/.rvm/rubies/ruby-2.0.0-p353/lib/ruby/2.0.0/monitor.rb:211:in `mon_synchronize'
/Users/olivier/.rvm/rubies/ruby-2.0.0-p353/lib/ruby/2.0.0/rake/task.rb:159:in `invoke_with_call_chain'
/Users/olivier/.rvm/rubies/ruby-2.0.0-p353/lib/ruby/2.0.0/rake/task.rb:152:in `invoke'
/Users/olivier/.rvm/rubies/ruby-2.0.0-p353/lib/ruby/2.0.0/rake/application.rb:143:in `invoke_task'
/Users/olivier/.rvm/rubies/ruby-2.0.0-p353/lib/ruby/2.0.0/rake/application.rb:101:in `block (2 levels) in top_level'
/Users/olivier/.rvm/rubies/ruby-2.0.0-p353/lib/ruby/2.0.0/rake/application.rb:101:in `each'
/Users/olivier/.rvm/rubies/ruby-2.0.0-p353/lib/ruby/2.0.0/rake/application.rb:101:in `block in top_level'
/Users/olivier/.rvm/rubies/ruby-2.0.0-p353/lib/ruby/2.0.0/rake/application.rb:110:in `run_with_threads'
/Users/olivier/.rvm/rubies/ruby-2.0.0-p353/lib/ruby/2.0.0/rake/application.rb:95:in `top_level'
/Users/olivier/.rvm/rubies/ruby-2.0.0-p353/lib/ruby/2.0.0/rake/application.rb:73:in `block in run'
/Users/olivier/.rvm/rubies/ruby-2.0.0-p353/lib/ruby/2.0.0/rake/application.rb:160:in `standard_exception_handling'
/Users/olivier/.rvm/rubies/ruby-2.0.0-p353/lib/ruby/2.0.0/rake/application.rb:70:in `run'
/Users/olivier/.rvm/rubies/ruby-2.0.0-p353/bin/rake:37:in `<main>'
Tasks: TOP => clone

Submodule issues with cocoapods-try

-------------------------------------------------------------------------------
Environment bootstrap
--------------------------------------------------------------------------------

Updating submodules
/usr/local/var/rbenv/versions/2.1.1/bin/bundle
Installing gems
rake aborted!
Updating https://github.com/CocoaPods/Core.git
Updating https://github.com/CocoaPods/Xcodeproj.git
Updating https://github.com/CocoaPods/CLAide.git
Updating https://github.com/CocoaPods/cocoapods-downloader.git
Updating https://github.com/CocoaPods/cocoapods-try.git
fatal: Refusing to fetch into current branch refs/heads/master of non-bare repository
Unexpected end of command stream
Retrying git fetch --force --quiet --tags 'https://github.com/CocoaPods/cocoapods-try.git' "refs/heads/*:refs/heads/*" due to error (2/3): Bundler::Source::Git::GitCommandError Git error: command `git fetch --force --quiet --tags 'https://github.com/CocoaPods/cocoapods-try.git' "refs/heads/*:refs/heads/*"` in directory /usr/local/var/rbenv/versions/2.1.1/lib/ruby/gems/2.1.0/cache/bundler/git/cocoapods-try-b6b0cdfb56561579b77f8a36a9dc8564cc7bad71 has failed.
If this error persists you could try removing the cache directory '/usr/local/var/rbenv/versions/2.1.1/lib/ruby/gems/2.1.0/cache/bundler/git/cocoapods-try-b6b0cdfb56561579b77f8a36a9dc8564cc7bad71'
fatal: Refusing to fetch into current branch refs/heads/master of non-bare repository
Unexpected end of command stream
Retrying git fetch --force --quiet --tags 'https://github.com/CocoaPods/cocoapods-try.git' "refs/heads/*:refs/heads/*" due to error (3/3): Bundler::Source::Git::GitCommandError Git error: command `git fetch --force --quiet --tags 'https://github.com/CocoaPods/cocoapods-try.git' "refs/heads/*:refs/heads/*"` in directory /usr/local/var/rbenv/versions/2.1.1/lib/ruby/gems/2.1.0/cache/bundler/git/cocoapods-try-b6b0cdfb56561579b77f8a36a9dc8564cc7bad71 has failed.
If this error persists you could try removing the cache directory '/usr/local/var/rbenv/versions/2.1.1/lib/ruby/gems/2.1.0/cache/bundler/git/cocoapods-try-b6b0cdfb56561579b77f8a36a9dc8564cc7bad71'
fatal: Refusing to fetch into current branch refs/heads/master of non-bare repository
Unexpected end of command stream
Git error: command `git fetch --force --quiet --tags 'https://github.com/CocoaPods/cocoapods-try.git' "refs/heads/*:refs/heads/*"` in directory /usr/local/var/rbenv/versions/2.1.1/lib/ruby/gems/2.1.0/cache/bundler/git/cocoapods-try-b6b0cdfb56561579b77f8a36a9dc8564cc7bad71 has failed.
If this error persists you could try removing the cache directory '/usr/local/var/rbenv/versions/2.1.1/lib/ruby/gems/2.1.0/cache/bundler/git/cocoapods-try-b6b0cdfb56561579b77f8a36a9dc8564cc7bad71'
/Users/orta/dev/ruby/Rainforest/CocoaPods/Rakefile:269:in `execute_command'
/Users/orta/dev/ruby/Rainforest/CocoaPods/Rakefile:27:in `block in <top (required)>'
Tasks: TOP => bootstrap
(See full trace by running task with --trace)
rake aborted!
Command failed with status (1): [rake --no-search bootstrap...]
/Users/orta/dev/ruby/Rainforest/Rakefile:91:in `block (3 levels) in <top (required)>'
/Users/orta/dev/ruby/Rainforest/Rakefile:88:in `chdir'
/Users/orta/dev/ruby/Rainforest/Rakefile:88:in `block (2 levels) in <top (required)>'
/Users/orta/dev/ruby/Rainforest/Rakefile:87:in `each'
/Users/orta/dev/ruby/Rainforest/Rakefile:87:in `block in <top (required)>'
/Users/orta/dev/ruby/Rainforest/Rakefile:48:in `block in <top (required)>'
Tasks: TOP => bootstrap_repos
(See full trace by running task with --trace)

Warnings using unshallow_all

When running rake unshallow_all, I get these warnings for all repos:

remote: Enumerating objects: 1645, done.
remote: Counting objects: 100% (1645/1645), done.
remote: Compressing objects: 100% (651/651), done.
remote: Total 1585 (delta 861), reused 1537 (delta 815), pack-reused 0
Receiving objects: 100% (1585/1585), 250.58 KiB | 2.85 MiB/s, done.
Resolving deltas: 100% (861/861), completed with 42 local objects.

Overwrite fetch configuration
error: unknown option `set'
usage: git config [<options>]

Config file location
    --global              use global config file
    --system              use system config file
    --local               use repository config file
    --worktree            use per-worktree config file
    -f, --file <file>     use given config file
    --blob <blob-id>      read config from given blob object

Action
    --get                 get value: name [value-regex]
    --get-all             get all values: key [value-regex]
    --get-regexp          get values for regexp: name-regex [value-regex]
    --get-urlmatch        get value specific for the URL: section[.var] URL
    --replace-all         replace all matching variables: name value [value_regex]
    --add                 add a new variable: name value
    --unset               remove a variable: name [value-regex]
    --unset-all           remove all matches: name [value-regex]
    --rename-section      rename section: old-name new-name
    --remove-section      remove a section: name
    -l, --list            list all
    -e, --edit            open an editor
    --get-color           find the color configured: slot [default]
    --get-colorbool       find the color setting: slot [stdout-is-tty]

Type
    -t, --type <>         value is given this type
    --bool                value is "true" or "false"
    --int                 value is decimal number
    --bool-or-int         value is --bool or --int
    --path                value is a path (file or directory name)
    --expiry-date         value is an expiry date

Other
    -z, --null            terminate values with NUL byte
    --name-only           show variable names only
    --includes            respect include directives on lookup
    --show-origin         show origin of config (file, standard input, blob, command line)
    --default <value>     with --get, use default value when missing entry```

I'm running `git` version 2.20.1.

Issue bootstrapping rainforest

Bootstrapping CLAide
rake aborted!
NameError: uninitialized constant RuboCop
/Users/orta/dev/ruby/Rainforest/CLAide/Rakefile:38:in `<top (required)>'
(See full trace by running task with --trace)

Failure in Bootstrapping Xcodeproj

When running rake bootstrap, I get this:

Bootstrapping claide-completion

Bootstrapping cocoapods-downloader

Bootstrapping fourflusher

Bootstrapping Xcodeproj
rake --no-search bootstrap
/Users/zhangao/.rvm/gems/ruby-2.3.8/bin/bundle
bundle install
Cannot use local override for CLAide at
/Users/zhangao/Downloads/Rainforest/CLAide because :branch is not specified
in Gemfile. Specify a branch or use `bundle config --delete` to remove the
local override
rake aborted!
Command failed with status (11): [bundle install...]
/Users/zhangao/Downloads/Rainforest/Xcodeproj/Rakefile:9:in `block in <top (required)>'
/Users/zhangao/.rvm/gems/ruby-2.3.8/gems/rake-12.0.0/exe/rake:27:in `<top (required)>'
/Users/zhangao/.rvm/gems/ruby-2.3.8/bin/ruby_executable_hooks:24:in `eval'
/Users/zhangao/.rvm/gems/ruby-2.3.8/bin/ruby_executable_hooks:24:in `<main>'
Tasks: TOP => bootstrap
(See full trace by running task with --trace)
rake aborted!
Command failed with status (1): [rake --no-search bootstrap...]
/Users/zhangao/Downloads/Rainforest/Rakefile:119:in `block (3 levels) in <top (required)>'
/Users/zhangao/Downloads/Rainforest/Rakefile:117:in `chdir'
/Users/zhangao/Downloads/Rainforest/Rakefile:117:in `block (2 levels) in <top (required)>'
/Users/zhangao/Downloads/Rainforest/Rakefile:116:in `each'
/Users/zhangao/Downloads/Rainforest/Rakefile:116:in `block in <top (required)>'
/Users/zhangao/Downloads/Rainforest/Rakefile:56:in `block in <top (required)>'
/Users/zhangao/.rvm/gems/ruby-2.3.8/gems/rake-12.0.0/exe/rake:27:in `<top (required)>'
/Users/zhangao/.rvm/gems/ruby-2.3.8/bin/ruby_executable_hooks:24:in `eval'
/Users/zhangao/.rvm/gems/ruby-2.3.8/bin/ruby_executable_hooks:24:in `<main>'
Tasks: TOP => bootstrap_repos
(See full trace by running task with --trace)

ruby -v:

ruby 2.3.8p459 (2018-10-18 revision 65136) [x86_64-darwin19]

bundler -v:

Bundler version 2.0.2

Make `rake versions` display if we are using local gem source

Is there an easy way to check which source/Version each gem is using, e.g. "is it using the system-installed gem (= a tagged version from the remote), the HEAD of the remote or the local cloned version"? (cc @irrationalfab)

For example it seems to me that rake versions will print x.y.z-like versions of each gem, but this is not telling us if we are working with the official 1.2.3 released version, or the local version which has some new commits since this official 1.2.3 (but is still named 1.2.3 because we didn't update the .gemspec)


(Sure one can run bundle config and check if we have a local.xxx config for each of the repos in the Rainforest, but this is pretty verbose, could contain much more info than just the local.xxx configs, and not very neat to read)

Gemfile infinite loop during rake bootstrap

I'm trying to get the development environment setup. I had the same issue as this #38 so I installed Ruby 2.1.2 and now I get an error about gems depending on each other and creating an infinite loop.

--------------------------------------------------------------------------------
Environment bootstrap
--------------------------------------------------------------------------------

Updating submodules
/Users/rchinsio/.rbenv/versions/2.1.2/bin/bundle
Installing gems

Bootstrapping cocoapods-deintegrate
rake aborted!
Bundler::GitError: Cannot use local override for CocoaPods at /Users/rchinsio/git/Rainforest/CocoaPods Bundler::GitError: Cannot use local override for CocoaPods at /Users/rchinsio/git/Rainforest/CocoaPods because :branch is not specified in Gemfile. Specify a branch or use `bundle config --delete` to remove the local override
/Users/rchinsio/git/Rainforest/cocoapods-deintegrate/Rakefile:2:in `<top (required)>'
(See full trace by running task with --trace)

Bootstrapping cocoapods-docs
rake --no-search bootstrap
/Users/rchinsio/.rbenv/versions/2.1.2/bin/bundle

--------------------------------------------------------------------------------
Installing gems
--------------------------------------------------------------------------------

bundle install
Fetching gem metadata from http://rubygems.org/............
Fetching version metadata from http://rubygems.org/...
Fetching dependency metadata from http://rubygems.org/..
Resolving dependencies...
Your Gemfile requires gems that depend on each other, creating an infinite loop. Please remove either gem 'cocoapods' or gem 'cocoapods-deintegrate' and try again.
rake aborted!
Command failed with status (21): [bundle install...]
/Users/rchinsio/git/Rainforest/cocoapods-docs/Rakefile:9:in `block in <top (required)>'
Tasks: TOP => bootstrap
(See full trace by running task with --trace)
rake aborted!
Command failed with status (1): [rake --no-search bootstrap...]
/Users/rchinsio/git/Rainforest/Rakefile:94:in `block (3 levels) in <top (required)>'
/Users/rchinsio/git/Rainforest/Rakefile:92:in `chdir'
/Users/rchinsio/git/Rainforest/Rakefile:92:in `block (2 levels) in <top (required)>'
/Users/rchinsio/git/Rainforest/Rakefile:91:in `each'
/Users/rchinsio/git/Rainforest/Rakefile:91:in `block in <top (required)>'
/Users/rchinsio/git/Rainforest/Rakefile:53:in `block in <top (required)>'
Tasks: TOP => bootstrap_repos
(See full trace by running task with --trace)

Errors running rake bootstrap

OS X Yosemite Beta 10.10

Following instructions http://guides.cocoapods.org/contributing/dev-environment.html

Brets-MBP:Documents bret$ git clone https://github.com/CocoaPods/Rainforest.git
Cloning into 'Rainforest'...
remote: Counting objects: 260, done.
remote: Compressing objects: 100% (3/3), done.
remote: Total 260 (delta 0), reused 0 (delta 0)
Receiving objects: 100% (260/260), 56.93 KiB | 0 bytes/s, done.
Resolving deltas: 100% (149/149), done.
Checking connectivity... done.
Brets-MBP:Documents bret$ cd Rainforest/
Brets-MBP:Rainforest bret$ rake bootstrap
[!] Please install the bundler gem manually:
    $ [sudo] gem install bundler
Brets-MBP:Rainforest bret$ sudo gem install bundler
Password:
Fetching: bundler-1.7.2.gem (100%)
Successfully installed bundler-1.7.2
Parsing documentation for bundler-1.7.2
Installing ri documentation for bundler-1.7.2
1 gem installed
Brets-MBP:Rainforest bret$ rake bootstrap
/usr/bin/bundle

--------------------------------------------------------------------------------
Fetching repositories list
--------------------------------------------------------------------------------
Found 35 public repositories

--------------------------------------------------------------------------------
Cloning the GEM repositories
--------------------------------------------------------------------------------

Cloning CocoaPods
git clone https://github.com/CocoaPods/CocoaPods.git
Cloning into 'CocoaPods'...
remote: Counting objects: 29243, done.
remote: Compressing objects: 100% (82/82), done.
remote: Total 29243 (delta 42), reused 0 (delta 0)
Receiving objects: 100% (29243/29243), 26.86 MiB | 2.55 MiB/s, done.
Resolving deltas: 100% (18803/18803), done.
Checking connectivity... done.

Cloning Xcodeproj
git clone https://github.com/CocoaPods/Xcodeproj.git
Cloning into 'Xcodeproj'...
remote: Counting objects: 6343, done.
remote: Compressing objects: 100% (65/65), done.
remote: Total 6343 (delta 25), reused 0 (delta 0)
Receiving objects: 100% (6343/6343), 2.13 MiB | 1.18 MiB/s, done.
Resolving deltas: 100% (3305/3305), done.
Checking connectivity... done.

Cloning CLAide
git clone https://github.com/CocoaPods/CLAide.git
Cloning into 'CLAide'...
remote: Counting objects: 1802, done.
remote: Compressing objects: 100% (23/23), done.
remote: Total 1802 (delta 7), reused 0 (delta 0)
Receiving objects: 100% (1802/1802), 308.05 KiB | 0 bytes/s, done.
Resolving deltas: 100% (1065/1065), done.
Checking connectivity... done.

Cloning Core
git clone https://github.com/CocoaPods/Core.git
Cloning into 'Core'...
remote: Counting objects: 17554, done.
remote: Compressing objects: 100% (8659/8659), done.
remote: Total 17554 (delta 8726), reused 17339 (delta 8560)
Receiving objects: 100% (17554/17554), 10.58 MiB | 1.35 MiB/s, done.
Resolving deltas: 100% (8726/8726), done.
Checking connectivity... done.

Cloning cocoapods-downloader
git clone https://github.com/CocoaPods/cocoapods-downloader.git
Cloning into 'cocoapods-downloader'...
remote: Counting objects: 1410, done.
remote: Total 1410 (delta 0), reused 0 (delta 0)
Receiving objects: 100% (1410/1410), 1.48 MiB | 2.08 MiB/s, done.
Resolving deltas: 100% (842/842), done.
Checking connectivity... done.

Cloning pod-template
git clone https://github.com/CocoaPods/pod-template.git
Cloning into 'pod-template'...
remote: Counting objects: 641, done.
remote: Total 641 (delta 0), reused 0 (delta 0)
Receiving objects: 100% (641/641), 91.02 KiB | 0 bytes/s, done.
Resolving deltas: 100% (342/342), done.
Checking connectivity... done.

Cloning cocoapods-docs
git clone https://github.com/CocoaPods/cocoapods-docs.git
Cloning into 'cocoapods-docs'...
remote: Counting objects: 76, done.
remote: Total 76 (delta 0), reused 0 (delta 0)
Unpacking objects: 100% (76/76), done.
Checking connectivity... done.

Cloning cocoapods-trunk
git clone https://github.com/CocoaPods/cocoapods-trunk.git
Cloning into 'cocoapods-trunk'...
remote: Counting objects: 514, done.
remote: Total 514 (delta 0), reused 0 (delta 0)
Receiving objects: 100% (514/514), 63.40 KiB | 0 bytes/s, done.
Resolving deltas: 100% (244/244), done.
Checking connectivity... done.

Cloning cocoapods-try
git clone https://github.com/CocoaPods/cocoapods-try.git
Cloning into 'cocoapods-try'...
remote: Counting objects: 438, done.
remote: Compressing objects: 100% (4/4), done.
remote: Total 438 (delta 0), reused 0 (delta 0)
Receiving objects: 100% (438/438), 65.49 KiB | 0 bytes/s, done.
Resolving deltas: 100% (200/200), done.
Checking connectivity... done.

Cloning cocoapods-plugins
git clone https://github.com/CocoaPods/cocoapods-plugins.git
Cloning into 'cocoapods-plugins'...
remote: Counting objects: 552, done.
remote: Compressing objects: 100% (23/23), done.
remote: Total 552 (delta 8), reused 0 (delta 0)
Receiving objects: 100% (552/552), 83.65 KiB | 0 bytes/s, done.
Resolving deltas: 100% (280/280), done.
Checking connectivity... done.

Cloning shared
git clone https://github.com/CocoaPods/shared.git
Cloning into 'shared'...
remote: Counting objects: 59, done.
remote: Total 59 (delta 0), reused 0 (delta 0)
Unpacking objects: 100% (59/59), done.
Checking connectivity... done.

--------------------------------------------------------------------------------
Bootstrapping all the repositories
--------------------------------------------------------------------------------

Bootstrapping CLAide
[!] Some Rake tasks haven been disabled because the environment couldn’t be loaded. Be sure to run `rake bootstrap` first.
rake --no-search bootstrap
[!] Some Rake tasks haven been disabled because the environment couldn’t be loaded. Be sure to run `rake bootstrap` first.
/usr/bin/bundle

--------------------------------------------------------------------------------
Installing gems
--------------------------------------------------------------------------------

bundle install
Fetching gem metadata from https://rubygems.org/..........
Installing rake 10.3.2
Installing ast 2.0.0
Installing bacon 1.2.0
Installing docile 1.1.5
Using multi_json 1.10.1
Installing simplecov-html 0.8.0
Installing simplecov 0.9.0
Installing codeclimate-test-reporter 0.4.0
Using colored 1.2

Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension.

    /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/ruby extconf.rb 
checking for ffi.h... *** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of necessary
libraries and/or headers.  Check the mkmf.log file for more details.  You may
need configuration options.

Provided configuration options:
    --with-opt-dir
    --without-opt-dir
    --with-opt-include
    --without-opt-include=${opt-dir}/include
    --with-opt-lib
    --without-opt-lib=${opt-dir}/lib
    --with-make-prog
    --without-make-prog
    --srcdir=.
    --curdir
    --ruby=/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/ruby
    --with-ffi_c-dir
    --without-ffi_c-dir
    --with-ffi_c-include
    --without-ffi_c-include=${ffi_c-dir}/include
    --with-ffi_c-lib
    --without-ffi_c-lib=${ffi_c-dir}/
    --with-libffi-config
    --without-libffi-config
    --with-pkg-config
    --without-pkg-config
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/mkmf.rb:434:in `try_do': The compiler failed to generate an executable file. (RuntimeError)
You have to install development tools first.
    from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/mkmf.rb:549:in `block in try_compile'
    from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/mkmf.rb:502:in `with_werror'
    from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/mkmf.rb:549:in `try_compile'
    from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/mkmf.rb:1044:in `block in have_header'
    from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/mkmf.rb:895:in `block in checking_for'
    from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/mkmf.rb:340:in `block (2 levels) in postpone'
    from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/mkmf.rb:310:in `open'
    from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/mkmf.rb:340:in `block in postpone'
    from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/mkmf.rb:310:in `open'
    from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/mkmf.rb:336:in `postpone'
    from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/mkmf.rb:894:in `checking_for'
    from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/mkmf.rb:1043:in `have_header'
    from extconf.rb:16:in `<main>'


Gem files will remain installed in /var/folders/j9/wm_2z7n152x_n5k14__q5qbw0000gn/T/bundler20140913-5716-1w1xj8r/ffi-1.9.3/gems/ffi-1.9.3 for inspection.
Results logged to /var/folders/j9/wm_2z7n152x_n5k14__q5qbw0000gn/T/bundler20140913-5716-1w1xj8r/ffi-1.9.3/gems/ffi-1.9.3/ext/ffi_c/gem_make.out
An error occurred while installing ffi (1.9.3), and Bundler cannot continue.
Make sure that `gem install ffi -v '1.9.3'` succeeds before bundling.
rake aborted!
Command failed with status (5): [bundle install...]
/Users/bret/Documents/Rainforest/CLAide/Rakefile:9:in `block in <top (required)>'
Tasks: TOP => bootstrap
(See full trace by running task with --trace)
rake aborted!
Command failed with status (1): [rake --no-search bootstrap...]
/Users/bret/Documents/Rainforest/Rakefile:89:in `block (3 levels) in <top (required)>'
/Users/bret/Documents/Rainforest/Rakefile:86:in `chdir'
/Users/bret/Documents/Rainforest/Rakefile:86:in `block (2 levels) in <top (required)>'
/Users/bret/Documents/Rainforest/Rakefile:85:in `each'
/Users/bret/Documents/Rainforest/Rakefile:85:in `block in <top (required)>'
/Users/bret/Documents/Rainforest/Rakefile:46:in `block in <top (required)>'
Tasks: TOP => bootstrap_repos
(See full trace by running task with --trace)
Brets-MBP:Rainforest bret$ CocoaPods/bin/pod --help
https://github.com/CocoaPods/Xcodeproj.git (at master) is not yet checked out. Run `bundle install` first.

Failure bootstrapping setup

I'm new to Rainforest and am setting it up as part of working on CocoaPods/CocoaPods#10111.

I ran into the following error when running rake bootstrap and don't know enough about Ruby conventions to know how best to debug/proceed, so any advice would be greatly appreciated. Thanks!

→ rake bootstrap
/Users/jtm/.gem/ruby/2.6.5/bin/bundle

...

--------------------------------------------------------------------------------
Bootstrapping all the repositories
--------------------------------------------------------------------------------

Bootstrapping Core
[!] Some Rake tasks haven been disabled because the environment couldn’t be loaded. Be sure to run `rake bootstrap` first.
rake --no-search bootstrap
[!] Some Rake tasks haven been disabled because the environment couldn’t be loaded. Be sure to run `rake bootstrap` first.
Updating submodules...
/Users/jtm/.gem/ruby/2.6.5/bin/bundle
Installing gems
/Users/jtm/.rubies/ruby-2.6.5/lib/ruby/2.6.0/rubygems/ext/builder.rb:183: warning: conflicting chdir during another chdir block
/Users/jtm/.rubies/ruby-2.6.5/lib/ruby/2.6.0/rubygems/ext/builder.rb:191: warning: conflicting chdir during another chdir block
/Users/jtm/.rubies/ruby-2.6.5/lib/ruby/2.6.0/rubygems/ext/builder.rb:183: warning: conflicting chdir during another chdir block
/Users/jtm/.rubies/ruby-2.6.5/lib/ruby/2.6.0/rubygems/ext/builder.rb:191: warning: conflicting chdir during another chdir block

Bootstrapping Nanaimo
rake aborted!
LoadError: cannot load such file -- rspec/core/rake_task
/Users/jtm/development/CocoaPodsOrg/Rainforest/Nanaimo/Rakefile:4:in `<top (required)>'
/Users/jtm/.gem/ruby/2.6.5/gems/rake-13.0.1/exe/rake:27:in `<top (required)>'
(See full trace by running task with --trace)

Bootstrapping Cork
rake --no-search bootstrap
/Users/jtm/.gem/ruby/2.6.5/bin/bundle
BUNDLE(1)                                                                                          BUNDLE(1)

...

--------------------------------------------------------------------------------
Installing gems
--------------------------------------------------------------------------------

bundle install
Fetching gem metadata from https://rubygems.org/.........
Your bundle is locked to codecov (0.1.14), but that version could not be found in any of the sources listed in your
Gemfile. If you haven't changed sources, that means the author of codecov (0.1.14) has removed it. You'll need to update
your bundle to a version other than codecov (0.1.14) that hasn't been removed in order to install.
rake aborted!
Command failed with status (7): [bundle install...]
/Users/jtm/development/CocoaPodsOrg/Rainforest/Cork/Rakefile:9:in `block in <top (required)>'
/Users/jtm/.gem/ruby/2.6.5/gems/rake-13.0.1/exe/rake:27:in `<top (required)>'
Tasks: TOP => bootstrap
(See full trace by running task with --trace)
rake aborted!
Command failed with status (1): [rake --no-search bootstrap...]
/Users/jtm/development/CocoaPodsOrg/Rainforest/Rakefile:119:in `block (3 levels) in <top (required)>'
/Users/jtm/development/CocoaPodsOrg/Rainforest/Rakefile:117:in `chdir'
/Users/jtm/development/CocoaPodsOrg/Rainforest/Rakefile:117:in `block (2 levels) in <top (required)>'
/Users/jtm/development/CocoaPodsOrg/Rainforest/Rakefile:116:in `each'
/Users/jtm/development/CocoaPodsOrg/Rainforest/Rakefile:116:in `block in <top (required)>'
/Users/jtm/development/CocoaPodsOrg/Rainforest/Rakefile:56:in `block in <top (required)>'
/Users/jtm/.gem/ruby/2.6.5/gems/rake-13.0.1/exe/rake:27:in `<top (required)>'
Tasks: TOP => bootstrap_repos
(See full trace by running task with --trace)

Update homebrew version for CocoaPods

Homebrew/homebrew-core#507
CocoaPods/CocoaPods#2238 (comment)

We do this already in the CP mac app:

    FileUtils.remove_dir("homebrew_cask") if Dir.exists? "homebrew_cask"
    sh "git clone https://github.com/caskroom/homebrew-cask.git homebrew_cask"
    Dir.chdir('homebrew_cask') do
      sh "git pull origin master"
      sh "git remote add fork https://github.com/#{cask_fork}.git"
      sh "git checkout -b #{branch}"

      cask_file = 'Casks/cocoapods.rb'
      cask = File.read(cask_file)
      cask.sub! /version '#{Gem::Version::VERSION_PATTERN}'/, "version '#{version}'"
      cask.sub! /sha256 '[[:xdigit:]]+'/, "sha256 '#{sha(tarball)}'"
      appcast_url = cask.match(/appcast '(.*)'/)[1]
      sparkle_checkpoint = %x{ cat ../gh-pages/sparkle.xml | sed 's|<pubDate>[^<]*</pubDate>||g' | shasum --algorithm 256 | awk '{ print $1 }'}.strip
      cask.sub! /checkpoint: '[[:xdigit:]]+'/, "checkpoint: '#{sparkle_checkpoint}'"
      File.open(cask_file, 'w') { |f| f.write(cask) }

      sh "git commit -am '#{message}'"
      sh "git push fork"
    end

    REST.post("https://api.github.com/repos/caskroom/homebrew-cask/pulls?access_token=#{github_access_token}",
              {title: message, head: cask_fork.split('/').first + ":#{branch}", base: 'master'}.to_json,
              github_headers)
  end
end

We can probably make a variation that does it for the main gems pretty simply

Add update_travis_configuration rake task

We should have a shared .travis.yml file too in CocoaPods/shared and share common Travis configurations across all CP repos.

(We may need to discuss how we plan to make .travis.yml both common to all CP repos and configurable for specific repo needs, as .travis.yml does not seem to have some inherit_from key like .rubocop.yml does)

multiple rake tasks fails because "shared" repo is considered to be a gem

There is two errors in this issue:

  1. Ruby NameError on line 533:
def spec(gem_dir)
  files = Dir.glob("#{gem_dir}/*.gemspec")
  unless files.count == 1
    error("Unable to select a gemspec #{spec_file}")
  end
  spec_path = files.first
  spec = Gem::Specification::load(spec_path.to_s)
end

The spec_file variable is undefined, leading to Rake aborting with a NameError.


  1. After changing #{spec_file} to #{gem_dir} so that ruby stops crashing, I can see that the error(...) line occurs when dealing with the CocoaPods/shared repo.
  • either shared.gemspec is missing and should be added in the shared repo
  • or that the shared repo should not be included in the GEM_REPOS array
  • or that local_dependencies_[un]set tasks should use a different array than GEM_REPOS

/cc @irrationalfab

Rainforest doesn't configure `Specs` but it's required to release

Releasing the Gem
gem push pkg/cocoapods-0.34.0.rc1.gem
Pushing gem to https://rubygems.org...
Successfully registered gem: cocoapods (0.34.0.rc1)

Running post_release task
rake post_release

--------------------------------------------------------------------------------
Updating last known version in Specs repo
--------------------------------------------------------------------------------

rake aborted!
Errno::ENOENT: No such file or directory - ../Specs
/Users/kylef/Projects/CocoaPods/Rainforest/CocoaPods/Rakefile:67:in `chdir'
/Users/kylef/Projects/CocoaPods/Rainforest/CocoaPods/Rakefile:67:in `block in <top (required)>'
Tasks: TOP => post_release
(See full trace by running task with --trace)
rake aborted!
Command failed with status (1): [rake post_release...]
/Users/kylef/Projects/CocoaPods/Rainforest/Rakefile:388:in `block (2 levels) in <top (required)>'
/Users/kylef/Projects/CocoaPods/Rainforest/Rakefile:355:in `chdir'
/Users/kylef/Projects/CocoaPods/Rainforest/Rakefile:355:in `block in <top (required)>'
Tasks: TOP => release
(See full trace by running task with --trace)

RuboCop required dependency

Had to install it manually.

Bootstrapping Xcodeproj
rake aborted!
NameError: uninitialized constant RuboCop
/Users/ash/Desktop/Rainforest/Xcodeproj/Rakefile:83:in `<top (required)>'
/Users/ash/.rvm/gems/ruby-2.1.2/bin/ruby_executable_hooks:15:in `eval'
/Users/ash/.rvm/gems/ruby-2.1.2/bin/ruby_executable_hooks:15:in `<main>'
(See full trace by running task with --trace)

Disk usage: 57M

rake bootstrap fails with different errors

I already looked here and the solution provided by @icecrystal23 didn't work for me or perhaps I couldn't figure it out.

First attempt at rake bootstrap

The very first I run rake bootstrap time I get:

Bootstrapping Cork
rake --no-search bootstrap
/usr/local/bin/bundle

--------------------------------------------------------------------------------
Installing gems
--------------------------------------------------------------------------------

bundle install
Fetching gem metadata from https://rubygems.org/.........
Your bundle is locked to codecov (0.1.14), but that version could not be found in any of the sources listed in your Gemfile. If you haven't changed sources, that means the author of
codecov (0.1.14) has removed it. You'll need to update your bundle to a version other than codecov (0.1.14) that hasn't been removed in order to install.
rake aborted!
Command failed with status (7): [bundle install...]
/Users/prohoney/Dev/learning/r3/Rainforest/Cork/Rakefile:9:in `block in <top (required)>'
/Library/Ruby/Gems/2.6.0/gems/rake-12.3.3/exe/rake:27:in `<top (required)>'
Tasks: TOP => bootstrap
(See full trace by running task with --trace)
rake aborted!
Command failed with status (1): [rake --no-search bootstrap...]

I got no other errors. So I changed directory to /Cork and ran bundle update codecov.

Ran rake bootstrap again after fixing Cork

This time I get a bunch of other errors.

Bootstrapping cocoapods-deintegrate
rake aborted!
Bundler::GemNotFound: Could not find rake-10.4.2 in any of the sources
/Library/Ruby/Gems/2.6.0/gems/bundler-1.17.3/lib/bundler/spec_set.rb:91:in `block in materialize'
/Library/Ruby/Gems/2.6.0/gems/bundler-1.17.3/lib/bundler/spec_set.rb:85:in `map!'
/Library/Ruby/Gems/2.6.0/gems/bundler-1.17.3/lib/bundler/spec_set.rb:85:in `materialize'
/Library/Ruby/Gems/2.6.0/gems/bundler-1.17.3/lib/bundler/definition.rb:170:in `specs'
/Library/Ruby/Gems/2.6.0/gems/bundler-1.17.3/lib/bundler/definition.rb:237:in `specs_for'
/Library/Ruby/Gems/2.6.0/gems/bundler-1.17.3/lib/bundler/definition.rb:226:in `requested_specs'
/Library/Ruby/Gems/2.6.0/gems/bundler-1.17.3/lib/bundler/runtime.rb:108:in `block in definition_method'
/Library/Ruby/Gems/2.6.0/gems/bundler-1.17.3/lib/bundler/runtime.rb:20:in `setup'
/Library/Ruby/Gems/2.6.0/gems/bundler-1.17.3/lib/bundler.rb:107:in `setup'
/Library/Ruby/Gems/2.6.0/gems/bundler-1.17.3/lib/bundler/setup.rb:20:in `<top (required)>'
/Users/prohoney/Dev/learning/r3/Rainforest/cocoapods-deintegrate/Rakefile:2:in `<top (required)>'
/Library/Ruby/Gems/2.6.0/gems/rake-12.3.3/exe/rake:27:in `<top (required)>'
(See full trace by running task with --trace)

I get same error for:

Bootstrapping cocoapods-stats
rake aborted!
Bundler::GemNotFound: Could not find rake-10.4.2 in any of the sources

When I run gem list I get:

rake (12.3.3, 12.3.2, 10.5.0, 10.4.2)

Additionally what's odd is that when bootstrapping cocoapods-docs succeeds with the SAME rake version i.e. I see:

Bootstrapping cocoapods-docs
rake --no-search bootstrap
/usr/local/bin/bundle

--------------------------------------------------------------------------------
Installing gems
--------------------------------------------------------------------------------

bundle install
Fetching gem metadata from http://rubygems.org/.........
Fetching https://github.com/CocoaPods/CLAide.git
Fetching https://github.com/CocoaPods/Core.git
Fetching https://github.com/CocoaPods/CocoaPods.git
Fetching rake 10.4.2
.
.
.

I get exact same error for cocoapods-stats.
I get exact same error for CocoaPods with the only difference that it's expecting that I have rake 10.5.0

I tried changing directory to each of the above projects and running bundle install for them. That only helped me to make CocoaPods/bin/pod --help working.

Ran rake bootstrap again after running bundle install for other gems:

I got the following errors:

Bootstrapping cocoapods-deintegrate
rake aborted!
Gem::LoadError: You have already activated rake 12.3.3, but your Gemfile requires rake 10.4.2. Prepending `bundle exec` to your command may solve this

&&

Bootstrapping cocoapods-stats
[!] Some Rake tasks haven been disabled because the environment couldn’t be loaded. Be sure to run `rake bootstrap` first.

&&

Bootstrapping CocoaPods
[!] Some Rake tasks haven been disabled because the environment couldn’t be loaded. Be sure to run `rake bootstrap` first or use the VERBOSE environment variable to see errors.
rake --no-search bootstrap
[!] Some Rake tasks haven been disabled because the environment couldn’t be loaded. Be sure to run `rake bootstrap` first or use the VERBOSE environment variable to see errors.

Is rake bootstrap pulling int the latest? Should My Gemfile.lock match with the Gemfile.lock from the cocoapods-deintegrate repo?

Here's what I'm getting:

GIT
  remote: https://github.com/CocoaPods/CocoaPods.git
  revision: 6309df9ab3aa3aa4d287fa2de2776d752ca37ba9
  specs:
    cocoapods (1.3.1)
      activesupport (>= 4.0.2, < 5)
      claide (>= 1.0.2, < 2.0)
      cocoapods-core (= 1.3.1)
      cocoapods-deintegrate (= 1.0.4)
      cocoapods-downloader (>= 1.1.3, < 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.2.0, < 2.0)
      cocoapods-try (>= 1.1.0, < 2.0)
      colored2 (~> 3.1)
      escape (~> 0.0.4)
      fourflusher (~> 2.0.1)
      gh_inspector (~> 1.0)
      molinillo (~> 0.6.1)
      nap (~> 1.0)
      ruby-macho (~> 1.1)
      xcodeproj (>= 1.5.1, < 2.0)

PATH
  remote: .
  specs:
    cocoapods-deintegrate (1.0.4)

GEM
  remote: https://rubygems.org/
  specs:
    CFPropertyList (2.3.5)
    activesupport (4.2.9)
      i18n (~> 0.7)
      minitest (~> 5.1)
      thread_safe (~> 0.3, >= 0.3.4)
      tzinfo (~> 1.1)
    ast (2.1.0)
    astrolabe (1.3.1)
      parser (~> 2.2)
    bacon (1.2.0)
    claide (1.0.2)
    cocoapods-core (1.3.1)
      activesupport (>= 4.0.2, < 6)
      fuzzy_match (~> 2.0.4)
      nap (~> 1.0)
    cocoapods-downloader (1.1.3)
    cocoapods-plugins (1.0.0)
      nap
    cocoapods-search (1.0.0)
    cocoapods-stats (1.0.0)
    cocoapods-trunk (1.2.0)
      nap (>= 0.8, < 2.0)
      netrc (= 0.7.8)
    cocoapods-try (1.1.0)
    colored2 (3.1.2)
    escape (0.0.4)
    fourflusher (2.0.1)
    fuzzy_match (2.0.4)
    gh_inspector (1.0.3)
    i18n (0.8.6)
    metaclass (0.0.4)
    minitest (5.10.3)
    mocha (1.1.0)
      metaclass (~> 0.0.1)
    mocha-on-bacon (0.2.2)
      mocha (>= 0.13.0)
    molinillo (0.6.2)
    nanaimo (0.2.3)
    nap (1.1.0)
    netrc (0.7.8)
    parser (2.2.3.0)
      ast (>= 1.1, < 3.0)
    powerpack (0.1.1)
    prettybacon (0.0.2)
      bacon (~> 1.2)
    rainbow (2.0.0)
    rake (10.4.2)
    rubocop (0.34.2)
      astrolabe (~> 1.3)
      parser (>= 2.2.2.5, < 3.0)
      powerpack (~> 0.1)
      rainbow (>= 1.99.1, < 3.0)
      ruby-progressbar (~> 1.4)
    ruby-macho (1.1.0)
    ruby-progressbar (1.7.5)
    thread_safe (0.3.6)
    tzinfo (1.2.3)
      thread_safe (~> 0.1)
    xcodeproj (1.5.1)
      CFPropertyList (~> 2.3.3)
      claide (>= 1.0.2, < 2.0)
      colored2 (~> 3.1)
      nanaimo (~> 0.2.3)

PLATFORMS
  ruby

DEPENDENCIES
  bacon
  cocoapods!
  cocoapods-deintegrate!
  mocha
  mocha-on-bacon
  prettybacon
  rake
  rubocop

BUNDLED WITH
   1.16.1

I'm learning Ruby, bundler, rbenv, rake as I go along and feel like I'm going in circles for the past few days trying to fix this 😞

Any thoughts on what to do?

Setup

macOS: 10.15.4

$ ruby -v
ruby 2.6.3p62 (2019-04-16 revision 67580) [universal.x86_64-darwin19]

$ bundle -v
Bundler version 2.2.3 // but I see bundler `Using bundler 1.17.3` and `Using bundler 2.2.3` in the outputs of my `rake bootstrap`

$ gem list
...
bundler (2.2.3, 2.2.2, 2.1.4, 1.17.3, default: 1.17.2)
rake (12.3.3, 12.3.2, 10.5.0, 10.4.2)  

developer: newbie


FWIW I'm trying to contribute by bringing a new attribute to the podspec, my understanding is that I need this all to work, but if there's another way/shortcut I'd be happy to take it at this post while also trying to resolve this...

Trigger bootstrap_repos (so they run `bundle install`) after local_dependencies_[un]set?

When we use bundle config local.xxx ./xxx, we modify the bundle configuration, so shouldn't we run bundle install again?
(I'm not sure about this one, as I'm new to bundler)

In other words, shouldn't the local_dependencies_set and local_dependencies_unset rake tasks ends up calling the bootstrap_repos task (so that each gem runs bundle install)?

/cc @irrationalfab

Rake bootstrap failure help

Could someone give me some pointers on what is probably a configuration issue of my environment? New to ruby + config:-) I do have CocoaPods + Fastlane running fine on the system, just getting the CocoaPods dev environment setup isn't working.

Thanks
Mark

$ rake bootstrap
/usr/local/bin/bundle

... goes through cloning of all repos

--------------------------------------------------------------------------------
Bootstrapping all the repositories
--------------------------------------------------------------------------------

Bootstrapping Core
[!] Some Rake tasks haven been disabled because the environment couldn’t be loaded. Be sure to run `rake bootstrap` first.
rake --no-search bootstrap
[!] Some Rake tasks haven been disabled because the environment couldn’t be loaded. Be sure to run `rake bootstrap` first.
Updating submodules...
/usr/local/bin/bundle
Installing gems
rake aborted!
Errno::ENOENT: No such file or directory - bundle
/Users/markw/iPhoneDevelopment/Rainforest/Core/Rakefile:11:in ``'
/Users/markw/iPhoneDevelopment/Rainforest/Core/Rakefile:11:in `block in <top (required)>'
Tasks: TOP => bootstrap
(See full trace by running task with --trace)
rake aborted!
Command failed with status (1): [rake --no-search bootstrap...]
/Users/markw/iPhoneDevelopment/Rainforest/Rakefile:117:in `block (3 levels) in <top (required)>'
/Users/markw/iPhoneDevelopment/Rainforest/Rakefile:115:in `chdir'
/Users/markw/iPhoneDevelopment/Rainforest/Rakefile:115:in `block (2 levels) in <top (required)>'
/Users/markw/iPhoneDevelopment/Rainforest/Rakefile:114:in `each'
/Users/markw/iPhoneDevelopment/Rainforest/Rakefile:114:in `block in <top (required)>'
/Users/markw/iPhoneDevelopment/Rainforest/Rakefile:56:in `block in <top (required)>'
Tasks: TOP => bootstrap_repos
(See full trace by running task with --trace)

I also notice that:

$ /usr/local/bin/bundle --version
bash: /usr/local/bin/bundle: /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/ruby: bad interpreter: No such file or directory

If relevant...

$ printenv PATH
PATH=/usr/local/bin:/Users/markw/.gem/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/MacGPG2/bin:/opt/X11/bin

Problem setup rainforest (cocoapods-trunk gem)

Run rake set_up will fail with error:

Bundler::GemNotFound: Could not find cocoapods-trunk-0.0.1.gem for installation

The command try to install cocoapods-trunk which do not exists on rubygems.org yet

installation error : certificate verify failed

using rbenv - ruby 2.1.2 /
following installation statement ... got an error ... my SSH key is running fine with github ...

macMini:~ yves$ git clone https://github.com/CocoaPods/Rainforest.git
Cloning into 'Rainforest'...
remote: Counting objects: 257, done.
remote: Compressing objects: 100% (3/3), done.
remote: Total 257 (delta 0), reused 0 (delta 0)
Receiving objects: 100% (257/257), 53.76 KiB | 0 bytes/s, done.
Resolving deltas: 100% (147/147), done.
Checking connectivity... done.
macMini:~ yves$ cd Rainforest

macMini:Rainforest yves$ rbenv rehash
macMini:Rainforest yves$ rake bootstrap
/Users/yves/.rbenv/versions/2.1.2/bin/bundle

--------------------------------------------------------------------------------
Fetching repositories list
--------------------------------------------------------------------------------
rake aborted!
OpenSSL::SSL::SSLError: SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed
/Users/yves/Rainforest/Rakefile:479:in `block in fetch_repos'
/Users/yves/Rainforest/Rakefile:478:in `loop'
/Users/yves/Rainforest/Rakefile:478:in `fetch_repos'
/Users/yves/Rainforest/Rakefile:464:in `fetch_default_repos'
/Users/yves/Rainforest/Rakefile:64:in `block in <top (required)>'
/Users/yves/Rainforest/Rakefile:45:in `block in <top (required)>'
Tasks: TOP => clone
(See full trace by running task with --trace)

Unable to integrate paypal SDK using pod file

[!] CocoaPods was not able to update the master repo. If this is an unexpected issue and persists you can inspect it running pod repo update --verbose

Above is terminal message

The SDK has integrated to my build but when we import class file and run the build it throws an errors.

Please help me.

`rake bootstrap` fails with ruby version error

I read on https://blog.cocoapods.org/starting-open-source that

It should be as simple as possible to get started, that means setup of environment and finding issue which are suited for contributors who are not yet familiar with the code base. CocoaPods does both of these very well.

However, running Rainforest -> rake bootstrap leaves me with this error:

Installing gems
--------------------------------------------------------------------------------

bundle install
Fetching gem metadata from http://rubygems.org/...........
Fetching version metadata from http://rubygems.org/...
Fetching dependency metadata from http://rubygems.org/..
cocoapods-docs-0.2.0 requires ruby version = 2.0, which is incompatible with the current version, ruby 2.3.0p0
rake aborted!
Command failed with status (5): [bundle install...]
$ rvm list

rvm rubies

   ruby-1.9.3-p551 [ x86_64 ]
   ruby-2.0.0-p648 [ x86_64 ]
   ruby-2.1.0 [ x86_64 ]
=* ruby-2.3.0 [ x86_64 ]

When switching to Ruby 2.0.0 and running rake bootstrap, I see:

$ rake bootstrap
rake aborted!
undefined method `scope' for #<Rake::NameSpace:0x007fb813814c00>
Rainforest/Rakefile:1133:in `block (2 levels) in <top (required)>'
Rainforest/Rakefile:1122:in `block in <top (required)>'
Rainforest/Rakefile:1106:in `<top (required)>'

How can I work around this to run a development version of pod so I can help debug issues?

Thanks!

Provide automation for the release process

The release process can involve numerous manual steps as all the dependencies must be released in the proper order.

Although complete automation is difficult to achieve because the change logs require manual editing I think that there is room for improvement.

Rainforest needs to build the Xcodeproj extensions

The task is actually something like rake ext:build
Fabio P. no... in Xcodeproj... However Rainforest should do it in the task for the setup of the local repos... this isn't a full proof solution but it will work as long the extension are not updated (very rare nowadays)... I can't think of a better solution atm

Fabio P.

RainForest is not linking its own internal sub modules / gems / libraries

Hi, newbie to ruby here ( so excuse the language), working on the bug bash, working on an issue which requires me to work on cocoapods and core, I installed rainforest. Now if I do any changes on the ruby code in the cocoapods folder I can test my changes, but If I change something in the core library / gem, those changes are not reflected.

rake bootstrap fails with Ruby 2.2 due to json gem

I noticed this when attempting to test my fix for this issue: CocoaPods/CocoaPods#5291

It can be fixed by modifying cocoapods-trunk's Gemfile to point to this gem:

# This is the version that ships with OS X 10.10, so be sure we test against it.
# At the same time, the 1.7.7 version won't install cleanly on Ruby > 2.2,
# so we use a fork that makes a trivial change to a macro invocation.
gem 'json', :git => 'https://github.com/segiddins/json.git', :branch => 'seg-1.7.7-ruby-2.2'
Bootstrapping cocoapods-trunk
rake --no-search bootstrap
/Users/chrisbal/.rbenv/versions/2.2.3/bin/bundle

--------------------------------------------------------------------------------
Installing gems
--------------------------------------------------------------------------------

bundle install
Fetching gem metadata from https://rubygems.org/............
Fetching version metadata from https://rubygems.org/...
Fetching dependency metadata from https://rubygems.org/..
Resolving dependencies...
Using rake 10.4.2
Using i18n 0.7.0
Installing json 1.7.7 with native extensions

Gem::Ext::BuildError: ERROR: Failed to build gem native extension.

    /Users/chrisbal/.rbenv/versions/2.2.3/bin/ruby -r ./siteconf20160524-86331-ilxmzy.rb extconf.rb
creating Makefile

make "DESTDIR=" clean

make "DESTDIR="
compiling generator.c
In file included from generator.c:1:
./../fbuffer/fbuffer.h:175:47: error: too few arguments provided to function-like macro invocation
    VALUE result = rb_str_new(FBUFFER_PAIR(fb));
                                              ^
/Users/chrisbal/.rbenv/versions/2.2.3/include/ruby-2.2.0/ruby/intern.h:793:9: note: macro 'rb_str_new' defined here
#define rb_str_new(str, len) __extension__ (    \
        ^
In file included from generator.c:1:
./../fbuffer/fbuffer.h:175:11: warning: incompatible pointer to integer conversion initializing 'VALUE' (aka 'unsigned long') with an expression of type 'VALUE (const char *, long)' (aka 'unsigned long (const char *, long)') [-Wint-conversion]
    VALUE result = rb_str_new(FBUFFER_PAIR(fb));
          ^        ~~~~~~~~~~
1 warning and 1 error generated.
make: *** [generator.o] Error 1

make failed, exit code 2

Gem files will remain installed in /Users/chrisbal/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/json-1.7.7 for inspection.
Results logged to /Users/chrisbal/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/extensions/x86_64-darwin-15/2.2.0-static/json-1.7.7/gem_make.out

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.