Sha256: c491b325af452cba940bc53bf1a95fac23b938fa71bc65bde43b60646cf2055c

Contents?: true

Size: 1.5 KB

Versions: 2

Compression:

Stored size: 1.5 KB

Contents

module Produce
  class DependencyChecker
    def self.check_dependencies
      self.check_phantom_js
      self.check_xcode_select unless Helper.is_test?
    end
    
    def self.check_phantom_js
      if `which phantomjs`.length == 0
        # Missing brew dependency
        Helper.log.fatal '#############################################################'
        Helper.log.fatal "# You have to install phantomjs to use produce"
        Helper.log.fatal "# phantomjs is used to control the iTunesConnect frontend"
        Helper.log.fatal "# Install Homebrew using http://brew.sh/" if `which brew`.length == 0
        Helper.log.fatal "# Run 'brew update && brew install phantomjs' and start produce again"
        Helper.log.fatal '#############################################################'
        raise "Run 'brew update && brew install phantomjs' and start produce again"
      end
    end

    def self.check_xcode_select
      unless `xcode-select -v`.include?"xcode-select version "
        Helper.log.fatal '#############################################################'
        Helper.log.fatal "# You have to install the Xcode commdand line tools to use produce"
        Helper.log.fatal "# Install the latest version of Xcode from the AppStore"
        Helper.log.fatal "# Run xcode-select --install to install the developer tools"
        Helper.log.fatal '#############################################################'
        raise "Run 'xcode-select --install' and start produce again"
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
produce-0.1.1 lib/produce/dependency_checker.rb
produce-0.1.0 lib/produce/dependency_checker.rb