There's a lot of open issues
A long-lived project that still receives updates
A small library for downloading files from remotes in a folder.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies
 Project Readme

Downloader

A small library for downloading files from remotes in a folder.

Build Status Gem Version Maintainability

Install

$ [sudo] gem install cocoapods-downloader

Usage

require 'cocoapods-downloader'

target_path = './Downloads/MyDownload'
options = { :git => 'example.com' }
options = Pod::Downloader.preprocess_options(options)
downloader = Pod::Downloader.for_target(target_path, options)
downloader.cache_root = '~/Library/Caches/APPNAME'
downloader.max_cache_size = 500
downloader.download
downloader.checkout_options #=> { :git => 'example.com', :commit => 'd7f410490dabf7a6bde665ba22da102c3acf1bd9' }

The downloader class supports the following option keys:

  • git: commit, tag, branch, submodules
  • svn: revision, tag, folder, externals
  • hg: revision, tag, branch
  • http: type, flatten
  • scp: type, flatten

The downloader also provides hooks which allow to customize its output or the way in which the commands are executed

require 'cocoapods-downloader'

module Pod
  module Downloader
    class Base

      override_api do
        def self.execute_command(executable, command, raise_on_failure = false)
          puts "Will download"
          super
        end

        def self.ui_action(ui_message)
          puts ui_message.green
          yield
        end
      end

    end
  end
end

Extraction

This gem was extracted from CocoaPods. Refer to also that repository for the history and the contributors.

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 and for a lot of people is their first time.

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

Development

You need to have svn, hg and git installed to run the specs. There are some specs which require hdiutil which will only run on macOS.

License

This gem and CocoaPods are available under the MIT license.