]> source.dussan.org Git - sonarqube.git/commitdiff
SONAR-11029 Add missing projectKey param for maven and gradle tutorials
authorGrégoire Aubert <gregoire.aubert@sonarsource.com>
Mon, 6 Aug 2018 13:11:31 +0000 (15:11 +0200)
committerSonarTech <sonartech@sonarsource.com>
Fri, 10 Aug 2018 18:21:31 +0000 (20:21 +0200)
server/sonar-web/src/main/js/apps/tutorials/components/commands/AnalysisCommand.tsx
server/sonar-web/src/main/js/apps/tutorials/components/commands/JavaGradle.tsx
server/sonar-web/src/main/js/apps/tutorials/components/commands/JavaMaven.tsx
server/sonar-web/src/main/js/apps/tutorials/components/commands/__tests__/JavaGradle-test.tsx
server/sonar-web/src/main/js/apps/tutorials/components/commands/__tests__/JavaMaven-test.tsx
server/sonar-web/src/main/js/apps/tutorials/components/commands/__tests__/__snapshots__/JavaGradle-test.tsx.snap
server/sonar-web/src/main/js/apps/tutorials/components/commands/__tests__/__snapshots__/JavaMaven-test.tsx.snap

index 3bcdb9bdbdbfe2c1359986d9820027f2d2fd695b..9f40deec8cdbd5eb2cc33d3e4e4b715fca9a4c75 100644 (file)
@@ -42,19 +42,33 @@ export default class AnalysisCommand extends React.PureComponent<Props> {
   };
 
   renderCommandForMaven = () => {
-    const { token } = this.props;
+    const { component, token } = this.props;
     if (!token) {
       return null;
     }
-    return <JavaMaven host={getHostUrl()} organization={this.props.organization} token={token} />;
+    return (
+      <JavaMaven
+        host={getHostUrl()}
+        organization={this.props.organization}
+        projectKey={component && component.key}
+        token={token}
+      />
+    );
   };
 
   renderCommandForGradle = () => {
-    const { token } = this.props;
+    const { component, token } = this.props;
     if (!token) {
       return null;
     }
-    return <JavaGradle host={getHostUrl()} organization={this.props.organization} token={token} />;
+    return (
+      <JavaGradle
+        host={getHostUrl()}
+        organization={this.props.organization}
+        projectKey={component && component.key}
+        token={token}
+      />
+    );
   };
 
   renderCommandForDotNet = () => {
index fa95c27bf5e50ead46c3107392610c0bdecbd3d7..c9d4df0a7359537a4ea463480f1620b12d236c55 100644 (file)
@@ -25,6 +25,7 @@ import { translate } from '../../../../helpers/l10n';
 interface Props {
   host: string;
   organization?: string;
+  projectKey?: string;
   token: string;
 }
 
@@ -33,6 +34,7 @@ export default function JavaGradle(props: Props) {
 
   const command = [
     './gradlew sonarqube',
+    props.projectKey && `-Dsonar.projectKey=${props.projectKey}`,
     props.organization && `-Dsonar.organization=${props.organization}`,
     `-Dsonar.host.url=${props.host}`,
     `-Dsonar.login=${props.token}`
index 8ade1b432bd4e87faf2ea775f3955b29f4faa25a..20aaf6a2946cc05468da03d53fe54c052575a78c 100644 (file)
@@ -25,12 +25,14 @@ import { translate } from '../../../../helpers/l10n';
 interface Props {
   host: string;
   organization?: string;
+  projectKey?: string;
   token: string;
 }
 
 export default function JavaMaven(props: Props) {
   const command = [
     'mvn sonar:sonar',
+    props.projectKey && `-Dsonar.projectKey=${props.projectKey}`,
     props.organization && `-Dsonar.organization=${props.organization}`,
     `-Dsonar.host.url=${props.host}`,
     `-Dsonar.login=${props.token}`
index f0d130a248dda1de1af1e9656bd8f8b621607b19..dae75367e95ba8f44d1efcd2dbd27c268d6cfa79 100644 (file)
@@ -28,3 +28,9 @@ it('renders correctly', () => {
     shallow(<JavaGradle host="host" organization="organization" token="token" />)
   ).toMatchSnapshot();
 });
+
+it('renders with projectKey', () => {
+  expect(
+    shallow(<JavaGradle host="host" organization="organization" projectKey="foo" token="token" />)
+  ).toMatchSnapshot();
+});
index dbda16ca13e62f30322c6113c2379776e9e4ac47..18a6c994bbf8be7234c0cc9ccc7f12ba37f03823 100644 (file)
@@ -28,3 +28,9 @@ it('renders correctly', () => {
     shallow(<JavaMaven host="host" organization="organization" token="token" />)
   ).toMatchSnapshot();
 });
+
+it('renders with projectKey', () => {
+  expect(
+    shallow(<JavaMaven host="host" organization="organization" projectKey="foo" token="token" />)
+  ).toMatchSnapshot();
+});
index c5ff1eb813c265eae9e5fb696c246bc8e994d0b7..04de1338a6c37f2d116c67967fbc923ce51acd38 100644 (file)
@@ -25,6 +25,7 @@ exports[`renders correctly 1`] = `
       Array [
         "./gradlew sonarqube",
         undefined,
+        undefined,
         "-Dsonar.host.url=host",
         "-Dsonar.login=token",
       ]
@@ -73,6 +74,57 @@ exports[`renders correctly 2`] = `
     snippet={
       Array [
         "./gradlew sonarqube",
+        undefined,
+        "-Dsonar.organization=organization",
+        "-Dsonar.host.url=host",
+        "-Dsonar.login=token",
+      ]
+    }
+  />
+  <p
+    className="big-spacer-top markdown"
+    dangerouslySetInnerHTML={
+      Object {
+        "__html": "onboarding.analysis.java.gradle.docs",
+      }
+    }
+  />
+  <p
+    className="big-spacer-top markdown"
+    dangerouslySetInnerHTML={
+      Object {
+        "__html": "onboarding.analysis.browse_url_after_analysis",
+      }
+    }
+  />
+</div>
+`;
+
+exports[`renders with projectKey 1`] = `
+<div>
+  <h4
+    className="spacer-bottom"
+  >
+    onboarding.analysis.java.gradle.header
+  </h4>
+  <InstanceMessage
+    message="onboarding.analysis.java.gradle.text.1"
+  />
+  <CodeSnippet
+    snippet="plugins {
+  id \\"org.sonarqube\\" version \\"2.6\\"
+}"
+  />
+  <p
+    className="spacer-top spacer-bottom markdown"
+  >
+    onboarding.analysis.java.gradle.text.2
+  </p>
+  <CodeSnippet
+    snippet={
+      Array [
+        "./gradlew sonarqube",
+        "-Dsonar.projectKey=foo",
         "-Dsonar.organization=organization",
         "-Dsonar.host.url=host",
         "-Dsonar.login=token",
index 7993a3923970a51c9a7e7d17b4f01192884dc918..af3ff510ca6b6d4b6452ecb22da96eaf7da4d3c1 100644 (file)
@@ -19,6 +19,7 @@ exports[`renders correctly 1`] = `
       Array [
         "mvn sonar:sonar",
         undefined,
+        undefined,
         "-Dsonar.host.url=host",
         "-Dsonar.login=token",
       ]
@@ -61,6 +62,51 @@ exports[`renders correctly 2`] = `
     snippet={
       Array [
         "mvn sonar:sonar",
+        undefined,
+        "-Dsonar.organization=organization",
+        "-Dsonar.host.url=host",
+        "-Dsonar.login=token",
+      ]
+    }
+  />
+  <p
+    className="big-spacer-top markdown"
+    dangerouslySetInnerHTML={
+      Object {
+        "__html": "onboarding.analysis.java.maven.docs",
+      }
+    }
+  />
+  <p
+    className="big-spacer-top markdown"
+    dangerouslySetInnerHTML={
+      Object {
+        "__html": "onboarding.analysis.browse_url_after_analysis",
+      }
+    }
+  />
+</div>
+`;
+
+exports[`renders with projectKey 1`] = `
+<div>
+  <h4
+    className="spacer-bottom"
+  >
+    onboarding.analysis.java.maven.header
+  </h4>
+  <p
+    className="spacer-bottom markdown"
+  >
+    <InstanceMessage
+      message="onboarding.analysis.java.maven.text"
+    />
+  </p>
+  <CodeSnippet
+    snippet={
+      Array [
+        "mvn sonar:sonar",
+        "-Dsonar.projectKey=foo",
         "-Dsonar.organization=organization",
         "-Dsonar.host.url=host",
         "-Dsonar.login=token",