Sha256: bb4a0695abf0e0d457e8b0660624e6ef3042323b14b5d648ab3bcf9889814da3

Contents?: true

Size: 1.54 KB

Versions: 10

Compression:

Stored size: 1.54 KB

Contents

module Phase
  module CLI
    class IPA < Command

      command :ipa do |c|
        c.syntax = "phase ipa [-e environment] version_number filename|glob_pattern..."

        c.option "-e", "--environment name", String, "Uploads files for 'production' or 'staging' (default is 'staging')."

        c.description = <<-EOS.strip_heredoc
          Generates enterprise distribution .plists for .ipa app bundles and uploads
          all required files to the web for distribution.
        EOS

        c.action do |args, options|
          options.default environment: "staging"
          new(args, options).run
        end
      end

      attr_accessor :version, :filenames

      def initialize(args, options)
        @version   = args.shift
        @filenames = args

        if @version.blank? || @filenames.blank?
          fail "invalid syntax: phase ipa [-e environment] version_number filename|glob_pattern..."
        end

        if Phase.config.ipa.bundle_id_prefix.blank?
          fail "missing setting: set `Phase.config.ipa.bundle_id_prefix = [PREFIX] in Phasefile"
        elsif Phase.config.ipa.bucket_name.blank?
          fail "missing setting: set `Phase.config.ipa.bucket_name = [BUCKET]` in Phasefile"
        elsif Phase.config.ipa.directory_prefix.blank?
          fail "missing setting: set `Phase.config.ipa.directory_prefix = [PREFIX] in Phasefile"
        end

        super
      end

      def run
        deployment = ::Phase::IPA::EnterpriseDeployment.new(options.environment, version, *filenames)
        deployment.run!
      end

    end
  end
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
phase-1.0.2 lib/phase/cli/ipa.rb
phase-1.0.1 lib/phase/cli/ipa.rb
phase-1.0.0 lib/phase/cli/ipa.rb
phase-1.0.0.rc2 lib/phase/cli/ipa.rb
phase-1.0.0.rc1 lib/phase/cli/ipa.rb
phase-0.0.17 lib/phase/cli/ipa.rb
phase-0.0.16.1 lib/phase/cli/ipa.rb
phase-0.0.16 lib/phase/cli/ipa.rb
phase-0.0.15 lib/phase/cli/ipa.rb
phase-0.0.14 lib/phase/cli/ipa.rb