Class: Fastlane::Actions::UploadSymbolsToBugseeAction

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

Documentation collapse

Class Method Summary collapse

Class Method Details

.authorsObject



116
117
118
# File 'lib/fastlane/plugin/bugsee/actions/upload_symbols_to_bugsee.rb', line 116

def self.authors
  ["finik"]
end

.available_optionsObject



65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
# File 'lib/fastlane/plugin/bugsee/actions/upload_symbols_to_bugsee.rb', line 65

def self.available_options
  [
    FastlaneCore::ConfigItem.new(key: :agent_path,
                                 env_name: "BUGSEE_AGENT_PATH",
                                 description: "The path to the BugseeAgent helper script",
                                 optional: true,
                                 verify_block: proc do |value|
                                   UI.user_error!("Couldn't find file at path '#{value}'") unless File.exist?(value)
                                 end),
    FastlaneCore::ConfigItem.new(key: :host,
                                 env_name: "BUGSEE_API_HOST",
                                 description: "The path to API endpoint",
                                 optional: true),
    FastlaneCore::ConfigItem.new(key: :app_token,
                                 env_name: "BUGSEE_APP_TOKEN",
                                 description: "Bugsee Application token",
                                 optional: false),
    FastlaneCore::ConfigItem.new(key: :dsym_paths,
                                 env_name: "BUGSEE_DSYM_PATHS",
                                 description: "Array of zipped symbols files *.dSYM.zip",
                                 default_value: Actions.lane_context[SharedValues::DSYM_PATHS],
                                 is_string: false,
                                 optional: true),
    FastlaneCore::ConfigItem.new(key: :dsym_path,
                                 env_name: "BUGSEE_DSYM_PATH",
                                 description: "Path to а symbol file",
                                 default_value: Actions.lane_context[SharedValues::DSYM_OUTPUT_PATH],
                                 optional: true),
    FastlaneCore::ConfigItem.new(key: :symbol_maps,
                                 env_name: "BUGSEE_MAPS_PATH",
                                 description: "Path to а folder containing BCSymbolMaps",
                                 optional: true),
    FastlaneCore::ConfigItem.new(key: :version,
                                 env_name: "BUGSEE_APP_VERSION",
                                 description: "Application version",
                                 default_value: Actions.lane_context[SharedValues::VERSION_NUMBER],
                                 optional: true),
    FastlaneCore::ConfigItem.new(key: :build,
                                 env_name: "BUGSEE_APP_BUILD",
                                 description: "Application build number",
                                 default_value: Actions.lane_context[SharedValues::BUILD_NUMBER],
                                 optional: true)
  ]
end

.descriptionObject



57
58
59
# File 'lib/fastlane/plugin/bugsee/actions/upload_symbols_to_bugsee.rb', line 57

def self.description
  
end

.detailsObject



61
62
63
# File 'lib/fastlane/plugin/bugsee/actions/upload_symbols_to_bugsee.rb', line 61

def self.details

end

.is_supported?(platform) ⇒ Boolean



120
121
122
# File 'lib/fastlane/plugin/bugsee/actions/upload_symbols_to_bugsee.rb', line 120

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

.outputObject



110
111
# File 'lib/fastlane/plugin/bugsee/actions/upload_symbols_to_bugsee.rb', line 110

def self.output
end

.return_valueObject



113
114
# File 'lib/fastlane/plugin/bugsee/actions/upload_symbols_to_bugsee.rb', line 113

def self.return_value
end

.run(params) ⇒ Object



5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
# File 'lib/fastlane/plugin/bugsee/actions/upload_symbols_to_bugsee.rb', line 5

def self.run(params)
  app_token = params[:app_token]
  host = params[:host] || "https://api.bugsee.com"
  agent_path = params[:agent_path] || Dir["./**/BugseeAgent"].first
  build_dir = params[:build_dir] || "./"

  UI.user_error!("Please provide an app token using app_token:") unless app_token
  UI.user_error!("Please provide a path to BugseeAgent helper script:") unless agent_path

  agent_path = File.expand_path(agent_path)
  UI.user_error!("BugseeAgent helper script is missing:") unless File.exist?(agent_path)

  dsym_path = params[:dsym_path]
  dsym_paths = params[:dsym_paths] || []
  if dsym_path
    dsym_paths += [dsym_path]
  end

  version = params[:version]
  build = params[:build]
  symbol_maps = params[:symbol_maps]

  dsym_paths.each do |path|
    print(path)
    UI.user_error!("dSYM does not exist at path: #{path}") unless File.exists?(path)
  end

  if dsym_paths.length > 0
    # Got here from download dsyms
    command = []
    command << agent_path.shellescape
    command << "-e #{host}"
    command << "-v #{version}" if version
    command << "-b #{build}" if build
    command << "-d #{build_dir}"
    command << "-m #{maps}" if symbol_maps
    command << "-x -l #{app_token}"
    command += dsym_paths
    begin
      Actions.sh(command.join(" "), log: false)
    rescue => ex
      UI.error ex.to_s # it fails, however we don't want to fail everything just for this
    end
  end
end