Sha256: eeef94370a554c52c40a4e16ecb197a6fcaf1c8821bdf775528d03024a7ab261

Contents?: true

Size: 1.95 KB

Versions: 42

Compression:

Stored size: 1.95 KB

Contents

module Fastlane
  module Actions
    module SharedValues
      PRODUCE_APPLE_ID = :PRODUCE_APPLE_ID
    end

    class ProduceAction < Action
      def self.run(params)
        require 'produce'

        return if Helper.test?

        FastlaneCore::UpdateChecker.start_looking_for_update('produce')
        Produce.config = params # we alread have the finished config

        Dir.chdir(FastlaneCore::FastlaneFolder.path || Dir.pwd) do
          # This should be executed in the fastlane folder
          apple_id = Produce::Manager.start_producing.to_s

          Actions.lane_context[SharedValues::PRODUCE_APPLE_ID] = apple_id
          ENV['PRODUCE_APPLE_ID'] = apple_id
        end
      end

      def self.description
        "Creates the given application on iTC and the Dev Portal if necessary"
      end

      def details
        [
          'Create new apps on iTunes Connect and Apple Developer Portal. If the app already exists, `produce` will not do anything.',
          'For more information about produce, visit its GitHub page:',
          'https://github.com/fastlane/fastlane/tree/master/produce'
        ].join(' ')
      end

      def self.available_options
        require 'produce'
        Produce::Options.available_options
      end

      def self.output
        [
          ['PRODUCE_APPLE_ID', 'The Apple ID of the newly created app. You probably need it for `deliver`']
        ]
      end

      def self.author
        "KrauseFx"
      end

      def self.is_supported?(platform)
        platform == :ios
      end

      def self.example_code
        [
          'produce(
            username: "felix@krausefx.com",
            app_identifier: "com.krausefx.app",
            app_name: "MyApp",
            language: "English",
            app_version: "1.0",
            sku: "123",
            team_name: "SunApps GmbH" # Only necessary when in multiple teams.
          )'
        ]
      end

      def self.category
        :misc
      end
    end
  end
end

Version data entries

42 entries across 42 versions & 1 rubygems

Version Path
fastlane-2.18.2 fastlane/lib/fastlane/actions/produce.rb
fastlane-2.19.0.beta.20170222010016 fastlane/lib/fastlane/actions/produce.rb
fastlane-2.18.1 fastlane/lib/fastlane/actions/produce.rb
fastlane-2.18.0 fastlane/lib/fastlane/actions/produce.rb
fastlane-2.18.0.beta.20170221010026 fastlane/lib/fastlane/actions/produce.rb
fastlane-2.18.0.beta.20170220010017 fastlane/lib/fastlane/actions/produce.rb
fastlane-2.18.0.beta.20170219010032 fastlane/lib/fastlane/actions/produce.rb
fastlane-2.18.0.beta.20170218010103 fastlane/lib/fastlane/actions/produce.rb
fastlane-2.18.0.beta.20170217010035 fastlane/lib/fastlane/actions/produce.rb
fastlane-2.18.0.beta.20170216184940 fastlane/lib/fastlane/actions/produce.rb
fastlane-2.17.1 fastlane/lib/fastlane/actions/produce.rb
fastlane-2.17.0 fastlane/lib/fastlane/actions/produce.rb
fastlane-2.16.0 fastlane/lib/fastlane/actions/produce.rb
fastlane-2.15.1 fastlane/lib/fastlane/actions/produce.rb
fastlane-2.16.0.beta.20170214010051 fastlane/lib/fastlane/actions/produce.rb
fastlane-2.15.0 fastlane/lib/fastlane/actions/produce.rb
fastlane-2.15.0.beta.20170213032052 fastlane/lib/fastlane/actions/produce.rb
fastlane-2.14.2 fastlane/lib/fastlane/actions/produce.rb
fastlane-2.14.1 fastlane/lib/fastlane/actions/produce.rb
fastlane-2.14.0 fastlane/lib/fastlane/actions/produce.rb