Sha256: 9634ede23917cb364dd7ce36f380dda5cd891276b46b351347a61a6349e66bd6

Contents?: true

Size: 1.92 KB

Versions: 10

Compression:

Stored size: 1.92 KB

Contents

module DeployGate
  module Commands
    module Deploy
      class Build
        class << self

          # @param [Array] args
          # @param [Hash] options
          # @return [void]
          def run(args, options)
            # android/ios build
            work_dir = args.empty? ? Dir.pwd : args.first

            if DeployGate::Project.ios?(work_dir)
              root_path = DeployGate::Xcode::Ios.project_root_path(work_dir)
              workspaces = DeployGate::Xcode::Ios.find_workspaces(root_path)
              ios(workspaces, options)
            elsif DeployGate::Project.android?(work_dir)
              DeployGate::Android::GradleDeploy.new(work_dir, options).deploy
            else
              print_no_target
            end
          end

          # @param [Array] workspaces
          # @param [Hash] options
          # @return [void]
          def ios(workspaces, options)
            DeployGate::Xcode::Export.check_local_certificates

            analyze = DeployGate::Xcode::Analyze.new(workspaces)
            target_scheme = analyze.scheme
            bundle_identifier = analyze.target_bundle_identifier
            xcode_provisioning_profile_uuid = analyze.target_xcode_setting_provisioning_profile_uuid

            target_provisioning_profile = DeployGate::Xcode::Export.provisioning_profile(bundle_identifier, xcode_provisioning_profile_uuid)
            method = DeployGate::Xcode::Export.method(target_provisioning_profile)
            codesigning_identity = DeployGate::Xcode::Export.codesigning_identity(target_provisioning_profile)

            ipa_path = DeployGate::Xcode::Ios.build(analyze, target_scheme, codesigning_identity, method)
            Push.upload([ipa_path], options)
          end

          def print_no_target
            puts ''
            puts HighLine.color(I18n.t('commands.deploy.build.print_no_target'), HighLine::YELLOW)
            puts ''
          end
        end
      end
    end
  end
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
deploygate-0.3.3 lib/deploygate/commands/deploy/build.rb
deploygate-0.3.2 lib/deploygate/commands/deploy/build.rb
deploygate-0.3.1 lib/deploygate/commands/deploy/build.rb
deploygate-0.3.0 lib/deploygate/commands/deploy/build.rb
deploygate-0.2.3 lib/deploygate/commands/deploy/build.rb
deploygate-0.2.2 lib/deploygate/commands/deploy/build.rb
deploygate-0.2.1 lib/deploygate/commands/deploy/build.rb
deploygate-0.2.0 lib/deploygate/commands/deploy/build.rb
deploygate-0.1.2 lib/deploygate/commands/deploy/build.rb
deploygate-0.1.1 lib/deploygate/commands/deploy/build.rb