Skip to content

Commit

Permalink
fix: replaced login parameter with token parameter
Browse files Browse the repository at this point in the history
  • Loading branch information
goff-marocchi committed Dec 17, 2023
1 parent 38bea31 commit fa19ff5
Show file tree
Hide file tree
Showing 3 changed files with 23 additions and 10 deletions.
18 changes: 14 additions & 4 deletions fastlane/lib/fastlane/actions/sonar.rb
Expand Up @@ -10,6 +10,8 @@ def self.run(params)
'&&'
].join(' ')

sonar_token_arg = params[:sonar_token] ? params[:sonar_token] : params[:sonar_login]

sonar_scanner_args = []
sonar_scanner_args << "-Dproject.settings=\"#{params[:project_configuration_path]}\"" if params[:project_configuration_path]
sonar_scanner_args << "-Dsonar.projectKey=\"#{params[:project_key]}\"" if params[:project_key]
Expand All @@ -19,7 +21,7 @@ def self.run(params)
sonar_scanner_args << "-Dsonar.exclusions=\"#{params[:exclusions]}\"" if params[:exclusions]
sonar_scanner_args << "-Dsonar.language=\"#{params[:project_language]}\"" if params[:project_language]
sonar_scanner_args << "-Dsonar.sourceEncoding=\"#{params[:source_encoding]}\"" if params[:source_encoding]
sonar_scanner_args << "-Dsonar.login=\"#{params[:sonar_login]}\"" if params[:sonar_login]
sonar_scanner_args << "-Dsonar.token=\"#{sonar_token_arg}\"" if sonar_token_arg
sonar_scanner_args << "-Dsonar.host.url=\"#{params[:sonar_url]}\"" if params[:sonar_url]
sonar_scanner_args << "-Dsonar.organization=\"#{params[:sonar_organization]}\"" if params[:sonar_organization]
sonar_scanner_args << "-Dsonar.branch.name=\"#{params[:branch_name]}\"" if params[:branch_name]
Expand Down Expand Up @@ -100,9 +102,17 @@ def self.available_options
optional: true),
FastlaneCore::ConfigItem.new(key: :sonar_login,
env_name: "FL_SONAR_LOGIN",
description: "Pass the Sonar Login token (e.g: xxxxxxprivate_token_XXXXbXX7e)",
description: "Pass the Sonar Login Token (e.g: xxxxxxprivate_token_XXXXbXX7e)",
deprecated: "Deprecated in sonar-scanner >= 5.0.x",
optional: true,
sensitive: true,
conflicting_options: [:sonar_token]),
FastlaneCore::ConfigItem.new(key: :sonar_token,
env_name: "FL_SONAR_TOKEN",
description: "Pass the Sonar Token (e.g: xxxxxxprivate_token_XXXXbXX7e)",
optional: true,
sensitive: true),
sensitive: true,
conflicting_options: [:sonar_login]),
FastlaneCore::ConfigItem.new(key: :sonar_url,
env_name: "FL_SONAR_URL",
description: "Pass the url of the Sonar server",
Expand Down Expand Up @@ -156,7 +166,7 @@ def self.example_code
project_name: "iOS - AwesomeApp",
sources_path: File.expand_path("../AwesomeApp"),
sonar_organization: "myOrg",
sonar_login: "123456abcdef",
sonar_token: "123456abcdef",
sonar_url: "https://sonarcloud.io"
)'
]
Expand Down
8 changes: 4 additions & 4 deletions fastlane/spec/actions_specs/sonar_spec.rb
Expand Up @@ -16,11 +16,11 @@

