fastlane 1.104.0 → 1.105.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/.DS_Store +0 -0
- data/lib/assets/.DS_Store +0 -0
- data/lib/assets/Actions.md.erb +78 -0
- data/lib/assets/AvailablePlugins.md.erb +2 -2
- data/lib/{fastlane/plugins → assets/completions}/.DS_Store +0 -0
- data/lib/fastlane/.DS_Store +0 -0
- data/lib/fastlane/action.rb +33 -0
- data/lib/fastlane/actions/.DS_Store +0 -0
- data/lib/fastlane/actions/adb.rb +12 -0
- data/lib/fastlane/actions/adb_devices.rb +21 -2
- data/lib/fastlane/actions/add_git_tag.rb +31 -0
- data/lib/fastlane/actions/appaloosa.rb +27 -0
- data/lib/fastlane/actions/appetize.rb +23 -1
- data/lib/fastlane/actions/appetize_viewing_url_generator.rb +3 -1
- data/lib/fastlane/actions/appium.rb +18 -0
- data/lib/fastlane/actions/appledoc.rb +24 -0
- data/lib/fastlane/actions/appstore.rb +8 -0
- data/lib/fastlane/actions/apteligent.rb +13 -0
- data/lib/fastlane/actions/artifactory.rb +17 -0
- data/lib/fastlane/actions/backup_file.rb +10 -0
- data/lib/fastlane/actions/backup_xcarchive.rb +15 -0
- data/lib/fastlane/actions/badge.rb +15 -1
- data/lib/fastlane/actions/build_and_upload_to_appetize.rb +14 -1
- data/lib/fastlane/actions/bundle_install.rb +9 -0
- data/lib/fastlane/actions/carthage.rb +23 -0
- data/lib/fastlane/actions/cert.rb +21 -0
- data/lib/fastlane/actions/changelog_from_git_commits.rb +16 -0
- data/lib/fastlane/actions/chatwork.rb +20 -1
- data/lib/fastlane/actions/clean_build_artifacts.rb +19 -1
- data/lib/fastlane/actions/clean_cocoapods_cache.rb +11 -0
- data/lib/fastlane/actions/clear_derived_data.rb +11 -0
- data/lib/fastlane/actions/clipboard.rb +11 -0
- data/lib/fastlane/actions/cloc.rb +18 -1
- data/lib/fastlane/actions/cocoapods.rb +18 -0
- data/lib/fastlane/actions/commit_version_bump.rb +30 -0
- data/lib/fastlane/actions/copy_artifacts.rb +25 -0
- data/lib/fastlane/actions/crashlytics.rb +24 -1
- data/lib/fastlane/actions/create_keychain.rb +16 -0
- data/lib/fastlane/actions/create_pull_request.rb +18 -0
- data/lib/fastlane/actions/danger.rb +20 -1
- data/lib/fastlane/actions/debug.rb +10 -0
- data/lib/fastlane/actions/default_platform.rb +10 -0
- data/lib/fastlane/actions/delete_keychain.rb +14 -0
- data/lib/fastlane/actions/deliver.rb +26 -0
- data/lib/fastlane/actions/deploygate.rb +25 -2
- data/lib/fastlane/{plugins/templates → actions/device_grid}/.DS_Store +0 -0
- data/lib/fastlane/actions/dotgpg_environment.rb +10 -0
- data/lib/fastlane/actions/download.rb +10 -0
- data/lib/fastlane/actions/download_dsyms.rb +20 -2
- data/lib/fastlane/actions/dsym_zip.rb +17 -0
- data/lib/fastlane/actions/ensure_git_branch.rb +21 -0
- data/lib/fastlane/actions/ensure_git_status_clean.rb +18 -0
- data/lib/fastlane/actions/ensure_no_debug_code.rb +21 -1
- data/lib/fastlane/actions/ensure_xcode_version.rb +8 -0
- data/lib/fastlane/actions/erb.rb +30 -1
- data/lib/fastlane/actions/fastlane_version.rb +17 -2
- data/lib/fastlane/actions/flock.rb +20 -0
- data/lib/fastlane/actions/frameit.rb +18 -0
- data/lib/fastlane/actions/gcovr.rb +18 -0
- data/lib/fastlane/actions/get_build_number.rb +10 -0
- data/lib/fastlane/actions/get_build_number_repository.rb +18 -0
- data/lib/fastlane/actions/get_github_release.rb +18 -1
- data/lib/fastlane/actions/get_info_plist_value.rb +14 -0
- data/lib/fastlane/actions/get_ipa_info_plist_value.rb +10 -0
- data/lib/fastlane/actions/get_version_number.rb +10 -0
- data/lib/fastlane/actions/git_add.rb +11 -7
- data/lib/fastlane/actions/git_branch.rb +10 -0
- data/lib/fastlane/actions/git_commit.rb +13 -0
- data/lib/fastlane/actions/git_pull.rb +11 -0
- data/lib/fastlane/actions/git_tag_exists.rb +12 -0
- data/lib/fastlane/actions/gradle.rb +45 -0
- data/lib/fastlane/actions/gym.rb +25 -3
- data/lib/fastlane/actions/hg_add_tag.rb +10 -0
- data/lib/fastlane/actions/hg_commit_version_bump.rb +26 -0
- data/lib/fastlane/actions/hg_ensure_clean_status.rb +14 -0
- data/lib/fastlane/actions/hg_push.rb +18 -0
- data/lib/fastlane/actions/hipchat.rb +19 -0
- data/lib/fastlane/actions/hockey.rb +22 -1
- data/lib/fastlane/actions/ifttt.rb +20 -0
- data/lib/fastlane/actions/import.rb +10 -0
- data/lib/fastlane/actions/import_certificate.rb +19 -0
- data/lib/fastlane/actions/import_from_git.rb +14 -0
- data/lib/fastlane/actions/increment_build_number.rb +24 -2
- data/lib/fastlane/actions/increment_version_number.rb +31 -0
- data/lib/fastlane/actions/install_on_device.rb +17 -0
- data/lib/fastlane/actions/install_xcode_plugin.rb +11 -0
- data/lib/fastlane/actions/installr.rb +17 -1
- data/lib/fastlane/actions/ipa.rb +25 -1
- data/lib/fastlane/actions/is_ci.rb +14 -1
- data/lib/fastlane/actions/jazzy.rb +10 -0
- data/lib/fastlane/actions/jira.rb +16 -3
- data/lib/fastlane/actions/lane_context.rb +8 -0
- data/lib/fastlane/actions/last_git_commit.rb +23 -0
- data/lib/fastlane/actions/last_git_tag.rb +14 -0
- data/lib/fastlane/actions/latest_testflight_build_number.rb +21 -1
- data/lib/fastlane/actions/lcov.rb +14 -0
- data/lib/fastlane/actions/mailgun.rb +25 -0
- data/lib/fastlane/actions/make_changelog_from_jenkins.rb +13 -0
- data/lib/fastlane/actions/match.rb +11 -0
- data/lib/fastlane/actions/nexus_upload.rb +20 -0
- data/lib/fastlane/actions/notification.rb +10 -0
- data/lib/fastlane/actions/notify.rb +9 -1
- data/lib/fastlane/actions/number_of_commits.rb +15 -0
- data/lib/fastlane/actions/oclint.rb +35 -0
- data/lib/fastlane/actions/onesignal.rb +17 -3
- data/lib/fastlane/actions/opt_out_usage.rb +10 -0
- data/lib/fastlane/actions/pem.rb +19 -0
- data/lib/fastlane/actions/pilot.rb +17 -0
- data/lib/fastlane/actions/pod_lib_lint.rb +16 -0
- data/lib/fastlane/actions/pod_push.rb +17 -3
- data/lib/fastlane/actions/podio_item.rb +16 -0
- data/lib/fastlane/actions/produce.rb +19 -0
- data/lib/fastlane/actions/prompt.rb +20 -0
- data/lib/fastlane/actions/push_git_tags.rb +14 -0
- data/lib/fastlane/actions/push_to_git_remote.rb +25 -0
- data/lib/fastlane/actions/puts.rb +10 -0
- data/lib/fastlane/actions/read_podspec.rb +23 -1
- data/lib/fastlane/actions/recreate_schemes.rb +10 -0
- data/lib/fastlane/actions/register_devices.rb +31 -0
- data/lib/fastlane/actions/reset_git_repo.rb +18 -0
- data/lib/fastlane/actions/reset_simulators.rb +10 -0
- data/lib/fastlane/actions/resign.rb +24 -2
- data/lib/fastlane/actions/restore_file.rb +10 -0
- data/lib/fastlane/actions/rocket.rb +14 -0
- data/lib/fastlane/actions/rsync.rb +13 -0
- data/lib/fastlane/actions/s3.rb +30 -0
- data/lib/fastlane/actions/say.rb +10 -0
- data/lib/fastlane/actions/scan.rb +16 -1
- data/lib/fastlane/actions/scp.rb +25 -0
- data/lib/fastlane/actions/screengrab.rb +16 -0
- data/lib/fastlane/actions/set_build_number_repository.rb +16 -3
- data/lib/fastlane/actions/set_changelog.rb +14 -1
- data/lib/fastlane/actions/set_github_release.rb +18 -0
- data/lib/fastlane/actions/set_info_plist_value.rb +10 -4
- data/lib/fastlane/actions/set_pod_key.rb +18 -0
- data/lib/fastlane/actions/setup_jenkins.rb +15 -1
- data/lib/fastlane/actions/sigh.rb +19 -0
- data/lib/fastlane/actions/skip_docs.rb +14 -0
- data/lib/fastlane/actions/slack.rb +34 -0
- data/lib/fastlane/actions/slather.rb +15 -2
- data/lib/fastlane/actions/snapshot.rb +14 -0
- data/lib/fastlane/actions/sonar.rb +37 -19
- data/lib/fastlane/actions/splunkmint.rb +14 -0
- data/lib/fastlane/actions/ssh.rb +18 -1
- data/lib/fastlane/actions/supply.rb +10 -2
- data/lib/fastlane/actions/swiftlint.rb +19 -0
- data/lib/fastlane/actions/team_id.rb +10 -0
- data/lib/fastlane/actions/team_name.rb +10 -0
- data/lib/fastlane/actions/testfairy.rb +19 -1
- data/lib/fastlane/actions/testflight.rb +8 -0
- data/lib/fastlane/actions/tryouts.rb +19 -1
- data/lib/fastlane/actions/twitter.rb +18 -1
- data/lib/fastlane/actions/typetalk.rb +16 -0
- data/lib/fastlane/actions/unlock_keychain.rb +27 -0
- data/lib/fastlane/actions/update_app_group_identifiers.rb +17 -0
- data/lib/fastlane/actions/update_app_identifier.rb +18 -0
- data/lib/fastlane/actions/update_fastlane.rb +27 -0
- data/lib/fastlane/actions/update_icloud_container_identifiers.rb +17 -0
- data/lib/fastlane/actions/update_info_plist.rb +38 -0
- data/lib/fastlane/actions/update_project_code_signing.rb +10 -2
- data/lib/fastlane/actions/update_project_provisioning.rb +17 -1
- data/lib/fastlane/actions/update_project_team.rb +14 -1
- data/lib/fastlane/actions/update_urban_airship_configuration.rb +14 -0
- data/lib/fastlane/actions/update_url_schemes.rb +21 -0
- data/lib/fastlane/actions/upload_symbols_to_crashlytics.rb +10 -0
- data/lib/fastlane/actions/upload_symbols_to_sentry.rb +15 -0
- data/lib/fastlane/actions/verify_build.rb +14 -0
- data/lib/fastlane/actions/verify_pod_keys.rb +15 -1
- data/lib/fastlane/actions/verify_xcode.rb +11 -0
- data/lib/fastlane/actions/version_bump_podspec.rb +11 -0
- data/lib/fastlane/actions/version_get_podspec.rb +10 -0
- data/lib/fastlane/actions/xcode_install.rb +11 -0
- data/lib/fastlane/actions/xcode_select.rb +14 -0
- data/lib/fastlane/actions/xcode_server_get_assets.rb +13 -0
- data/lib/fastlane/actions/xcodebuild.rb +68 -1
- data/lib/fastlane/actions/xcov.rb +18 -1
- data/lib/fastlane/actions/xctool.rb +21 -1
- data/lib/fastlane/actions/xcversion.rb +17 -2
- data/lib/fastlane/actions/zip.rb +14 -0
- data/lib/fastlane/commands_generator.rb +2 -4
- data/lib/fastlane/documentation/markdown_docs_generator.rb +142 -0
- data/lib/fastlane/features.rb +4 -2
- data/lib/fastlane/lane_manager.rb +6 -2
- data/lib/fastlane/setup/crashlytics_beta.rb +6 -4
- data/lib/fastlane/version.rb +1 -1
- metadata +37 -33
@@ -24,6 +24,14 @@ module Fastlane
|
|
24
24
|
"Set the build number from the current repository"
|
25
25
|
end
|
26
26
|
|
27
|
+
def self.details
|
28
|
+
[
|
29
|
+
"This action will set the **build number** according to what the SCM HEAD reports.",
|
30
|
+
"Currently supported SCMs are svn (uses root revision), git-svn (uses svn revision) and git (uses short hash) and mercurial (uses short hash or revision number).",
|
31
|
+
"There is an option, `:use_hg_revision_number`, which allows to use mercurial revision number instead of hash"
|
32
|
+
].join("\n")
|
33
|
+
end
|
34
|
+
|
27
35
|
def self.available_options
|
28
36
|
[
|
29
37
|
FastlaneCore::ConfigItem.new(key: :use_hg_revision_number,
|
@@ -35,13 +43,18 @@ module Fastlane
|
|
35
43
|
]
|
36
44
|
end
|
37
45
|
|
38
|
-
def self.
|
46
|
+
def self.authors
|
47
|
+
["pbrooks", "armadsen"]
|
48
|
+
end
|
49
|
+
|
50
|
+
def self.example_code
|
39
51
|
[
|
52
|
+
'set_build_number_repository'
|
40
53
|
]
|
41
54
|
end
|
42
55
|
|
43
|
-
def self.
|
44
|
-
|
56
|
+
def self.category
|
57
|
+
:project
|
45
58
|
end
|
46
59
|
end
|
47
60
|
end
|
@@ -70,7 +70,10 @@ module Fastlane
|
|
70
70
|
end
|
71
71
|
|
72
72
|
def self.details
|
73
|
-
|
73
|
+
[
|
74
|
+
"This is useful if you have only one changelog for all languages.",
|
75
|
+
"You can store the changelog in `./fastlane/changelog.txt` and it will automatically get loaded from there. This integration is useful if you support e.g. 10 languages and want to use the same \"What's new\"-text for all languages."
|
76
|
+
].join("\n")
|
74
77
|
end
|
75
78
|
|
76
79
|
def self.available_options
|
@@ -106,6 +109,16 @@ module Fastlane
|
|
106
109
|
def self.is_supported?(platform)
|
107
110
|
[:ios, :mac].include? platform
|
108
111
|
end
|
112
|
+
|
113
|
+
def self.example_code
|
114
|
+
[
|
115
|
+
'set_changelog(app_identifier: "com.krausefx.app", version: "1.0", changelog: "All Languages")'
|
116
|
+
]
|
117
|
+
end
|
118
|
+
|
119
|
+
def self.category
|
120
|
+
:beta
|
121
|
+
end
|
109
122
|
end
|
110
123
|
end
|
111
124
|
end
|
@@ -255,6 +255,24 @@ module Fastlane
|
|
255
255
|
def self.is_supported?(platform)
|
256
256
|
true
|
257
257
|
end
|
258
|
+
|
259
|
+
def self.example_code
|
260
|
+
[
|
261
|
+
'github_release = set_github_release(
|
262
|
+
repository_name: "fastlane/fastlane",
|
263
|
+
api_token: ENV["GITHUB_TOKEN"],
|
264
|
+
name: "Super New actions",
|
265
|
+
tag_name: "v1.22.0",
|
266
|
+
description: (File.read("changelog") rescue "No changelog provided"),
|
267
|
+
commitish: "master",
|
268
|
+
upload_assets: ["example_integration.ipa", "./pkg/built.gem"]
|
269
|
+
)'
|
270
|
+
]
|
271
|
+
end
|
272
|
+
|
273
|
+
def self.category
|
274
|
+
:misc
|
275
|
+
end
|
258
276
|
end
|
259
277
|
end
|
260
278
|
end
|
@@ -46,10 +46,6 @@ module Fastlane
|
|
46
46
|
]
|
47
47
|
end
|
48
48
|
|
49
|
-
def self.output
|
50
|
-
[]
|
51
|
-
end
|
52
|
-
|
53
49
|
def self.authors
|
54
50
|
["kohtenko"]
|
55
51
|
end
|
@@ -57,6 +53,16 @@ module Fastlane
|
|
57
53
|
def self.is_supported?(platform)
|
58
54
|
[:ios, :mac].include? platform
|
59
55
|
end
|
56
|
+
|
57
|
+
def self.example_code
|
58
|
+
[
|
59
|
+
'set_info_plist_value(path: "./Info.plist", key: "CFBundleIdentifier", value: "com.krausefx.app.beta")'
|
60
|
+
]
|
61
|
+
end
|
62
|
+
|
63
|
+
def self.category
|
64
|
+
:project
|
65
|
+
end
|
60
66
|
end
|
61
67
|
end
|
62
68
|
end
|
@@ -27,6 +27,10 @@ module Fastlane
|
|
27
27
|
"Sets a value for a key with cocoapods-keys"
|
28
28
|
end
|
29
29
|
|
30
|
+
def self.details
|
31
|
+
"Adds a key to [cocoapods-keys](https://github.com/orta/cocoapods-keys)"
|
32
|
+
end
|
33
|
+
|
30
34
|
def self.available_options
|
31
35
|
[
|
32
36
|
FastlaneCore::ConfigItem.new(key: :use_bundle_exec,
|
@@ -55,6 +59,20 @@ module Fastlane
|
|
55
59
|
def self.is_supported?(platform)
|
56
60
|
[:ios, :mac].include? platform
|
57
61
|
end
|
62
|
+
|
63
|
+
def self.example_code
|
64
|
+
[
|
65
|
+
'set_pod_key(
|
66
|
+
key: "APIToken",
|
67
|
+
value: "1234",
|
68
|
+
project: "MyProject"
|
69
|
+
)'
|
70
|
+
]
|
71
|
+
end
|
72
|
+
|
73
|
+
def self.category
|
74
|
+
:project
|
75
|
+
end
|
58
76
|
end
|
59
77
|
end
|
60
78
|
end
|
@@ -91,7 +91,11 @@ module Fastlane
|
|
91
91
|
"- Sets code signing identity from Jenkins 'Keychains and Provisioning Profiles Plugin'",
|
92
92
|
"- Sets output directory to './output' (gym, scan and backup_xcarchive).",
|
93
93
|
"- Sets derived data path to './derivedData' (xcodebuild, gym, scan and clear_derived_data, carthage).",
|
94
|
-
"- Produce result bundle (gym and scan)."
|
94
|
+
"- Produce result bundle (gym and scan).",
|
95
|
+
"",
|
96
|
+
"This action helps with Jenkins integration. Creates own derived data for each job. All build results like IPA files and archives will be stored in the `./output` directory.",
|
97
|
+
"The action also works with [Keychains and Provisioning Profiles Plugin](https://wiki.jenkins-ci.org/display/JENKINS/Keychains+and+Provisioning+Profiles+Plugin), selected keychain",
|
98
|
+
"will be automatically unlocked and the selected code signing identity will be used. By default this action will only work when fastlane is executed on a CI system."
|
95
99
|
].join("\n")
|
96
100
|
end
|
97
101
|
|
@@ -169,6 +173,16 @@ module Fastlane
|
|
169
173
|
def self.is_supported?(platform)
|
170
174
|
[:ios, :mac].include?(platform)
|
171
175
|
end
|
176
|
+
|
177
|
+
def self.example_code
|
178
|
+
[
|
179
|
+
'setup_jenkins'
|
180
|
+
]
|
181
|
+
end
|
182
|
+
|
183
|
+
def self.category
|
184
|
+
:misc
|
185
|
+
end
|
172
186
|
end
|
173
187
|
end
|
174
188
|
end
|
@@ -55,6 +55,10 @@ module Fastlane
|
|
55
55
|
"The UDID of the profile sigh just fetched/generated"
|
56
56
|
end
|
57
57
|
|
58
|
+
def self.details
|
59
|
+
"**Note**: It is recommended to use [match](https://github.com/fastlane/fastlane/tree/master/match) according to the [codesigning.guide](https://codesigning.guide) for generating and maintaining your provisioning profiles. Use _sigh_ directly only if you want full control over what's going on and know more about codesigning."
|
60
|
+
end
|
61
|
+
|
58
62
|
def self.available_options
|
59
63
|
require 'sigh'
|
60
64
|
Sigh::Options.available_options
|
@@ -63,6 +67,21 @@ module Fastlane
|
|
63
67
|
def self.is_supported?(platform)
|
64
68
|
platform == :ios
|
65
69
|
end
|
70
|
+
|
71
|
+
def self.example_code
|
72
|
+
[
|
73
|
+
'sigh',
|
74
|
+
'sigh(
|
75
|
+
adhoc: true,
|
76
|
+
force: true,
|
77
|
+
filename: "myFile.mobileprovision"
|
78
|
+
)'
|
79
|
+
]
|
80
|
+
end
|
81
|
+
|
82
|
+
def self.category
|
83
|
+
:code_signing
|
84
|
+
end
|
66
85
|
end
|
67
86
|
end
|
68
87
|
end
|
@@ -26,6 +26,10 @@ module Fastlane
|
|
26
26
|
def self.return_value
|
27
27
|
end
|
28
28
|
|
29
|
+
def self.details
|
30
|
+
"Tell _fastlane_ to not automatically create a `fastlane/README.md` when running _fastlane_. You can always trigger the creation of this file manually by running `fastlane docs`"
|
31
|
+
end
|
32
|
+
|
29
33
|
def self.authors
|
30
34
|
["KrauseFx"]
|
31
35
|
end
|
@@ -33,6 +37,16 @@ module Fastlane
|
|
33
37
|
def self.is_supported?(platform)
|
34
38
|
true
|
35
39
|
end
|
40
|
+
|
41
|
+
def self.example_code
|
42
|
+
[
|
43
|
+
'skip_docs'
|
44
|
+
]
|
45
|
+
end
|
46
|
+
|
47
|
+
def self.category
|
48
|
+
:misc
|
49
|
+
end
|
36
50
|
end
|
37
51
|
end
|
38
52
|
end
|
@@ -116,6 +116,40 @@ module Fastlane
|
|
116
116
|
"KrauseFx"
|
117
117
|
end
|
118
118
|
|
119
|
+
def self.example_code
|
120
|
+
[
|
121
|
+
'slack(message: "App successfully released!")',
|
122
|
+
'slack(
|
123
|
+
message: "App successfully released!",
|
124
|
+
channel: "#channel", # Optional, by default will post to the default channel configured for the POST URL.
|
125
|
+
success: true, # Optional, defaults to true.
|
126
|
+
payload: { # Optional, lets you specify any number of your own Slack attachments.
|
127
|
+
"Build Date" => Time.new.to_s,
|
128
|
+
"Built by" => "Jenkins",
|
129
|
+
},
|
130
|
+
default_payloads: [:git_branch, :git_author], # Optional, lets you specify a whitelist of default payloads to include. Pass an empty array to suppress all the default payloads.
|
131
|
+
# Don\'t add this key, or pass nil, if you want all the default payloads. The available default payloads are: `lane`, `test_result`, `git_branch`, `git_author`, `last_git_commit_message`.
|
132
|
+
attachment_properties: { # Optional, lets you specify any other properties available for attachments in the slack API (see https://api.slack.com/docs/attachments).
|
133
|
+
# This hash is deep merged with the existing properties set using the other properties above. This allows your own fields properties to be appended to the existing fields that were created using the `payload` property for instance.
|
134
|
+
thumb_url: "http://example.com/path/to/thumb.png",
|
135
|
+
fields: [{
|
136
|
+
title: "My Field",
|
137
|
+
value: "My Value",
|
138
|
+
short: true
|
139
|
+
}]
|
140
|
+
}
|
141
|
+
)'
|
142
|
+
]
|
143
|
+
end
|
144
|
+
|
145
|
+
def self.category
|
146
|
+
:notifications
|
147
|
+
end
|
148
|
+
|
149
|
+
def self.details
|
150
|
+
"Create an Incoming WebHook and export this as `SLACK_URL`. Can send a message to **#channel** (by default), a direct message to **@username** or a message to a private group **group** with success (green) or failure (red) status."
|
151
|
+
end
|
152
|
+
|
119
153
|
#####################################################
|
120
154
|
# @!group Helper
|
121
155
|
#####################################################
|
@@ -226,17 +226,30 @@ Slather is available at https://github.com/SlatherOrg/slather
|
|
226
226
|
end
|
227
227
|
|
228
228
|
def self.output
|
229
|
-
# Define the shared values you are going to provide
|
230
229
|
end
|
231
230
|
|
232
231
|
def self.authors
|
233
|
-
# So no one will ever forget your contribution to fastlane :) You are awesome btw!
|
234
232
|
["mattdelves"]
|
235
233
|
end
|
236
234
|
|
237
235
|
def self.is_supported?(platform)
|
238
236
|
[:ios, :mac].include? platform
|
239
237
|
end
|
238
|
+
|
239
|
+
def self.example_code
|
240
|
+
[
|
241
|
+
'slather(
|
242
|
+
build_directory: "foo",
|
243
|
+
input_format: "bah",
|
244
|
+
scheme: "MyScheme",
|
245
|
+
proj: "MyProject.xcodeproj"
|
246
|
+
)'
|
247
|
+
]
|
248
|
+
end
|
249
|
+
|
250
|
+
def self.category
|
251
|
+
:testing
|
252
|
+
end
|
240
253
|
end
|
241
254
|
end
|
242
255
|
end
|
@@ -41,6 +41,20 @@ module Fastlane
|
|
41
41
|
def self.is_supported?(platform)
|
42
42
|
platform == :ios
|
43
43
|
end
|
44
|
+
|
45
|
+
def self.example_code
|
46
|
+
[
|
47
|
+
'snapshot',
|
48
|
+
'snapshot(
|
49
|
+
skip_open_summary: true,
|
50
|
+
clean: true
|
51
|
+
)'
|
52
|
+
]
|
53
|
+
end
|
54
|
+
|
55
|
+
def self.category
|
56
|
+
:screenshots
|
57
|
+
end
|
44
58
|
end
|
45
59
|
end
|
46
60
|
end
|
@@ -2,7 +2,7 @@ module Fastlane
|
|
2
2
|
module Actions
|
3
3
|
class SonarAction < Action
|
4
4
|
def self.run(params)
|
5
|
-
|
5
|
+
verify_sonar_scanner_binary
|
6
6
|
|
7
7
|
command_prefix = [
|
8
8
|
'cd',
|
@@ -10,27 +10,27 @@ module Fastlane
|
|
10
10
|
'&&'
|
11
11
|
].join(' ')
|
12
12
|
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
13
|
+
sonar_scanner_args = []
|
14
|
+
sonar_scanner_args << "-Dproject.settings=\"#{params[:project_configuration_path]}\"" if params[:project_configuration_path]
|
15
|
+
sonar_scanner_args << "-Dsonar.projectKey=\"#{params[:project_key]}\"" if params[:project_key]
|
16
|
+
sonar_scanner_args << "-Dsonar.projectName=\"#{params[:project_name]}\"" if params[:project_name]
|
17
|
+
sonar_scanner_args << "-Dsonar.projectVersion=\"#{params[:project_version]}\"" if params[:project_version]
|
18
|
+
sonar_scanner_args << "-Dsonar.sources=\"#{params[:sources_path]}\"" if params[:sources_path]
|
19
|
+
sonar_scanner_args << "-Dsonar.language=\"#{params[:project_language]}\"" if params[:project_language]
|
20
|
+
sonar_scanner_args << "-Dsonar.sourceEncoding=\"#{params[:source_encoding]}\"" if params[:source_encoding]
|
21
|
+
sonar_scanner_args << params[:sonar_runner_args] if params[:sonar_runner_args]
|
22
22
|
|
23
23
|
command = [
|
24
24
|
command_prefix,
|
25
|
-
'sonar-
|
26
|
-
|
25
|
+
'sonar-scanner',
|
26
|
+
sonar_scanner_args
|
27
27
|
].join(' ')
|
28
28
|
|
29
29
|
Action.sh command
|
30
30
|
end
|
31
31
|
|
32
|
-
def self.
|
33
|
-
UI.user_error!("You have to install sonar-
|
32
|
+
def self.verify_sonar_scanner_binary
|
33
|
+
UI.user_error!("You have to install sonar-scanner using `brew install sonar-runner`") unless `which sonar-scanner`.to_s.length > 0
|
34
34
|
end
|
35
35
|
|
36
36
|
#####################################################
|
@@ -38,18 +38,21 @@ module Fastlane
|
|
38
38
|
#####################################################
|
39
39
|
|
40
40
|
def self.description
|
41
|
-
"Invokes sonar-
|
41
|
+
"Invokes sonar-scanner to programmatically run SonarQube analysis"
|
42
42
|
end
|
43
43
|
|
44
44
|
def self.details
|
45
|
-
|
45
|
+
[
|
46
|
+
"See http://docs.sonarqube.org/display/SCAN/Analyzing+with+SonarQube+Scanner for details.",
|
47
|
+
"It can process unit test results if formatted as junit report as shown in [xctest](#xctest) action. It can also integrate coverage reports in Cobertura format, which can be transformed into by [slather](#slather) action."
|
48
|
+
].join("\n")
|
46
49
|
end
|
47
50
|
|
48
51
|
def self.available_options
|
49
52
|
[
|
50
53
|
FastlaneCore::ConfigItem.new(key: :project_configuration_path,
|
51
54
|
env_name: "FL_SONAR_RUNNER_PROPERTIES_PATH",
|
52
|
-
description: "The path to your sonar project configuration file; defaults to `sonar-project.properties`", # default is enforced by sonar-
|
55
|
+
description: "The path to your sonar project configuration file; defaults to `sonar-project.properties`", # default is enforced by sonar-scanner binary
|
53
56
|
optional: true,
|
54
57
|
verify_block: proc do |value|
|
55
58
|
UI.user_error!("Couldn't find file at path '#{value}'") unless value.nil? or File.exist?(value)
|
@@ -80,13 +83,13 @@ module Fastlane
|
|
80
83
|
optional: true),
|
81
84
|
FastlaneCore::ConfigItem.new(key: :sonar_runner_args,
|
82
85
|
env_name: "FL_SONAR_RUNNER_ARGS",
|
83
|
-
description: "Pass additional arguments to sonar-
|
86
|
+
description: "Pass additional arguments to sonar-scanner. Be sure to provide the arguments with a leading `-D` e.g. FL_SONAR_RUNNER_ARGS=\"-Dsonar.verbose=true\"",
|
84
87
|
optional: true)
|
85
88
|
]
|
86
89
|
end
|
87
90
|
|
88
91
|
def self.return_value
|
89
|
-
"The exit code of the sonar-
|
92
|
+
"The exit code of the sonar-scanner binary"
|
90
93
|
end
|
91
94
|
|
92
95
|
def self.authors
|
@@ -96,6 +99,21 @@ module Fastlane
|
|
96
99
|
def self.is_supported?(platform)
|
97
100
|
true
|
98
101
|
end
|
102
|
+
|
103
|
+
def self.example_code
|
104
|
+
[
|
105
|
+
'sonar(
|
106
|
+
project_key: "name.gretzki.awesomeApp",
|
107
|
+
project_version: "1.0",
|
108
|
+
project_name: "iOS - AwesomeApp",
|
109
|
+
sources_path: File.expand_path("../AwesomeApp")
|
110
|
+
)'
|
111
|
+
]
|
112
|
+
end
|
113
|
+
|
114
|
+
def self.category
|
115
|
+
:testing
|
116
|
+
end
|
99
117
|
end
|
100
118
|
end
|
101
119
|
end
|