Class: Fastlane::Actions::AwsDeviceFarmPackageAction

Inherits:
Action
  • Object
show all
Defined in:
lib/fastlane/plugin/aws_device_farm/actions/aws_device_farm_package.rb

Documentation collapse

Class Method Summary collapse

Class Method Details

.authorsObject



67
68
69
# File 'lib/fastlane/plugin/aws_device_farm/actions/aws_device_farm_package.rb', line 67

def self.authors
  ["hjanuschka"]
end

.available_optionsObject



40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
# File 'lib/fastlane/plugin/aws_device_farm/actions/aws_device_farm_package.rb', line 40

def self.available_options
  [
    FastlaneCore::ConfigItem.new(
      key:         :derrived_data_path,
      env_name:    'FL_AWS_DEVICE_FARM_DERIVED_DATA',
      description: 'Derrived Data Path',
      is_string:   true,
      optional:    false
    ),
    FastlaneCore::ConfigItem.new(
      key:         :configuration,
      env_name:    'FL_AWS_DEVICE_FARM_CONFIGURATION',
      description: 'Configuration',
      is_string:   true,
      optional:    true,
      default_value: "Development"
    )
  ]
end

.descriptionObject



32
33
34
# File 'lib/fastlane/plugin/aws_device_farm/actions/aws_device_farm_package.rb', line 32

def self.description
  'Packages .app from deriveddata to an aws-compatible ipa'
end

.detailsObject



36
37
38
# File 'lib/fastlane/plugin/aws_device_farm/actions/aws_device_farm_package.rb', line 36

def self.details
  'Packages .app to .ipa'
end

.is_supported?(platform) ⇒ Boolean

Returns:

  • (Boolean)


71
72
73
# File 'lib/fastlane/plugin/aws_device_farm/actions/aws_device_farm_package.rb', line 71

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

.outputObject



60
61
62
# File 'lib/fastlane/plugin/aws_device_farm/actions/aws_device_farm_package.rb', line 60

def self.output
  []
end

.return_valueObject



64
65
# File 'lib/fastlane/plugin/aws_device_farm/actions/aws_device_farm_package.rb', line 64

def self.return_value
end

.run(params) ⇒ Object



4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# File 'lib/fastlane/plugin/aws_device_farm/actions/aws_device_farm_package.rb', line 4

def self.run(params)
  derrived_data_dir = File.expand_path(params[:derrived_data_path])
  packages_dir = "#{derrived_data_dir}/packages"
  FileUtils.rm_rf packages_dir
  Dir["#{derrived_data_dir}/Build/Products/#{params[:configuration]}-iphoneos/*.app"].each do |app|
    if app.include? 'Runner'

      FileUtils.mkdir_p "#{packages_dir}/runner/Payload"
      FileUtils.cp_r app, "#{packages_dir}/runner/Payload"
      Actions.sh "cd #{packages_dir}/runner/; zip --recurse-paths -D --quiet #{packages_dir}/runner.ipa .;"

      ENV['FL_AWS_DEVICE_FARM_TEST_PATH'] = "#{packages_dir}/runner.ipa"
    else

      FileUtils.mkdir_p "#{packages_dir}/app/Payload"
      FileUtils.cp_r app, "#{packages_dir}/app/Payload"
      Actions.sh "cd #{packages_dir}/app/; zip --recurse-paths -D --quiet #{packages_dir}/app.ipa .;"

      ENV['FL_AWS_DEVICE_FARM_PATH'] = "#{packages_dir}/app.ipa"

    end
  end
end