fastlane 1.104.0 → 1.105.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (187) hide show
  1. checksums.yaml +4 -4
  2. data/lib/.DS_Store +0 -0
  3. data/lib/assets/.DS_Store +0 -0
  4. data/lib/assets/Actions.md.erb +78 -0
  5. data/lib/assets/AvailablePlugins.md.erb +2 -2
  6. data/lib/{fastlane/plugins → assets/completions}/.DS_Store +0 -0
  7. data/lib/fastlane/.DS_Store +0 -0
  8. data/lib/fastlane/action.rb +33 -0
  9. data/lib/fastlane/actions/.DS_Store +0 -0
  10. data/lib/fastlane/actions/adb.rb +12 -0
  11. data/lib/fastlane/actions/adb_devices.rb +21 -2
  12. data/lib/fastlane/actions/add_git_tag.rb +31 -0
  13. data/lib/fastlane/actions/appaloosa.rb +27 -0
  14. data/lib/fastlane/actions/appetize.rb +23 -1
  15. data/lib/fastlane/actions/appetize_viewing_url_generator.rb +3 -1
  16. data/lib/fastlane/actions/appium.rb +18 -0
  17. data/lib/fastlane/actions/appledoc.rb +24 -0
  18. data/lib/fastlane/actions/appstore.rb +8 -0
  19. data/lib/fastlane/actions/apteligent.rb +13 -0
  20. data/lib/fastlane/actions/artifactory.rb +17 -0
  21. data/lib/fastlane/actions/backup_file.rb +10 -0
  22. data/lib/fastlane/actions/backup_xcarchive.rb +15 -0
  23. data/lib/fastlane/actions/badge.rb +15 -1
  24. data/lib/fastlane/actions/build_and_upload_to_appetize.rb +14 -1
  25. data/lib/fastlane/actions/bundle_install.rb +9 -0
  26. data/lib/fastlane/actions/carthage.rb +23 -0
  27. data/lib/fastlane/actions/cert.rb +21 -0
  28. data/lib/fastlane/actions/changelog_from_git_commits.rb +16 -0
  29. data/lib/fastlane/actions/chatwork.rb +20 -1
  30. data/lib/fastlane/actions/clean_build_artifacts.rb +19 -1
  31. data/lib/fastlane/actions/clean_cocoapods_cache.rb +11 -0
  32. data/lib/fastlane/actions/clear_derived_data.rb +11 -0
  33. data/lib/fastlane/actions/clipboard.rb +11 -0
  34. data/lib/fastlane/actions/cloc.rb +18 -1
  35. data/lib/fastlane/actions/cocoapods.rb +18 -0
  36. data/lib/fastlane/actions/commit_version_bump.rb +30 -0
  37. data/lib/fastlane/actions/copy_artifacts.rb +25 -0
  38. data/lib/fastlane/actions/crashlytics.rb +24 -1
  39. data/lib/fastlane/actions/create_keychain.rb +16 -0
  40. data/lib/fastlane/actions/create_pull_request.rb +18 -0
  41. data/lib/fastlane/actions/danger.rb +20 -1
  42. data/lib/fastlane/actions/debug.rb +10 -0
  43. data/lib/fastlane/actions/default_platform.rb +10 -0
  44. data/lib/fastlane/actions/delete_keychain.rb +14 -0
  45. data/lib/fastlane/actions/deliver.rb +26 -0
  46. data/lib/fastlane/actions/deploygate.rb +25 -2
  47. data/lib/fastlane/{plugins/templates → actions/device_grid}/.DS_Store +0 -0
  48. data/lib/fastlane/actions/dotgpg_environment.rb +10 -0
  49. data/lib/fastlane/actions/download.rb +10 -0
  50. data/lib/fastlane/actions/download_dsyms.rb +20 -2
  51. data/lib/fastlane/actions/dsym_zip.rb +17 -0
  52. data/lib/fastlane/actions/ensure_git_branch.rb +21 -0
  53. data/lib/fastlane/actions/ensure_git_status_clean.rb +18 -0
  54. data/lib/fastlane/actions/ensure_no_debug_code.rb +21 -1
  55. data/lib/fastlane/actions/ensure_xcode_version.rb +8 -0
  56. data/lib/fastlane/actions/erb.rb +30 -1
  57. data/lib/fastlane/actions/fastlane_version.rb +17 -2
  58. data/lib/fastlane/actions/flock.rb +20 -0
  59. data/lib/fastlane/actions/frameit.rb +18 -0
  60. data/lib/fastlane/actions/gcovr.rb +18 -0
  61. data/lib/fastlane/actions/get_build_number.rb +10 -0
  62. data/lib/fastlane/actions/get_build_number_repository.rb +18 -0
  63. data/lib/fastlane/actions/get_github_release.rb +18 -1
  64. data/lib/fastlane/actions/get_info_plist_value.rb +14 -0
  65. data/lib/fastlane/actions/get_ipa_info_plist_value.rb +10 -0
  66. data/lib/fastlane/actions/get_version_number.rb +10 -0
  67. data/lib/fastlane/actions/git_add.rb +11 -7
  68. data/lib/fastlane/actions/git_branch.rb +10 -0
  69. data/lib/fastlane/actions/git_commit.rb +13 -0
  70. data/lib/fastlane/actions/git_pull.rb +11 -0
  71. data/lib/fastlane/actions/git_tag_exists.rb +12 -0
  72. data/lib/fastlane/actions/gradle.rb +45 -0
  73. data/lib/fastlane/actions/gym.rb +25 -3
  74. data/lib/fastlane/actions/hg_add_tag.rb +10 -0
  75. data/lib/fastlane/actions/hg_commit_version_bump.rb +26 -0
  76. data/lib/fastlane/actions/hg_ensure_clean_status.rb +14 -0
  77. data/lib/fastlane/actions/hg_push.rb +18 -0
  78. data/lib/fastlane/actions/hipchat.rb +19 -0
  79. data/lib/fastlane/actions/hockey.rb +22 -1
  80. data/lib/fastlane/actions/ifttt.rb +20 -0
  81. data/lib/fastlane/actions/import.rb +10 -0
  82. data/lib/fastlane/actions/import_certificate.rb +19 -0
  83. data/lib/fastlane/actions/import_from_git.rb +14 -0
  84. data/lib/fastlane/actions/increment_build_number.rb +24 -2
  85. data/lib/fastlane/actions/increment_version_number.rb +31 -0
  86. data/lib/fastlane/actions/install_on_device.rb +17 -0
  87. data/lib/fastlane/actions/install_xcode_plugin.rb +11 -0
  88. data/lib/fastlane/actions/installr.rb +17 -1
  89. data/lib/fastlane/actions/ipa.rb +25 -1
  90. data/lib/fastlane/actions/is_ci.rb +14 -1
  91. data/lib/fastlane/actions/jazzy.rb +10 -0
  92. data/lib/fastlane/actions/jira.rb +16 -3
  93. data/lib/fastlane/actions/lane_context.rb +8 -0
  94. data/lib/fastlane/actions/last_git_commit.rb +23 -0
  95. data/lib/fastlane/actions/last_git_tag.rb +14 -0
  96. data/lib/fastlane/actions/latest_testflight_build_number.rb +21 -1
  97. data/lib/fastlane/actions/lcov.rb +14 -0
  98. data/lib/fastlane/actions/mailgun.rb +25 -0
  99. data/lib/fastlane/actions/make_changelog_from_jenkins.rb +13 -0
  100. data/lib/fastlane/actions/match.rb +11 -0
  101. data/lib/fastlane/actions/nexus_upload.rb +20 -0
  102. data/lib/fastlane/actions/notification.rb +10 -0
  103. data/lib/fastlane/actions/notify.rb +9 -1
  104. data/lib/fastlane/actions/number_of_commits.rb +15 -0
  105. data/lib/fastlane/actions/oclint.rb +35 -0
  106. data/lib/fastlane/actions/onesignal.rb +17 -3
  107. data/lib/fastlane/actions/opt_out_usage.rb +10 -0
  108. data/lib/fastlane/actions/pem.rb +19 -0
  109. data/lib/fastlane/actions/pilot.rb +17 -0
  110. data/lib/fastlane/actions/pod_lib_lint.rb +16 -0
  111. data/lib/fastlane/actions/pod_push.rb +17 -3
  112. data/lib/fastlane/actions/podio_item.rb +16 -0
  113. data/lib/fastlane/actions/produce.rb +19 -0
  114. data/lib/fastlane/actions/prompt.rb +20 -0
  115. data/lib/fastlane/actions/push_git_tags.rb +14 -0
  116. data/lib/fastlane/actions/push_to_git_remote.rb +25 -0
  117. data/lib/fastlane/actions/puts.rb +10 -0
  118. data/lib/fastlane/actions/read_podspec.rb +23 -1
  119. data/lib/fastlane/actions/recreate_schemes.rb +10 -0
  120. data/lib/fastlane/actions/register_devices.rb +31 -0
  121. data/lib/fastlane/actions/reset_git_repo.rb +18 -0
  122. data/lib/fastlane/actions/reset_simulators.rb +10 -0
  123. data/lib/fastlane/actions/resign.rb +24 -2
  124. data/lib/fastlane/actions/restore_file.rb +10 -0
  125. data/lib/fastlane/actions/rocket.rb +14 -0
  126. data/lib/fastlane/actions/rsync.rb +13 -0
  127. data/lib/fastlane/actions/s3.rb +30 -0
  128. data/lib/fastlane/actions/say.rb +10 -0
  129. data/lib/fastlane/actions/scan.rb +16 -1
  130. data/lib/fastlane/actions/scp.rb +25 -0
  131. data/lib/fastlane/actions/screengrab.rb +16 -0
  132. data/lib/fastlane/actions/set_build_number_repository.rb +16 -3
  133. data/lib/fastlane/actions/set_changelog.rb +14 -1
  134. data/lib/fastlane/actions/set_github_release.rb +18 -0
  135. data/lib/fastlane/actions/set_info_plist_value.rb +10 -4
  136. data/lib/fastlane/actions/set_pod_key.rb +18 -0
  137. data/lib/fastlane/actions/setup_jenkins.rb +15 -1
  138. data/lib/fastlane/actions/sigh.rb +19 -0
  139. data/lib/fastlane/actions/skip_docs.rb +14 -0
  140. data/lib/fastlane/actions/slack.rb +34 -0
  141. data/lib/fastlane/actions/slather.rb +15 -2
  142. data/lib/fastlane/actions/snapshot.rb +14 -0
  143. data/lib/fastlane/actions/sonar.rb +37 -19
  144. data/lib/fastlane/actions/splunkmint.rb +14 -0
  145. data/lib/fastlane/actions/ssh.rb +18 -1
  146. data/lib/fastlane/actions/supply.rb +10 -2
  147. data/lib/fastlane/actions/swiftlint.rb +19 -0
  148. data/lib/fastlane/actions/team_id.rb +10 -0
  149. data/lib/fastlane/actions/team_name.rb +10 -0
  150. data/lib/fastlane/actions/testfairy.rb +19 -1
  151. data/lib/fastlane/actions/testflight.rb +8 -0
  152. data/lib/fastlane/actions/tryouts.rb +19 -1
  153. data/lib/fastlane/actions/twitter.rb +18 -1
  154. data/lib/fastlane/actions/typetalk.rb +16 -0
  155. data/lib/fastlane/actions/unlock_keychain.rb +27 -0
  156. data/lib/fastlane/actions/update_app_group_identifiers.rb +17 -0
  157. data/lib/fastlane/actions/update_app_identifier.rb +18 -0
  158. data/lib/fastlane/actions/update_fastlane.rb +27 -0
  159. data/lib/fastlane/actions/update_icloud_container_identifiers.rb +17 -0
  160. data/lib/fastlane/actions/update_info_plist.rb +38 -0
  161. data/lib/fastlane/actions/update_project_code_signing.rb +10 -2
  162. data/lib/fastlane/actions/update_project_provisioning.rb +17 -1
  163. data/lib/fastlane/actions/update_project_team.rb +14 -1
  164. data/lib/fastlane/actions/update_urban_airship_configuration.rb +14 -0
  165. data/lib/fastlane/actions/update_url_schemes.rb +21 -0
  166. data/lib/fastlane/actions/upload_symbols_to_crashlytics.rb +10 -0
  167. data/lib/fastlane/actions/upload_symbols_to_sentry.rb +15 -0
  168. data/lib/fastlane/actions/verify_build.rb +14 -0
  169. data/lib/fastlane/actions/verify_pod_keys.rb +15 -1
  170. data/lib/fastlane/actions/verify_xcode.rb +11 -0
  171. data/lib/fastlane/actions/version_bump_podspec.rb +11 -0
  172. data/lib/fastlane/actions/version_get_podspec.rb +10 -0
  173. data/lib/fastlane/actions/xcode_install.rb +11 -0
  174. data/lib/fastlane/actions/xcode_select.rb +14 -0
  175. data/lib/fastlane/actions/xcode_server_get_assets.rb +13 -0
  176. data/lib/fastlane/actions/xcodebuild.rb +68 -1
  177. data/lib/fastlane/actions/xcov.rb +18 -1
  178. data/lib/fastlane/actions/xctool.rb +21 -1
  179. data/lib/fastlane/actions/xcversion.rb +17 -2
  180. data/lib/fastlane/actions/zip.rb +14 -0
  181. data/lib/fastlane/commands_generator.rb +2 -4
  182. data/lib/fastlane/documentation/markdown_docs_generator.rb +142 -0
  183. data/lib/fastlane/features.rb +4 -2
  184. data/lib/fastlane/lane_manager.rb +6 -2
  185. data/lib/fastlane/setup/crashlytics_beta.rb +6 -4
  186. data/lib/fastlane/version.rb +1 -1
  187. 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.output
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.authors
44
- ["pbrooks", "armadsen"]
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
- "This is useful if you have only one changelog for all languages"
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
- verify_sonar_runner_binary
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
- sonar_runner_args = []
14
- sonar_runner_args << "-Dproject.settings=\"#{params[:project_configuration_path]}\"" if params[:project_configuration_path]
15
- sonar_runner_args << "-Dsonar.projectKey=\"#{params[:project_key]}\"" if params[:project_key]
16
- sonar_runner_args << "-Dsonar.projectName=\"#{params[:project_name]}\"" if params[:project_name]
17
- sonar_runner_args << "-Dsonar.projectVersion=\"#{params[:project_version]}\"" if params[:project_version]
18
- sonar_runner_args << "-Dsonar.sources=\"#{params[:sources_path]}\"" if params[:sources_path]
19
- sonar_runner_args << "-Dsonar.language=\"#{params[:project_language]}\"" if params[:project_language]
20
- sonar_runner_args << "-Dsonar.sourceEncoding=\"#{params[:source_encoding]}\"" if params[:source_encoding]
21
- sonar_runner_args << params[:sonar_runner_args] if params[:sonar_runner_args]
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-runner',
26
- sonar_runner_args
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.verify_sonar_runner_binary
33
- UI.user_error!("You have to install sonar-runner using `brew install sonar-runner`") unless `which sonar-runner`.to_s.length > 0
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-runner to programmatically run SonarQube analysis"
41
+ "Invokes sonar-scanner to programmatically run SonarQube analysis"
42
42
  end
43
43
 
44
44
  def self.details
45
- "See http://docs.sonarqube.org/display/SONAR/Analyzing+with+SonarQube+Scanner for details."
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-runner binary
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-runner. Be sure to provide the arguments with a leading `-D` e.g. FL_SONAR_RUNNER_ARGS=\"-Dsonar.verbose=true\"",
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-runner binary"
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