From: Wouter Admiraal Date: Thu, 6 Dec 2018 11:02:13 +0000 (+0100) Subject: SONAR-11522 Update Win analysis command in tutorial X-Git-Tag: 7.5~29 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=2c418ad1b5533d40152261548f43f708fa1b0df7;p=sonarqube.git SONAR-11522 Update Win analysis command in tutorial Quote -D arguments if the OS is Windows. --- diff --git a/server/sonar-web/src/main/js/apps/tutorials/components/commands/ClangGCC.tsx b/server/sonar-web/src/main/js/apps/tutorials/components/commands/ClangGCC.tsx index 0afc9783def..9dd9dc42df4 100644 --- a/server/sonar-web/src/main/js/apps/tutorials/components/commands/ClangGCC.tsx +++ b/server/sonar-web/src/main/js/apps/tutorials/components/commands/ClangGCC.tsx @@ -23,6 +23,7 @@ import BuildWrapper from './BuildWrapper'; import CodeSnippet from '../../../../components/common/CodeSnippet'; import InstanceMessage from '../../../../components/common/InstanceMessage'; import { translate } from '../../../../helpers/l10n'; +import { quote } from '../../utils'; interface Props { host: string; @@ -42,14 +43,15 @@ const executables: { [key: string]: string } = { export default function ClangGCC(props: Props) { const command1 = `${executables[props.os]} --out-dir bw-output make clean all`; + const q = quote(props.os); const command2 = [ props.os === 'win' ? 'sonar-scanner.bat' : 'sonar-scanner', - `-Dsonar.projectKey=${props.projectKey}`, - props.organization && `-Dsonar.organization=${props.organization}`, - '-Dsonar.sources=.', - '-Dsonar.cfamily.build-wrapper-output=bw-output', - `-Dsonar.host.url=${props.host}`, - `-Dsonar.login=${props.token}` + '-D' + q(`sonar.projectKey=${props.projectKey}`), + props.organization && '-D' + q(`sonar.organization=${props.organization}`), + '-D' + q('sonar.sources=.'), + '-D' + q('sonar.cfamily.build-wrapper-output=bw-output'), + '-D' + q(`sonar.host.url=${props.host}`), + '-D' + q(`sonar.login=${props.token}`) ]; return ( diff --git a/server/sonar-web/src/main/js/apps/tutorials/components/commands/Other.tsx b/server/sonar-web/src/main/js/apps/tutorials/components/commands/Other.tsx index 3d0b3b2a718..4e3dfe145eb 100644 --- a/server/sonar-web/src/main/js/apps/tutorials/components/commands/Other.tsx +++ b/server/sonar-web/src/main/js/apps/tutorials/components/commands/Other.tsx @@ -22,6 +22,7 @@ import SQScanner from './SQScanner'; import CodeSnippet from '../../../../components/common/CodeSnippet'; import InstanceMessage from '../../../../components/common/InstanceMessage'; import { translate } from '../../../../helpers/l10n'; +import { quote } from '../../utils'; interface Props { host: string; @@ -32,13 +33,14 @@ interface Props { } export default function Other(props: Props) { + const q = quote(props.os); const command = [ props.os === 'win' ? 'sonar-scanner.bat' : 'sonar-scanner', - `-Dsonar.projectKey=${props.projectKey}`, - props.organization && `-Dsonar.organization=${props.organization}`, - '-Dsonar.sources=.', - `-Dsonar.host.url=${props.host}`, - `-Dsonar.login=${props.token}` + '-D' + q(`sonar.projectKey=${props.projectKey}`), + props.organization && '-D' + q(`sonar.organization=${props.organization}`), + '-D' + q('sonar.sources=.'), + '-D' + q(`sonar.host.url=${props.host}`), + '-D' + q(`sonar.login=${props.token}`) ]; return ( diff --git a/server/sonar-web/src/main/js/apps/tutorials/components/commands/__tests__/__snapshots__/ClangGCC-test.tsx.snap b/server/sonar-web/src/main/js/apps/tutorials/components/commands/__tests__/__snapshots__/ClangGCC-test.tsx.snap index 670ebd9b46a..7a765aa9112 100644 --- a/server/sonar-web/src/main/js/apps/tutorials/components/commands/__tests__/__snapshots__/ClangGCC-test.tsx.snap +++ b/server/sonar-web/src/main/js/apps/tutorials/components/commands/__tests__/__snapshots__/ClangGCC-test.tsx.snap @@ -27,12 +27,12 @@ exports[`renders correctly 1`] = ` snippet={ Array [ "sonar-scanner.bat", - "-Dsonar.projectKey=projectKey", + "-D\\"sonar.projectKey=projectKey\\"", undefined, - "-Dsonar.sources=.", - "-Dsonar.cfamily.build-wrapper-output=bw-output", - "-Dsonar.host.url=host", - "-Dsonar.login=token", + "-D\\"sonar.sources=.\\"", + "-D\\"sonar.cfamily.build-wrapper-output=bw-output\\"", + "-D\\"sonar.host.url=host\\"", + "-D\\"sonar.login=token\\"", ] } /> diff --git a/server/sonar-web/src/main/js/apps/tutorials/components/commands/__tests__/__snapshots__/Other-test.tsx.snap b/server/sonar-web/src/main/js/apps/tutorials/components/commands/__tests__/__snapshots__/Other-test.tsx.snap index 941109e9599..8fe780fe094 100644 --- a/server/sonar-web/src/main/js/apps/tutorials/components/commands/__tests__/__snapshots__/Other-test.tsx.snap +++ b/server/sonar-web/src/main/js/apps/tutorials/components/commands/__tests__/__snapshots__/Other-test.tsx.snap @@ -20,11 +20,11 @@ exports[`renders correctly 1`] = ` snippet={ Array [ "sonar-scanner.bat", - "-Dsonar.projectKey=projectKey", + "-D\\"sonar.projectKey=projectKey\\"", undefined, - "-Dsonar.sources=.", - "-Dsonar.host.url=host", - "-Dsonar.login=token", + "-D\\"sonar.sources=.\\"", + "-D\\"sonar.host.url=host\\"", + "-D\\"sonar.login=token\\"", ] } /> diff --git a/server/sonar-web/src/main/js/apps/tutorials/utils.ts b/server/sonar-web/src/main/js/apps/tutorials/utils.ts index f84785ef61d..5c60bf24f68 100644 --- a/server/sonar-web/src/main/js/apps/tutorials/utils.ts +++ b/server/sonar-web/src/main/js/apps/tutorials/utils.ts @@ -38,3 +38,7 @@ export function isLanguageConfigured(config?: LanguageConfig) { return isJavaConfigured || isDotNetConfigured || isCFamilyConfigured || isOtherConfigured; } + +export function quote(os: string): ((s: string) => string) { + return os === 'win' ? (s: string) => `"${s}"` : (s: string) => s; +}