43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
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
109
110
111
112
113
114
115
116
117
118
|
# File 'lib/fastlane/actions/crashlytics.rb', line 43
def self.available_options
[
FastlaneCore::ConfigItem.new(key: :ipa_path,
env_name: "CRASHLYTICS_IPA_PATH",
description: "Path to your IPA file. Optional if you use the `gym` or `xcodebuild` action",
default_value: Actions.lane_context[SharedValues::IPA_OUTPUT_PATH] || Dir["*.ipa"].last,
optional: true,
verify_block: proc do |value|
raise "Couldn't find ipa file at path '#{value}'".red unless File.exist?(value)
end),
FastlaneCore::ConfigItem.new(key: :apk_path,
env_name: "CRASHLYTICS_APK_PATH",
description: "Path to your APK file",
default_value: Actions.lane_context[SharedValues::GRADLE_APK_OUTPUT_PATH] || Dir["*.apk"].last || Dir[File.join("app", "build", "outputs", "apk", "app-Release.apk")].last,
optional: true,
verify_block: proc do |value|
raise "Couldn't find apk file at path '#{value}'".red unless File.exist?(value)
end),
FastlaneCore::ConfigItem.new(key: :crashlytics_path,
env_name: "CRASHLYTICS_FRAMEWORK_PATH",
description: "Path to the submit binary in the Crashlytics bundle (iOS) or `crashlytics-devtools.jar` file (Android)",
default_value: Dir["./Pods/iOS/Crashlytics/Crashlytics.framework"].last || Dir["./**/Crashlytics.framework"].last,
optional: true,
verify_block: proc do |value|
raise "Couldn't find crashlytics at path '#{File.expand_path(value)}'`".red unless File.exist?(File.expand_path(value))
end),
FastlaneCore::ConfigItem.new(key: :api_token,
env_name: "CRASHLYTICS_API_TOKEN",
description: "Crashlytics Beta API Token",
verify_block: proc do |value|
raise "No API token for Crashlytics given, pass using `api_token: 'token'`".red unless value && !value.empty?
end),
FastlaneCore::ConfigItem.new(key: :build_secret,
env_name: "CRASHLYTICS_BUILD_SECRET",
description: "Crashlytics Build Secret",
verify_block: proc do |value|
raise "No build secret for Crashlytics given, pass using `build_secret: 'secret'`".red unless value && !value.empty?
end),
FastlaneCore::ConfigItem.new(key: :notes_path,
env_name: "CRASHLYTICS_NOTES_PATH",
description: "Path to the release notes",
optional: true,
verify_block: proc do |value|
raise "Path '#{value}' not found".red unless File.exist?(value)
end),
FastlaneCore::ConfigItem.new(key: :notes,
env_name: "CRASHLYTICS_NOTES",
description: "The release notes as string - uses :notes_path under the hood",
optional: true,
is_string: true),
FastlaneCore::ConfigItem.new(key: :groups,
env_name: "CRASHLYTICS_GROUPS",
description: "The groups used for distribution, separated by commas",
optional: true,
is_string: false),
FastlaneCore::ConfigItem.new(key: :emails,
env_name: "CRASHLYTICS_EMAILS",
description: "Pass email addresses of testers, separated by commas",
optional: true,
is_string: false),
FastlaneCore::ConfigItem.new(key: :notifications,
env_name: "CRASHLYTICS_NOTIFICATIONS",
description: "Crashlytics notification option (true/false)",
default_value: true,
is_string: false),
FastlaneCore::ConfigItem.new(key: :debug,
env_name: "CRASHLYTICS_DEBUG",
description: "Crashlytics debug option (true/false)",
default_value: false,
is_string: false)
]
end
|