it "Should not print sonar command" do
allow(FastlaneCore::FastlaneFolder).to receive(:path).and_return(nil)
expected_command = "cd #{File.expand_path('.').shellescape} && sonar-scanner -Dsonar.login=\"asdf\""
expected_command = "cd #{File.expand_path('.').shellescape} && sonar-scanner -Dsonar.token=\"asdf\""
expect(Fastlane::Actions::SonarAction).to receive(:verify_sonar_scanner_binary).and_return(true)
expect(Fastlane::Actions).to receive(:sh_control_output).with(expected_command, print_command: false, print_command_output: true).and_call_original
Fastlane::FastFile.new.parse("lane :sonar_test do
sonar(sonar_login: 'asdf')
sonar(sonar_token: 'asdf')
end").runner.execute(:sonar_test)
end

Expand All @@ -38,7 +38,7 @@
exclusions: '/Sources/Excluded',
project_language: 'ruby',
source_encoding: 'utf-8',
sonar_login: 'sonar-login',
sonar_token: 'sonar-token',
sonar_url: 'http://www.sonarqube.com',
sonar_organization: 'org-key',
branch_name: 'branch-name',
Expand All @@ -57,7 +57,7 @@
-Dsonar.exclusions=\"/Sources/Excluded\"
-Dsonar.language=\"ruby\"
-Dsonar.sourceEncoding=\"utf-8\"
-Dsonar.login=\"sonar-login\"
-Dsonar.token=\"sonar-token\"
-Dsonar.host.url=\"http://www.sonarqube.com\"
-Dsonar.organization=\"org-key\"
-Dsonar.branch.name=\"branch-name\"
Expand Down
7 changes: 5 additions & 2 deletions fastlane/swift/Fastlane.swift
Expand Up @@ -10624,7 +10624,8 @@ public func snapshot(workspace: OptionalConfigValue<String?> = .fastlaneDefault(
- projectLanguage: Language key, e.g. objc
- sourceEncoding: Used encoding of source files, e.g., UTF-8
- sonarRunnerArgs: 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"
- sonarLogin: Pass the Sonar Login token (e.g: xxxxxxprivate_token_XXXXbXX7e)
- sonarToken: Pass the Sonar Login token (e.g: xxxxxxprivate_token_XXXXbXX7e), sonarLogin is deprecated in sonar-scanner 5.0.x
- sonarLogin: sonarLogin is deprecated in sonar-scanner 5.0.x, use sonarToken instead
- sonarUrl: Pass the url of the Sonar server
- sonarOrganization: Key of the organization on SonarCloud
- branchName: Pass the branch name which is getting scanned
Expand All @@ -10646,6 +10647,7 @@ public func sonar(projectConfigurationPath: OptionalConfigValue<String?> = .fast
projectLanguage: OptionalConfigValue<String?> = .fastlaneDefault(nil),
sourceEncoding: OptionalConfigValue<String?> = .fastlaneDefault(nil),
sonarRunnerArgs: OptionalConfigValue<String?> = .fastlaneDefault(nil),
sonarToken: OptionalConfigValue<String?> = .fastlaneDefault(nil),
sonarLogin: OptionalConfigValue<String?> = .fastlaneDefault(nil),
sonarUrl: OptionalConfigValue<String?> = .fastlaneDefault(nil),
sonarOrganization: OptionalConfigValue<String?> = .fastlaneDefault(nil),
Expand All @@ -10663,6 +10665,7 @@ public func sonar(projectConfigurationPath: OptionalConfigValue<String?> = .fast
let projectLanguageArg = projectLanguage.asRubyArgument(name: "project_language", type: nil)
let sourceEncodingArg = sourceEncoding.asRubyArgument(name: "source_encoding", type: nil)
let sonarRunnerArgsArg = sonarRunnerArgs.asRubyArgument(name: "sonar_runner_args", type: nil)
let sonarTokenArg = sonarToken.asRubyArgument(name: "sonar_token", type: nil)
let sonarLoginArg = sonarLogin.asRubyArgument(name: "sonar_login", type: nil)
let sonarUrlArg = sonarUrl.asRubyArgument(name: "sonar_url", type: nil)
let sonarOrganizationArg = sonarOrganization.asRubyArgument(name: "sonar_organization", type: nil)
Expand All @@ -10679,7 +10682,7 @@ public func sonar(projectConfigurationPath: OptionalConfigValue<String?> = .fast
projectLanguageArg,
sourceEncodingArg,
sonarRunnerArgsArg,
sonarLoginArg,
sonarToken != .fastlaneDefault(nil) ? sonarTokenArg : sonarLoginArg,
sonarUrlArg,
sonarOrganizationArg,
branchNameArg,
Expand Down

0 comments on commit fa19ff5

Please sign in to comment.