Coder Social home page Coder Social logo

javamachr / sonar-gitlab-plugin Goto Github PK

View Code? Open in Web Editor NEW

This project forked from gabrie-allaigre/sonar-gitlab-plugin

121.0 121.0 21.0 1.09 MB

Add to each commit GitLab in a global commentary on the new anomalies added by this commit and add comment lines of modified files

License: GNU Lesser General Public License v3.0

Java 100.00%

sonar-gitlab-plugin's People

Contributors

123haynes avatar alessiofachechi avatar artpej avatar baaym avatar cleankod avatar eugenelesnov avatar ezienecker avatar frol2103 avatar gabrie-allaigre avatar gentunian avatar grimmjo avatar hopenbr avatar javamachr avatar jkroepke avatar johnou avatar koenhendriks avatar komalsinghdev avatar pokoli avatar rkalkani avatar sewolf avatar srudolph-credera avatar stalb avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

sonar-gitlab-plugin's Issues

NullPointerException when running SonarScanner

I get this crash on the sonar-scanner.

I did try all sorts of tokens and it hasn't seemed to make a difference.
Is there perhaps something I can do to do more debugging?

Run settings:

      sonar-scanner
      -Dsonar.host.url=$SONAR_URL
      -Dsonar.gitlab.project_id=$CI_PROJECT_PATH
      -Dsonar.gitlab.commit_sha=$CI_COMMIT_SHA
      -Dsonar.gitlab.ref_name=$CI_COMMIT_REF_NAME
      -Dsonar.gitlab.user_token=$SONAR_GITLAB_TOKEN
      -Dsonar.gitlab.url=https:/mygitlab.com
      -Dsonar.gitlab.ci_merge_request_iid=$CI_MERGE_REQUEST_IID
      -Dsonar.gitlab.merge_request_discussion=true

There's also a sonar-project.properties with:

sonar.projectKey=<MyProjectKey>
sonar.qualitygate.wait=true
sonar.python.version=3.8
sonar.exclusions=<FoldersList>
sonar.python.pylint.reportPaths=public/lint/parseable.txt
sonar.python.xunit.reportPath=report.xml
sonar.python.coverage.reportPaths=coverage.xml
sonar.sources=<foldersList>
sonar.tests=tests

Version: 5.2.1
Sonarqube version: Version 9.5 (build 56709)

java.lang.NullPointerException
	at com.talanlabs.sonar.plugins.gitlab.GitLabApiV4Wrapper.createOrUpdateSonarQubeStatus(GitLabApiV4Wrapper.java:223)
	at com.talanlabs.sonar.plugins.gitlab.CommitFacade.createOrUpdateSonarQubeStatus(CommitFacade.java:124)
	at com.talanlabs.sonar.plugins.gitlab.CommitPublishPostJob.execute(CommitPublishPostJob.java:111)
	at org.sonar.scanner.postjob.PostJobWrapper.execute(PostJobWrapper.java:49)
	at org.sonar.scanner.postjob.PostJobsExecutor.execute(PostJobsExecutor.java:48)
	at org.sonar.scanner.postjob.PostJobsExecutor.execute(PostJobsExecutor.java:39)
	at org.sonar.scanner.scan.SpringProjectScanContainer.doAfterStart(SpringProjectScanContainer.java:372)
	at org.sonar.core.platform.SpringComponentContainer.startComponents(SpringComponentContainer.java:188)
	at org.sonar.core.platform.SpringComponentContainer.execute(SpringComponentContainer.java:167)
	at org.sonar.scanner.bootstrap.SpringGlobalContainer.doAfterStart(SpringGlobalContainer.java:135)
	at org.sonar.core.platform.SpringComponentContainer.startComponents(SpringComponentContainer.java:188)
	at org.sonar.core.platform.SpringComponentContainer.execute(SpringComponentContainer.java:167)
	at org.sonar.batch.bootstrapper.Batch.doExecute(Batch.java:72)
	at org.sonar.batch.bootstrapper.Batch.execute(Batch.java:66)
	at org.sonarsource.scanner.api.internal.batch.BatchIsolatedLauncher.execute(BatchIsolatedLauncher.java:46)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
	at org.sonarsource.scanner.api.internal.IsolatedLauncherProxy.invoke(IsolatedLauncherProxy.java:60)
	at com.sun.proxy.$Proxy0.execute(Unknown Source)
	at org.sonarsource.scanner.api.EmbeddedScanner.doExecute(EmbeddedScanner.java:189)
	at org.sonarsource.scanner.api.EmbeddedScanner.execute(EmbeddedScanner.java:138)
	at org.sonarsource.scanner.cli.Main.execute(Main.java:112)
	at org.sonarsource.scanner.cli.Main.execute(Main.java:75)
	at org.sonarsource.scanner.cli.Main.main(Main.java:61)

Release v5.1.0 JAR

The v5.1.0 release doesn't have the JAR attached, is this intentional?

Global comment on merge request

Versions used:

GitLab 15.11
SonarQube 9.9.1
Sonar Gitlab Plugin 5.3.0

GitLab cicd pipeline is triggered on the merge request to main branch by the following command:

...
  script:
    - |
      mvn sonar:sonar \
      -Dsonar.gitlab.commit_sha=$CI_COMMIT_SHA \
      -Dsonar.gitlab.ref_name=$CI_COMMIT_REF_NAME \
      -Dsonar.gitlab.user_token=$TECHNICAL_USER_GITLAB_TOKEN \
      -Dsonar.gitlab.project_id=$CI_PROJECT_ID \
      -Dsonar.login=$SONARQUBE_TOKEN
...

Job proceeds to log the following:

image

And Sonar Qube reports shows the following

image

However, the global comment does not list the issues with the links to the code as per default global comment.

image

Updating SonarQube to 8.9 - Plugin Version

Hello @javamachr how are you doing?

I do want to know which plugin version I can use with SonarQube v8.9 since I'm not finding this information in the readme, the last sonar version informed there is 8.6:

image

Im upgrading my SonarQube instance from 8.2 to 9.5 but first I must step in 8.9 by Sonar's team guildeline on how to upgrade the instance.

Thank you.

External job for branch analysis does not report issues when it's added to a merge request pipeline

Hello,

I encoutered an issue similar to what's described in this ticket: gabrie-allaigre#211

So I tried the solution from this comment gabrie-allaigre#211 (comment) , which is to use -Dsonar.gitlab.ref_name=${CI_MERGE_REQUEST_REF_PATH} instead of -Dsonar.gitlab.ref_name="${CI_COMMIT_REF_NAME}".

This solves the initial issue, and the external job is now correctly displayed in the merge request pipeline. But in this case, the global comment does not display the issues, but always the message "SonarQube analysis reported no issues.". It still detects that the quality gate is failed, so that's unclear to me why this happens. Also when I go into SonarQube, I can see the issues listed for this branch analysis.

Maybe I'm not using the configuration correctly, here's what I have so far:

    mvn
    clean test
    sonar:sonar
    -Dsonar.login=${SONAR_TOKEN}
    -Dsonar.branch.name=${CI_COMMIT_REF_NAME}
    -Dsonar.gitlab.api_version=v4
    -Dsonar.gitlab.project_id=${CI_PROJECT_ID}
    -Dsonar.gitlab.commit_sha=${CI_COMMIT_SHA}
    -Dsonar.gitlab.ref_name=${CI_MERGE_REQUEST_REF_PATH}
    -Dsonar.gitlab.user_token=${TECHNICAL_USER_GITLAB_TOKEN}
    -Dsonar.gitlab.ci_merge_request_iid=${CI_MERGE_REQUEST_IID}
    -Dsonar.gitlab.merge_request_discussion=true

(I initialy didn't use the -Dsonar.gitlab.ci_merge_request_iid=${CI_MERGE_REQUEST_IID} and -Dsonar.gitlab.merge_request_discussion=true, and I saw no difference when adding them, so I'm probably misusing them as well.)

After trying to read through the plugin source code, my guess is that it's because the ref_name parameter is used at two different places:

  1. In https://github.com/javamachr/sonar-gitlab-plugin/blob/master/src/main/java/com/talanlabs/sonar/plugins/gitlab/SonarFacade.java#L222 , where it's used to retrieve issues from Sonar. So when its value is ${CI_BUILD_REF_NAME}, it works, and when its value is ${CI_MERGE_REQUEST_REF_PATH} it doesn't.
  2. In https://github.com/javamachr/sonar-gitlab-plugin/blob/master/src/main/java/com/talanlabs/sonar/plugins/gitlab/GitLabApiV4Wrapper.java#L223 , where it's used to post the comment to Gitlab. So when its values is ${CI_BUILD_REF_NAME}, it has no link to the MR and creates a new pipeline for the branch, and when its value is ${CI_MERGE_REQUEST_REF_PATH} it correctly posts the comment into the existing merge request pipeline.

Maybe it would be possible to add an additional parameter -Dsonar.gitlab.ci_merge_request_ref_path, so that we can provide both -Dsonar.gitlab.ref_name=${CI_COMMIT_REF_NAME}, for issues retrieval, and -Dsonar.gitlab.ci_merge_request_ref_path=${CI_MERGE_REQUEST_REF_PATH} so the external job is correctly part of the merge request pipeline ?

Analyses failed after update to 9.5 in post job

ERROR: Error during SonarScanner execution
java.lang.IllegalStateException: Unable to load components interface org.sonar.api.batch.postjob.PostJob
	at org.sonar.core.platform.SpringComponentContainer.getComponentsByType(SpringComponentContainer.java:156)
	at org.sonar.scanner.bootstrap.AbstractExtensionDictionary.completeScannerExtensions(AbstractExtensionDictionary.java:82)
	at org.sonar.scanner.bootstrap.AbstractExtensionDictionary.getExtensions(AbstractExtensionDictionary.java:77)
	at org.sonar.scanner.bootstrap.AbstractExtensionDictionary.getFilteredExtensions(AbstractExtensionDictionary.java:67)
	at org.sonar.scanner.bootstrap.PostJobExtensionDictionary.selectPostJobs(PostJobExtensionDictionary.java:42)
	at org.sonar.scanner.postjob.PostJobsExecutor.execute(PostJobsExecutor.java:38)
	at org.sonar.scanner.scan.SpringProjectScanContainer.doAfterStart(SpringProjectScanContainer.java:372)
	at org.sonar.core.platform.SpringComponentContainer.startComponents(SpringComponentContainer.java:188)
	at org.sonar.core.platform.SpringComponentContainer.execute(SpringComponentContainer.java:167)
	at org.sonar.scanner.bootstrap.SpringGlobalContainer.doAfterStart(SpringGlobalContainer.java:135)
	at org.sonar.core.platform.SpringComponentContainer.startComponents(SpringComponentContainer.java:188)
	at org.sonar.core.platform.SpringComponentContainer.execute(SpringComponentContainer.java:167)
	at org.sonar.batch.bootstrapper.Batch.doExecute(Batch.java:72)
	at org.sonar.batch.bootstrapper.Batch.execute(Batch.java:66)
	at org.sonarsource.scanner.api.internal.batch.BatchIsolatedLauncher.execute(BatchIsolatedLauncher.java:46)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.base/java.lang.reflect.Method.invoke(Unknown Source)
	at org.sonarsource.scanner.api.internal.IsolatedLauncherProxy.invoke(IsolatedLauncherProxy.java:60)
	at com.sun.proxy.$Proxy0.execute(Unknown Source)
	at org.sonarsource.scanner.api.EmbeddedScanner.doExecute(EmbeddedScanner.java:189)
	at org.sonarsource.scanner.api.EmbeddedScanner.execute(EmbeddedScanner.java:138)
	at org.sonarsource.scanner.cli.Main.execute(Main.java:112)
	at org.sonarsource.scanner.cli.Main.execute(Main.java:75)
	at org.sonarsource.scanner.cli.Main.main(Main.java:61)
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'ClassRealm{gitlab}-com.talanlabs.sonar.plugins.gitlab.CommitPublishPostJob': Lookup method resolution failed; nested exception is java.lang.IllegalStateException: Failed to introspect Class [com.talanlabs.sonar.plugins.gitlab.CommitPublishPostJob] from ClassLoader [ClassRealm{gitlab}]
	at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.determineCandidateConstructors(AutowiredAnnotationBeanPostProcessor.java:289)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.determineConstructorsFromBeanPostProcessors(AbstractAutowireCapableBeanFactory.java:1302)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1219)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:582)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542)
	at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335)
	at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234)
	at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333)
	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208)
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.getBeansOfType(DefaultListableBeanFactory.java:671)
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.getBeansOfType(DefaultListableBeanFactory.java:659)
	at org.springframework.context.support.AbstractApplicationContext.getBeansOfType(AbstractApplicationContext.java:1300)
	at org.sonar.core.platform.SpringComponentContainer.getComponentsByType(SpringComponentContainer.java:154)
	... 25 more
Caused by: java.lang.IllegalStateException: Failed to introspect Class [com.talanlabs.sonar.plugins.gitlab.CommitPublishPostJob] from ClassLoader [ClassRealm{gitlab}]
	at org.springframework.util.ReflectionUtils.getDeclaredMethods(ReflectionUtils.java:485)
	at org.springframework.util.ReflectionUtils.doWithLocalMethods(ReflectionUtils.java:321)
	at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.determineCandidateConstructors(AutowiredAnnotationBeanPostProcessor.java:267)
	... 37 more
Caused by: java.lang.NoClassDefFoundError: org/sonar/api/batch/postjob/issue/PostJobIssue
	at java.base/java.lang.Class.getDeclaredMethods0(Native Method)
	at java.base/java.lang.Class.privateGetDeclaredMethods(Unknown Source)
	at java.base/java.lang.Class.getDeclaredMethods(Unknown Source)
	at org.springframework.util.ReflectionUtils.getDeclaredMethods(ReflectionUtils.java:467)
	... 39 more
Caused by: java.lang.ClassNotFoundException: org.sonar.api.batch.postjob.issue.PostJobIssue
	at org.sonar.classloader.ParentFirstStrategy.loadClass(ParentFirstStrategy.java:39)
	at org.sonar.classloader.ClassRealm.loadClass(ClassRealm.java:87)
	at org.sonar.classloader.ClassRealm.loadClass(ClassRealm.java:76)
	... 43 more
ERROR: 
ERROR: Re-run SonarScanner using the -X switch to enable full debug logging.

mixed plugin-API version and Sonarqube version

WARN  web[][o.s.c.a.AnnotationConfigApplicationContext] Exception encountered during context initialization - c
ancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'jdk.internal.loa
der.ClassLoaders$AppClassLoader@3d4eac69-org.sonar.server.plugins.ServerPluginManager': Initialization of bean failed; nested excep
tion is Plugin GitLab [gitlab] requires at least SonarQube 9.6.1.114
2022.06.16 09:56:36 ERROR web[][o.s.s.p.PlatformImpl] Web server startup failed
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'jdk.internal.loader.ClassLoaders$AppClassLo
[email protected]': Initialization of bean failed; nested exception is Plugin GitLab [gitl
ab] requires at least SonarQube 9.6.1.114
        at [org.springframework.beans.factory.support](http://org.springframework.beans.factory.support/).AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFac
[tory.java:628](http://tory.java:628/))
        at [org.springframework.beans.factory.support](http://org.springframework.beans.factory.support/).AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFacto
[ry.java:542](http://ry.java:542/))
        at [org.springframework.beans.factory.support](http://org.springframework.beans.factory.support/).AbstractBeanFactory.lambda$doGetBean$0([AbstractBeanFactory.java:335](http://abstractbeanfactory.java:335/))
        at [org.springframework.beans.factory.support](http://org.springframework.beans.factory.support/).DefaultSingletonBeanRegistry.getSingleton([DefaultSingletonBeanRegistry.java:23](http://defaultsingletonbeanregistry.java:23/)
4)
        at [org.springframework.beans.factory.support](http://org.springframework.beans.factory.support/).AbstractBeanFactory.doGetBean([AbstractBeanFactory.java:333](http://abstractbeanfactory.java:333/))
        at [org.springframework.beans.factory.support](http://org.springframework.beans.factory.support/).AbstractBeanFactory.getBean([AbstractBeanFactory.java:208](http://abstractbeanfactory.java:208/))
        at [org.springframework.beans.factory.support](http://org.springframework.beans.factory.support/).DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory
.java:953)
        at [org.springframework.context.support](http://org.springframework.context.support/).AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContex
[t.java:918](http://t.java:918/))
        at [org.springframework.context.support](http://org.springframework.context.support/).AbstractApplicationContext.refresh([AbstractApplicationContext.java:583](http://abstractapplicationcontext.java:583/))
        at org.sonar.core.platform.SpringComponentContainer.startComponents([SpringComponentContainer.java:187](http://springcomponentcontainer.java:187/))
        at org.sonar.server.platform.platformlevel.PlatformLevel.start([PlatformLevel.java:80](http://platformlevel.java/))
        at org.sonar.server.platform.platformlevel.PlatformLevel2.start([PlatformLevel2.java:105](http://platformlevel2.java:105/))
        at org.sonar.server.platform.PlatformImpl.start([PlatformImpl.java:196](http://platformimpl.java:196/))
        at org.sonar.server.platform.PlatformImpl.startLevel2Container([PlatformImpl.java:169](http://platformimpl.java:169/))
        at org.sonar.server.platform.PlatformImpl.init([PlatformImpl.java:77](http://platformimpl.java:77/))
        at org.sonar.server.platform.web.PlatformServletContextListener.contextInitialized([PlatformServletContextListener.java:43](http://platformservletcontextlistener.java:43/))
        at org.apache.catalina.core.StandardContext.listenerStart([StandardContext.java:4768](http://standardcontext.java:4768/))
        at org.apache.catalina.core.StandardContext.startInternal([StandardContext.java:5230](http://standardcontext.java:5230/))
        at org.apache.catalina.util.LifecycleBase.start([LifecycleBase.java:183](http://lifecyclebase.java:183/))
        at org.apache.catalina.core.ContainerBase$[StartChild.call](http://startchild.call/)([ContainerBase.java:1396](http://containerbase.java:1396/))
        at org.apache.catalina.core.ContainerBase$[StartChild.call](http://startchild.call/)([ContainerBase.java:1386](http://containerbase.java:1386/))
        at java.base/[java.util.concurrent.FutureTask.run](http://java.util.concurrent.futuretask.run/)([FutureTask.java:264](http://futuretask.java:264/))
        at org.apache.tomcat.util.threads.InlineExecutorService.execute([InlineExecutorService.java:75](http://inlineexecutorservice.java:75/))
        at java.base/java.util.concurrent.AbstractExecutorService.submit([AbstractExecutorService.java:140](http://abstractexecutorservice.java:140/))
        at org.apache.catalina.core.ContainerBase.startInternal([ContainerBase.java:919](http://containerbase.java:919/))
        at org.apache.catalina.core.StandardHost.startInternal([StandardHost.java:835](http://standardhost.java:835/))
        at org.apache.catalina.util.LifecycleBase.start([LifecycleBase.java:183](http://lifecyclebase.java:183/))
        at org.apache.catalina.core.ContainerBase$[StartChild.call](http://startchild.call/)([ContainerBase.java:1396](http://containerbase.java:1396/))
        at org.apache.catalina.core.ContainerBase$[StartChild.call](http://startchild.call/)([ContainerBase.java:1386](http://containerbase.java:1386/))
        at java.base/[java.util.concurrent.FutureTask.run](http://java.util.concurrent.futuretask.run/)([FutureTask.java:264](http://futuretask.java:264/))
        at org.apache.tomcat.util.threads.InlineExecutorService.execute([InlineExecutorService.java:75](http://inlineexecutorservice.java:75/))
        at java.base/java.util.concurrent.AbstractExecutorService.submit([AbstractExecutorService.java:140](http://abstractexecutorservice.java:140/))
        at org.apache.catalina.core.ContainerBase.startInternal([ContainerBase.java:919](http://containerbase.java:919/))
        at org.apache.catalina.core.StandardEngine.startInternal([StandardEngine.java:263](http://standardengine.java:263/))
        at org.apache.catalina.util.LifecycleBase.start([LifecycleBase.java:183](http://lifecyclebase.java:183/))
        at org.apache.catalina.core.StandardService.startInternal([StandardService.java:432](http://standardservice.java:432/))
        at org.apache.catalina.util.LifecycleBase.start([LifecycleBase.java:183](http://lifecyclebase.java:183/))
        at org.apache.catalina.core.StandardServer.startInternal([StandardServer.java:927](http://standardserver.java:927/))
        at org.apache.catalina.util.LifecycleBase.start([LifecycleBase.java:183](http://lifecyclebase.java:183/))
        at org.apache.catalina.startup.Tomcat.start([Tomcat.java:486](http://tomcat.java:486/))
        at [org.sonar.server.app](http://org.sonar.server.app/).EmbeddedTomcat.start([EmbeddedTomcat.java:72](http://embeddedtomcat.java:72/))
        at [org.sonar.server.app](http://org.sonar.server.app/).WebServer.start([WebServer.java:55](http://webserver.java:55/))
        at org.sonar.process.ProcessEntryPoint.launch([ProcessEntryPoint.java:97](http://processentrypoint.java:97/))
        at org.sonar.process.ProcessEntryPoint.launch([ProcessEntryPoint.java:81](http://processentrypoint.java:81/))
        at [org.sonar.server.app](http://org.sonar.server.app/).WebServer.main([WebServer.java:104](http://webserver.java:104/))
Caused by: org.sonar.api.utils.MessageException: Plugin GitLab [gitlab] requires at least SonarQube 9.6.1.114

Plugin should only report new issues since leak period

In the old version of the plugin the issues gate (sonar.gitlab.max_blocker_issues_gate, etc.) where used only in preview mode.
By default in preview mode only new issues since last analysis (publish mode) where listed.

Since sonarqube 7.7 preview mode has been remove and the issues gate has been enabled also for branch analyses, however all issues of the branch are listed in the commit comment and used in issue gate evaluation.

Proposition : the plugin should only consider for branch analyses (for commit comment and issues gate) issues introduced since sonarqube branch leak period, except if sonar.gitlab.all_issues is true.

No variable when customizing template with sonar-scanner

Hello,

Use versions:

  • Gitlab: 16.3.5
  • Sonarqube: 9.9.2.77730
  • Sonar scanner: 5.0.1.3006-linux
  • Sonar-gitlab-plugin: 5.4.0

I would like to override the default template when using sonar_scanner.
I succeed to do it with maven by using this command for java projects:

 mvn clean org.jacoco:jacoco-maven-plugin:prepare-agent install org.jacoco:jacoco-maven-plugin:report sonar:sonar -s settings.xml
      -Dsonar.gitlab.commit_sha=$CI_COMMIT_SHA
      -Dsonar.gitlab.ref_name=$CI_COMMIT_REF_NAME
      -Dsonar.gitlab.project_id=$CI_PROJECT_ID
      -Dsonar.gitlab.user_token=${TECHNICAL_GITLAB_TOKEN_API}
      -Dsonar.gitlab.global_template="$(cat sonar-comment.ftl)"
      -Dsonar.issuesReport.html.enable=true
      -Dsonar.login=${SONARQUBE_TOKEN}
      -Dsonar.branch.name=$CI_COMMIT_REF_NAME
      -Dsonar.newCode.referenceBranch=develop

For Angular projets I use this command:

sonar-scanner -X
      -Dsonar.login=$SONARQUBE_TOKEN
      -Dsonar.gitlab.commit_sha=$CI_COMMIT_SHA
      -Dsonar.gitlab.ref_name=$CI_COMMIT_REF_NAME
      -Dsonar.gitlab.project_id=$CI_PROJECT_ID
      -Dsonar.gitlab.global_template="$(cat sonar-comment.ftl)"
      -Dsonar.gitlab.user_token=${TECHNICAL_GITLAB_TOKEN_API}
      -Dsonar.issuesReport.html.enable=true
      -Dsonar.branch.name=$CI_COMMIT_REF_NAME
      -Dsonar.newCode.referenceBranch=develop

The global comment is indeed overridden but variables are not available/evaluated.
My Template:

<#if qualityGate??>
  ## <@g gate=qualityGate/> The SonarQube analysis indicates that quality gate is <@s status=qualityGate.status/> <@g gate=qualityGate/>

    <#list qualityGate.conditions() as condition>
        <@c condition=condition/>

    </#list>
</#if>
<#macro g gate><#if gate.status == OK>โœ”๏ธ<#else>โŒ</#if></#macro>
<#macro c condition>* [${condition.metricName}](${sonarUrl}component_measures?branch=${refName?url('ISO-8859-1')}&id=YOUR_PROJECT_ID&view=list&metric=${condition.metricKey}) <@s status=condition.status/>: Actual value ${condition.actual}<#if condition.status == WARN> is ${condition.symbol} ${condition.warning}</#if><#if condition.status == ERROR> is ${condition.symbol} ${condition.error}</#if> <@s_emoji status=condition.status/></#macro>
<#macro s status><#if status == OK>passed<#elseif status == WARN>warning<#elseif status == ERROR>failed<#else>unknown</#if></#macro>
<#macro s_emoji status><#if status == OK>โœ”๏ธ<#elseif status == WARN>โš ๏ธ<#elseif status == ERROR>โŒ<#else>โ”</#if></#macro>
<#assign newIssueCount = issueCount() notReportedIssueCount = issueCount(false)>
<#assign hasInlineIssues = newIssueCount gt notReportedIssueCount extraIssuesTruncated = notReportedIssueCount gt maxGlobalIssues>

---
### Report [**is available here**](${sonarUrl}dashboard?branch=${refName?url('ISO-8859-1')}&id=YOUR_PROJECT_ID) for more details.

<#if newIssueCount == 0>
SonarQube analysis reported no issues ! ๐Ÿ‘
<#else>
**SonarQube analysis reported ${newIssueCount} new issue<#if newIssueCount gt 1>s</#if>:**
    <#assign newIssuesBlocker = issueCount(BLOCKER) newIssuesCritical = issueCount(CRITICAL) newIssuesMajor = issueCount(MAJOR) newIssuesMinor = issueCount(MINOR) newIssuesInfo = issueCount(INFO)>
    <#if newIssuesBlocker gt 0>
* ${emojiSeverity(BLOCKER)} ${newIssuesBlocker} Blocker
    </#if>
    <#if newIssuesCritical gt 0>
* ${emojiSeverity(CRITICAL)} ${newIssuesCritical} Critical
    </#if>
    <#if newIssuesMajor gt 0>
* ${emojiSeverity(MAJOR)} ${newIssuesMajor} Major
    </#if>
    <#if newIssuesMinor gt 0>
* ${emojiSeverity(MINOR)} ${newIssuesMinor} Minor
    </#if>
    <#if newIssuesInfo gt 0>
* ${emojiSeverity(INFO)} ${newIssuesInfo} Info
    </#if>
    <#if !disableIssuesInline && hasInlineIssues>

Watch the comments in the merge request to review them.
    </#if>
    <#if notReportedIssueCount gt 0>
        <#if !disableIssuesInline>
            <#if hasInlineIssues || extraIssuesTruncated>
                <#if notReportedIssueCount <= maxGlobalIssues>

#### ${notReportedIssueCount} extra issue<#if notReportedIssueCount gt 1>s</#if>
                <#else>

#### Top ${maxGlobalIssues} extra issue<#if maxGlobalIssues gt 1>s</#if>
                </#if>
            </#if>

Note: The following issues were found on lines that were not modified in the commit. Because these issues can't be reported as line comments, they are summarized here:
        <#elseif extraIssuesTruncated>

#### Top ${maxGlobalIssues} issue<#if maxGlobalIssues gt 1>s</#if>
        </#if>

        <#assign reportedIssueCount = 0>
        <#list issues(false) as issue>
            <#if reportedIssueCount < maxGlobalIssues>
1. ${print(issue)}
            </#if>
            <#assign reportedIssueCount++>
        </#list>
        <#if notReportedIssueCount gt maxGlobalIssues>
* ... ${notReportedIssueCount-maxGlobalIssues} more
        </#if>
    </#if>
</#if>

The generated message:

  ## โœ”๏ธ The SonarQube analysis indicates that quality gate is passed โœ”๏ธ

* [](component_measures?branch=develop&id=com.xxx.dsp.xxx.apps:cart-web&view=list&metric=) passed: Actual value  โœ”๏ธ
* [](component_measures?branch=develop&id=com.xxx.dsp.xxx.apps:cart-web&view=list&metric=) passed: Actual value  โœ”๏ธ
* [](component_measures?branch=develop&id=com.xxx.dsp.xxx.apps:cart-web&view=list&metric=) passed: Actual value  โœ”๏ธ

---
### Report [**is available here**](dashboard?branch=develop&id=com.xxx.dsp.xxx.apps:cart-web) for more details.

SonarQube analysis reported no issues ! ๐Ÿ‘

Have you any idea please ?

SonarQube 9.9 LTS issue when executing branch-scan

Hi there,

I am facing an issue when running the scan with the branch-flag. I am using the latest plugin version 5.4.0.
sonar-scanner -Dsonar.branch.name=${CI_COMMIT_BRANCH}

Error

18:49:03.739 ERROR: Error during SonarScanner execution
java.lang.NoClassDefFoundError: org/sonar/scanner/scan/branch/ProjectPullRequestsLoader
at java.base/java.lang.ClassLoader.defineClass1(Native Method)
at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1017)
at java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:174)
at java.base/java.net.URLClassLoader.defineClass(URLClassLoader.java:555)
at java.base/java.net.URLClassLoader$1.run(URLClassLoader.java:458)
at java.base/java.net.URLClassLoader$1.run(URLClassLoader.java:452)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:451)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:589)
at java.base/java.net.FactoryURLClassLoader.loadClass(URLClassLoader.java:904)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522)
at com.github.mc1arke.sonarqube.plugin.CommunityBranchPlugin.define(CommunityBranchPlugin.java:158)
at com.github.mc1arke.sonarqube.plugin.CommunityBranchPluginBootstrap.define(CommunityBranchPluginBootstrap.java:72)
at org.sonar.scanner.bootstrap.ExtensionInstaller.install(ExtensionInstaller.java:57)
at org.sonar.scanner.scan.SpringProjectScanContainer.addScannerExtensions(SpringProjectScanContainer.java:327)
at org.sonar.scanner.scan.SpringProjectScanContainer.doBeforeStart(SpringProjectScanContainer.java:156)
at org.sonar.core.platform.SpringComponentContainer.startComponents(SpringComponentContainer.java:186)
at org.sonar.core.platform.SpringComponentContainer.execute(SpringComponentContainer.java:167)
at org.sonar.scanner.bootstrap.SpringGlobalContainer.doAfterStart(SpringGlobalContainer.java:137)
at org.sonar.core.platform.SpringComponentContainer.startComponents(SpringComponentContainer.java:188)
at org.sonar.core.platform.SpringComponentContainer.execute(SpringComponentContainer.java:167)
at org.sonar.batch.bootstrapper.Batch.doExecute(Batch.java:72)
at org.sonar.batch.bootstrapper.Batch.execute(Batch.java:66)
at org.sonarsource.scanner.api.internal.batch.BatchIsolatedLauncher.execute(BatchIsolatedLauncher.java:46)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at org.sonarsource.scanner.api.internal.IsolatedLauncherProxy.invoke(IsolatedLauncherProxy.java:60)
at com.sun.proxy.$Proxy0.execute(Unknown Source)
at org.sonarsource.scanner.api.EmbeddedScanner.doExecute(EmbeddedScanner.java:189)
at org.sonarsource.scanner.api.EmbeddedScanner.execute(EmbeddedScanner.java:138)
at org.sonarsource.scanner.cli.Main.execute(Main.java:112)
at org.sonarsource.scanner.cli.Main.execute(Main.java:75)
at org.sonarsource.scanner.cli.Main.main(Main.java:61)
Caused by: java.lang.ClassNotFoundException: org.sonar.scanner.scan.branch.ProjectPullRequestsLoader
at java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:476)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:589)
at java.base/java.net.FactoryURLClassLoader.loadClass(URLClassLoader.java:904)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522)
... 35 more

Branch analysis fails when sonar.gitlab.merge_request_discussion is enabled globally

If sonar.gitlab.merge_request_discussion is enabled globally for the plugin on the sonarqube instance, you have to define it to false on branch analyses or the pipeline will fail to add comments for detected issues because merge request iid is missing.

error:

INFO: Executing post-job 'Final report'
INFO: Turn debug info on to get more details (sonar-scanner -X -Dsonar.verbose=true ...).
INFO: Executing post-job 'GitLab Commit Issue Publisher'
INFO: Will execute CommitPublishPostJob of GitlabPlugin.
INFO: GitLab plugin is enabled
INFO: Waiting quality gate to complete...
INFO: Quality gate status: ERROR
INFO: Reliability Rating on New Code : 1
INFO: Security Rating on New Code : 1
ERROR: Maintainability Rating on New Code: 4 > 1
INFO: Will try to update review comments.
INFO: ------------------------------------------------------------------------
INFO: EXECUTION FAILURE
INFO: ------------------------------------------------------------------------
INFO: Total time: 1:17.288s
INFO: Final Memory: 16M/70M
INFO: ------------------------------------------------------------------------
ERROR: Error during SonarQube Scanner execution
ERROR: SonarQube failed to complete the review of this commit: The merge request iid must be provided.
ERROR: Caused by: The merge request iid must be provided.

Expected behavior: the sonar.gitlab.merge_request_discussion should be used only for merge request analyses.
For branch analyses it should be ignored.

plugin + housekeeping

Do you know if the use of this plug-in interferes with cleaning the database via housekeeping?
Even after changing to one day the housekeeping has not taken effect.

Sorry if it has nothing to do with the plugin

Analysis failing on Pull Requests using community branch plugin + sonar-gitlab-plugin

Hey guys.

I need help to get my CI pipeline working using both plugins we are recommending (sonar-gitlab-plugin and community-branch-plugin).

I also created this issue with more details: mc1arke/sonarqube-community-branch-plugin#307

Since I don't know much about how the sonar maven plugin works I don't know exactly where is the problem.

I have a java project where I'm testing it. I also tried a non-multimodule maven project but no success:

{
"task": {
"id": "AXfKLZ_vnweK8xMDl5qf",
"type": "REPORT",
"componentId": "AXfKLZ_jnweK8xMDl5qe",
"componentKey": "com.foo.bar:ci-test",
"componentName": "CI Test",
"componentQualifier": "TRK",
"status": "FAILED",
"submittedAt": "2021-02-22T14:38:43+0000",
"submitterLogin": "admin",
"startedAt": "2021-02-22T14:38:45+0000",
"executedAt": "2021-02-22T14:38:46+0000",
"executionTimeMs": 666,
"logs": false,
"errorMessage": "File 'ComponentImpl{type=FILE, status=SAME, name='src/main/java/com/foo/bar/citest/api/UserApi.java', dbKey='foo.bar:ci-test:src/main/java/com/foo/bar/citest/api/UserApi.java', key='foo.bar:ci-test:src/main/java/com/foo/bar/citest/api/UserApi.java', uuid='AXfGmaz8XBzcLJ5XNzZ7', description='null', children=[], projectAttributes=null, reportAttributes=ReportAttributes{ref=3, scmPath='src/main/java/com/foo/bar/citest/api/UserApi.java'}, fileAttributes=FileAttributes{languageKey='java', unitTest=false, lines=27}}' has no source code (Visit failed for Component {key=foo.bar:ci-test:src/main/java/com/foo/bar/citest/api/UserApi.java,type=FILE}  located foo.bar:ci-test:src/main/java/com/foo/bar/citest/api(type=DIRECTORY)->foo.bar:ci-test:src/main/java/com/foo/bar/citest(type=DIRECTORY)->foo.bar:ci-test:src(type=DIRECTORY)->foo.bar:ci-test(type=PROJECT))",
"hasScannerContext": true,
"organization": "default-organization",
"pullRequest": "27",
"warningCount": 0,
"warnings": []
}
}

Any idea?

SonarQube failed to complete the review of this commit: Unable to parse line:

Hi,

since commit

Showing 20 changed files with 617 additions and 18 deletions

in our repository, the gitlab plugin has stop working.

In conclusion, any analysis has been stop working.

Exception:

Unable to parse line
    at com.talanlabs.sonar.plugins.gitlab.PatchUtils.getPositionsFromPatch (PatchUtils.java:44)
    at com.talanlabs.sonar.plugins.gitlab.GitLabApiV4Wrapper.lambda$getPatchPositionsToLineMapping$2 (GitLabApiV4Wrapper.java:177)
    at java.util.stream.Collectors.lambda$uniqKeysMapAccumulator$1 (Collectors.java:178)
    at java.util.stream.ReduceOps$3ReducingSink.accept (ReduceOps.java:169)
    at java.util.ArrayList$ArrayListSpliterator.forEachRemaining (ArrayList.java:1655)
    at java.util.stream.AbstractPipeline.copyInto (AbstractPipeline.java:484)
    at java.util.stream.AbstractPipeline.wrapAndCopyInto (AbstractPipeline.java:474)
    at java.util.stream.ReduceOps$ReduceOp.evaluateSequential (ReduceOps.java:913)
    at java.util.stream.AbstractPipeline.evaluate (AbstractPipeline.java:234)
    at java.util.stream.ReferencePipeline.collect (ReferencePipeline.java:578)
    at com.talanlabs.sonar.plugins.gitlab.GitLabApiV4Wrapper.getPatchPositionsToLineMapping (GitLabApiV4Wrapper.java:177)
    at com.talanlabs.sonar.plugins.gitlab.GitLabApiV4Wrapper.init (GitLabApiV4Wrapper.java:76)
    at com.talanlabs.sonar.plugins.gitlab.CommitFacade.init (CommitFacade.java:83)
    at com.talanlabs.sonar.plugins.gitlab.CommitPublishPostJob.execute (CommitPublishPostJob.java:88)
    at org.sonar.scanner.postjob.PostJobWrapper.execute (PostJobWrapper.java:49)
    at org.sonar.scanner.postjob.PostJobsExecutor.execute (PostJobsExecutor.java:48)
    at org.sonar.scanner.postjob.PostJobsExecutor.execute (PostJobsExecutor.java:39)
    at org.sonar.scanner.scan.ProjectScanContainer.doAfterStart (ProjectScanContainer.java:372)
    at org.sonar.core.platform.ComponentContainer.startComponents (ComponentContainer.java:137)
    at org.sonar.core.platform.ComponentContainer.execute (ComponentContainer.java:123)
    at org.sonar.scanner.bootstrap.GlobalContainer.doAfterStart (GlobalContainer.java:150)
    at org.sonar.core.platform.ComponentContainer.startComponents (ComponentContainer.java:137)
    at org.sonar.core.platform.ComponentContainer.execute (ComponentContainer.java:123)
    at org.sonar.batch.bootstrapper.Batch.doExecute (Batch.java:72)
    at org.sonar.batch.bootstrapper.Batch.execute (Batch.java:66)
    at org.sonarsource.scanner.api.internal.batch.BatchIsolatedLauncher.execute (BatchIsolatedLauncher.java:46)
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62)
    at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke (Method.java:566)
    at org.sonarsource.scanner.api.internal.IsolatedLauncherProxy.invoke (IsolatedLauncherProxy.java:60)
    at com.sun.proxy.$Proxy160.execute (Unknown Source)
    at org.sonarsource.scanner.api.EmbeddedScanner.doExecute (EmbeddedScanner.java:189)
    at org.sonarsource.scanner.api.EmbeddedScanner.execute (EmbeddedScanner.java:138)
    at org.sonarsource.scanner.maven.bootstrap.ScannerBootstrapper.execute (ScannerBootstrapper.java:65)
    at org.sonarsource.scanner.maven.SonarQubeMojo.execute (SonarQubeMojo.java:108)
    at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo (DefaultBuildPluginManager.java:137)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:210)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:156)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:148)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:117)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:81)
    at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:56)
    at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:128)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:305)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:192)
    at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105)
    at org.apache.maven.cli.MavenCli.execute (MavenCli.java:957)
    at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:289)
    at org.apache.maven.cli.MavenCli.main (MavenCli.java:193)
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62)
    at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke (Method.java:566)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:282)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:225)
    at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:406)
    at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:347)

FULL Sonarqube Logs

84972 [INFO] --- sonar-maven-plugin:3.9.0.2155:sonar (default-cli) @ sb-backend ---
85151 [INFO] User cache: /tmp/.sonar/cache
86191 [INFO] SonarQube version: 8.9.1
86211 [INFO] Default locale: "en", source code encoding: "UTF-8"
86474 [INFO] Load global settings
86649 [INFO] Load global settings (done) | time=176ms
86653 [INFO] Server id: F4A40310-149718d55585917
86655 [INFO] User cache: /tmp/.sonar/cache
86657 [INFO] Load/download plugins
86657 [INFO] Load plugins index
86710 [INFO] Load plugins index (done) | time=53ms
88994 [INFO] Load/download plugins (done) | time=2337ms
89417 [INFO] Loaded core extensions: developer-scanner
89598 [INFO] JavaScript/TypeScript frontend is enabled
89729 [INFO] Process project properties
89736 [INFO] Process project properties (done) | time=7ms
89736 [INFO] Execute project builders
89737 [INFO] Execute project builders (done) | time=1ms
89738 [INFO] Project key: com.example.application:sb-backend
89738 [INFO] Base dir: /builds/xxx/backend
89738 [INFO] Working dir: /builds/xxx/backend/target/sonar
89822 [INFO] Load project settings for component key: 'com.example.application:sb-backend'
89839 [INFO] Load project settings for component key: 'com.example.application:sb-backend' (done) | time=17ms
89847 [INFO] Load project branches
89863 [INFO] Load project branches (done) | time=16ms
89864 [INFO] Load project pull requests
89874 [INFO] Load project pull requests (done) | time=9ms
89874 [INFO] Load branch configuration
89874 [INFO] Found manual configuration of branch/PR analysis. Skipping automatic configuration.
89876 [INFO] Load branch configuration (done) | time=2ms
89910 [INFO] Auto-configuring with CI 'Gitlab CI'
89911 [INFO] Load quality profiles
89954 [INFO] Load quality profiles (done) | time=43ms
89958 [INFO] Auto-configuring with CI 'Gitlab CI'
89960 [INFO] Load active rules
91102 [INFO] Load active rules (done) | time=1142ms
91125 [INFO] Branch name: backend/update-tax-backend
91158 [INFO] Indexing files...
91159 [INFO] Project configuration:
91159 [INFO]   Excluded sources for duplication: src/main/java/com/example/application/service/impl/migration/*
91872 [INFO] 678 files indexed
91872 [INFO] 0 files ignored because of scm ignore settings
91876 [INFO] Quality profile for java: Sonar way
91879 [INFO] Quality profile for xml: Sonar way
91880 [INFO] ------------- Run sensors on module sb-backend
91965 [INFO] JavaScript/TypeScript frontend is enabled
91982 [INFO] Load metrics repository
91999 [INFO] Load metrics repository (done) | time=17ms
93618 [INFO] Sensor JavaSquidSensor [java]
94118 [INFO] Configured Java source version (sonar.java.source): 8
94126 [INFO] JavaClasspath initialization
94131 [INFO] JavaClasspath initialization (done) | time=5ms
94132 [INFO] JavaTestClasspath initialization
94135 [INFO] JavaTestClasspath initialization (done) | time=3ms
94144 [INFO] Java Main Files AST scan
94147 [INFO] 494 source files to be analyzed
94153 [INFO] Load project repositories
94296 [INFO] Load project repositories (done) | time=143ms
104148 [INFO] 53/494 files analyzed, current file: src/main/java/com/example/application/controller/errorhandling/ErrorKeys.java
114155 [INFO] 159/494 files analyzed, current file: src/main/java/com/example/application/finapi/mockfinapi/BankConnectionMockDTO.java
124156 [INFO] 281/494 files analyzed, current file: src/main/java/com/example/application/service/impl/xxx/SendToMeineSteuernAsyncService.java
134156 [INFO] 441/494 files analyzed, current file: src/main/java/com/example/application/service/api/StateVersionsService.java
138544 [INFO] 494/494 source files have been analyzed
138545 [INFO] Slowest analyzed files:
    src/main/java/com/example/application/finapi/FinApiProvider.java (1905ms, 76044B)
    src/main/java/com/example/application/service/impl/ImportExportService.java (1748ms, 31667B)
    src/main/java/com/example/application/finapi/FinApiObjectsMapping.java (1670ms, 37859B)
    src/main/java/com/example/application/domain/banking/BankApiUserDTO.java (1171ms, 1068B)
138548 [WARNING] Unresolved imports/types have been detected during analysis. Enable DEBUG mode to see them.
138548 [INFO] Java Main Files AST scan (done) | time=44404ms
138548 [INFO] Java Test Files AST scan
138549 [INFO] 183 source files to be analyzed
146428 [INFO] 183/183 source files have been analyzed
146429 [WARNING] Unresolved imports/types have been detected during analysis. Enable DEBUG mode to see them.
146429 [INFO] Java Test Files AST scan (done) | time=7881ms
146429 [INFO] Java Generated Files AST scan
146429 [INFO] 0 source files to be analyzed
146430 [INFO] 0/0 source files have been analyzed
146430 [INFO] Java Generated Files AST scan (done) | time=1ms
146430 [INFO] Sensor JavaSquidSensor [java] (done) | time=52813ms
146430 [INFO] Sensor CSS Rules [cssfamily]
146432 [INFO] No CSS, PHP, HTML or VueJS files are found in the project. CSS analysis is skipped.
146432 [INFO] Sensor CSS Rules [cssfamily] (done) | time=2ms
146432 [INFO] Sensor C# Project Type Information [csharp]
146433 [INFO] Sensor C# Project Type Information [csharp] (done) | time=1ms
146433 [INFO] Sensor C# Properties [csharp]
146434 [INFO] Sensor C# Properties [csharp] (done) | time=1ms
146434 [INFO] Sensor SurefireSensor [java]
146436 [INFO] parsing [/builds/xxx/backend/target/surefire-reports]
146679 [INFO] Sensor SurefireSensor [java] (done) | time=245ms
146680 [INFO] Sensor JavaXmlSensor [java]
146685 [INFO] 1 source file to be analyzed
146875 [INFO] 1/1 source file has been analyzed
146876 [INFO] Sensor JavaXmlSensor [java] (done) | time=196ms
146876 [INFO] Sensor HTML [web]
146879 [INFO] Sensor HTML [web] (done) | time=3ms
146879 [INFO] Sensor XML Sensor [xml]
146881 [INFO] 1 source file to be analyzed
147059 [INFO] 1/1 source file has been analyzed
147059 [INFO] Sensor XML Sensor [xml] (done) | time=180ms
147059 [INFO] Sensor VB.NET Project Type Information [vbnet]
147060 [INFO] Sensor VB.NET Project Type Information [vbnet] (done) | time=1ms
147060 [INFO] Sensor VB.NET Properties [vbnet]
147061 [INFO] Sensor VB.NET Properties [vbnet] (done) | time=1ms
147061 [INFO] Sensor JaCoCo XML Report Importer [jacoco]
147064 [INFO] 'sonar.coverage.jacoco.xmlReportPaths' is not defined. Using default locations: target/site/jacoco/jacoco.xml,target/site/jacoco-it/jacoco.xml,build/reports/jacoco/test/jacocoTestReport.xml
147065 [INFO] Importing 1 report(s). Turn your logs in debug mode in order to see the exhaustive list.
147287 [INFO] Sensor JaCoCo XML Report Importer [jacoco] (done) | time=226ms
147287 [INFO] Sensor ThymeLeaf template sensor [securityjavafrontend]
147294 [INFO] Sensor ThymeLeaf template sensor [securityjavafrontend] (done) | time=7ms
147294 [INFO] Sensor JavaSecuritySensor [security]
147295 [INFO] Reading type hierarchy from: /builds/xxx/backend/target/sonar/ucfg2/java
147405 [INFO] Read 1377 type definitions
147425 [INFO] Reading UCFGs from: /builds/xxx/backend/target/sonar/ucfg2/java
147870 [INFO] 08:42:06.361568 Building Runtime Type propagation graph
147967 [INFO] 08:42:06.458095 Running Tarjan on 16516 nodes
147990 [INFO] 08:42:06.48122 Tarjan found 16462 components
148026 [INFO] 08:42:06.517261 Variable type analysis: done
148030 [INFO] 08:42:06.521137 Building Runtime Type propagation graph
148129 [INFO] 08:42:06.620058 Running Tarjan on 16516 nodes
148148 [INFO] 08:42:06.639282 Tarjan found 16462 components
148179 [INFO] 08:42:06.670418 Variable type analysis: done
148182 [INFO] Analyzing 2239 ucfgs to detect vulnerabilities.
154293 [INFO] All rules entrypoints : 31 Retained UCFGs : 568
154382 [INFO] rule: S5131, entrypoints: 3
154383 [INFO] Running symbolic analysis
154527 [INFO] rule: S5131 done
154528 [INFO] rule: S3649, entrypoints: 0
154528 [INFO] rule: S3649 done
154528 [INFO] rule: S2076, entrypoints: 0
154528 [INFO] rule: S2076 done
154528 [INFO] rule: S2091, entrypoints: 0
154528 [INFO] rule: S2091 done
154528 [INFO] rule: S2078, entrypoints: 0
154528 [INFO] rule: S2078 done
154528 [INFO] rule: S2631, entrypoints: 0
154529 [INFO] rule: S2631 done
154529 [INFO] rule: S5135, entrypoints: 0
154529 [INFO] rule: S5135 done
154529 [INFO] rule: S2083, entrypoints: 1
154529 [INFO] Running symbolic analysis
154546 [INFO] rule: S2083 done
154546 [INFO] rule: S5167, entrypoints: 11
154546 [INFO] Running symbolic analysis
154586 [INFO] rule: S5167 done
154586 [INFO] rule: S5144, entrypoints: 18
154586 [INFO] Running symbolic analysis
154746 [INFO] rule: S5144 done
154746 [INFO] rule: S5145, entrypoints: 0
154746 [INFO] rule: S5145 done
154746 [INFO] rule: S5146, entrypoints: 14
154746 [INFO] Running symbolic analysis
154794 [INFO] rule: S5146 done
154794 [INFO] rule: S5334, entrypoints: 0
154794 [INFO] rule: S5334 done
154794 [INFO] rule: S6096, entrypoints: 0
154794 [INFO] rule: S6096 done
154794 [INFO] Sensor JavaSecuritySensor [security] (done) | time=7500ms
154794 [INFO] Sensor CSharpSecuritySensor [security]
154795 [INFO] Reading type hierarchy from: /builds/xxx/backend/target/ucfg_cs2
154795 [INFO] Read 0 type definitions
154795 [INFO] Reading UCFGs from: /builds/xxx/backend/target/ucfg_cs2
154795 [INFO] No UCFGs have been included for analysis.
154795 [INFO] Sensor CSharpSecuritySensor [security] (done) | time=1ms
154795 [INFO] Sensor PhpSecuritySensor [security]
154795 [INFO] Reading type hierarchy from: /builds/xxx/backend/target/sonar/ucfg2/php
154796 [INFO] Read 0 type definitions
154796 [INFO] Reading UCFGs from: /builds/xxx/backend/target/sonar/ucfg2/php
154796 [INFO] No UCFGs have been included for analysis.
154796 [INFO] Sensor PhpSecuritySensor [security] (done) | time=1ms
154796 [INFO] Sensor PythonSecuritySensor [security]
154796 [INFO] Reading type hierarchy from: /builds/xxx/backend/target/sonar/ucfg2/python
154797 [INFO] Read 0 type definitions
154797 [INFO] Reading UCFGs from: /builds/xxx/backend/target/sonar/ucfg2/python
154797 [INFO] No UCFGs have been included for analysis.
154797 [INFO] Sensor PythonSecuritySensor [security] (done) | time=1ms
154797 [INFO] Sensor JsSecuritySensor [security]
154798 [INFO] Reading type hierarchy from: /builds/xxx/backend/target/sonar/ucfg2/js
154798 [INFO] Read 0 type definitions
154798 [INFO] Reading UCFGs from: /builds/xxx/backend/target/sonar/ucfg2/js
154798 [INFO] No UCFGs have been included for analysis.
154798 [INFO] Sensor JsSecuritySensor [security] (done) | time=1ms
154801 [INFO] ------------- Run sensors on project
154811 [INFO] Sensor Zero Coverage Sensor
154813 [INFO] Sensor Zero Coverage Sensor (done) | time=2ms
154813 [INFO] Sensor Java CPD Block Indexer
155248 [INFO] Sensor Java CPD Block Indexer (done) | time=435ms
155296 [INFO] CPD Executor 105 files had no CPD blocks
155296 [INFO] CPD Executor Calculating CPD for 361 files
155353 [INFO] CPD Executor CPD calculation finished (done) | time=57ms
155361 [INFO] Load New Code definition
155440 [INFO] Load New Code definition (done) | time=79ms
155673 [INFO] Analysis report generated in 271ms, dir size=5 MB
156656 [INFO] Analysis report compressed in 983ms, zip size=2 MB
156887 [INFO] Analysis report uploaded in 231ms
156888 [INFO] ANALYSIS SUCCESSFUL, you can browse https://sonarqube.cloud.adorsys.de/dashboard?id=com.example.application%3Asb-backend&branch=backend%2Fupdate-tax-backend
156889 [INFO] Note that you will be able to access the updated dashboard once the server has processed the submitted analysis report
156889 [INFO] More about the report processing at https://sonarqube.cloud.adorsys.de/api/ce/task?id=AXvJSuovBDvfJUpgAam0
157008 [INFO] Executing post-job 'GitLab Commit Issue Publisher'
157008 [INFO] Will execute CommitPublishPostJob of GitlabPlugin.
157008 [INFO] GitLab plugin is enabled
162629 [INFO] ------------------------------------------------------------------------
162629 [INFO] BUILD FAILURE
162629 [INFO] ------------------------------------------------------------------------
162629 [INFO] Total time:  02:41 min
162630 [INFO] Finished at: 2021-09-09T08:42:21+02:00
162630 [INFO] ------------------------------------------------------------------------
162631 [ERROR] Failed to execute goal org.sonarsource.scanner.maven:sonar-maven-plugin:3.9.0.2155:sonar (default-cli) on project sb-backend: SonarQube failed to complete the review of this commit: Unable to parse line:
162631 [ERROR]  @@ -246,6 +246,186 @@ Certifications 
162632 [ERROR] AppDynamics is SOC 2 Type II compliant, meaning it has been inde
162632 [ERROR] Full patch: 
162632 [ERROR]  @@ -246,6 +246,186 @@ Certifications 
162632 [ERROR] AppDynamics is SOC 2 Type II compliant, meaning it has been inde
162632 [ERROR]  AppDynamics Proprietary and Confidential * Revision 2017.06.14
162632 [ERROR]  
162632 [ERROR]  
162632 [ERROR] +## JOSESwift
162632 [ERROR] +
162632 [ERROR] +Apache License
162633 [ERROR] +Version 2.0, January 2004
162633 [ERROR] +http://www.apache.org/licenses/
162633 [ERROR] +
162633 [ERROR] +TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
162633 [ERROR] +
162633 [ERROR] +1. Definitions.
162633 [ERROR] +
162633 [ERROR] +"License" shall mean the terms and conditions for use, reproduction,
162633 [ERROR] +and distribution as defined by Sections 1 through 9 of this document.
162633 [ERROR] +
162634 [ERROR] +"Licensor" shall mean the copyright owner or entity authorized by
162634 [ERROR] +the copyright owner that is granting the License.
162634 [ERROR] +
162634 [ERROR] +"Legal Entity" shall mean the union of the acting entity and all
162634 [ERROR] +other entities that control, are controlled by, or are under common
162634 [ERROR] +control with that entity. For the purposes of this definition,
162634 [ERROR] +"control" means (i) the power, direct or indirect, to cause the
162635 [ERROR] +direction or management of such entity, whether by contract or
162635 [ERROR] +otherwise, or (ii) ownership of fifty percent (50%) or more of the
162635 [ERROR] +outstanding shares, or (iii) beneficial ownership of such entity.
162635 [ERROR] +
162635 [ERROR] +"You" (or "Your") shall mean an individual or Legal Entity
162635 [ERROR] +exercising permissions granted by this License.
162635 [ERROR] +
162635 [ERROR] +"Source" form shall mean the preferred form for making modifications,
162636 [ERROR] +including but not limited to software source code, documentation
162636 [ERROR] +source, and configuration files.
162636 [ERROR] +
162636 [ERROR] +"Object" form shall mean any form resulting from mechanical
162636 [ERROR] +transformation or translation of a Source form, including but
162636 [ERROR] +not limited to compiled object code, generated documentation,
162636 [ERROR] +and conversions to other media types.
162636 [ERROR] +
162636 [ERROR] +"Work" shall mean the work of authorship, whether in Source or
162637 [ERROR] +Object form, made available under the License, as indicated by a
162637 [ERROR] +copyright notice that is included in or attached to the work
162637 [ERROR] +(an example is provided in the Appendix below).
162637 [ERROR] +
162637 [ERROR] +"Derivative Works" shall mean any work, whether in Source or Object
162637 [ERROR] +form, that is based on (or derived from) the Work and for which the
162637 [ERROR] +editorial revisions, annotations, elaborations, or other modifications
162638 [ERROR] +represent, as a whole, an original work of authorship. For the purposes
162638 [ERROR] +of this License, Derivative Works shall not include works that remain
162638 [ERROR] +separable from, or merely link (or bind by name) to the interfaces of,
162638 [ERROR] +the Work and Derivative Works thereof.
162638 [ERROR] +
162638 [ERROR] +"Contribution" shall mean any work of authorship, including
162638 [ERROR] +the original version of the Work and any modifications or additions
162639 [ERROR] +to that Work or Derivative Works thereof, that is intentionally
162639 [ERROR] +submitted to Licensor for inclusion in the Work by the copyright owner
162639 [ERROR] +or by an individual or Legal Entity authorized to submit on behalf of
162639 [ERROR] +the copyright owner. For the purposes of this definition, "submitted"
162639 [ERROR] +means any form of electronic, verbal, or written communication sent
162640 [ERROR] +to the Licensor or its representatives, including but not limited to
162640 [ERROR] +communication on electronic mailing lists, source code control systems,
162640 [ERROR] +and issue tracking systems that are managed by, or on behalf of, the
162640 [ERROR] +Licensor for the purpose of discussing and improving the Work, but
162641 [ERROR] +excluding communication that is conspicuously marked or otherwise
162641 [ERROR] +designated in writing by the copyright owner as "Not a Contribution."
162641 [ERROR] +
162641 [ERROR] +"Contributor" shall mean Licensor and any individual or Legal Entity
162641 [ERROR] +on behalf of whom a Contribution has been received by Licensor and
162641 [ERROR] +subsequently incorporated within the Work.
162641 [ERROR] +
162641 [ERROR] +2. Grant of Copyright License. Subject to the terms and conditions of
162642 [ERROR] +this License, each Contributor hereby grants to You a perpetual,
162642 [ERROR] +worldwide, non-exclusive, no-charge, royalty-free, irrevocable
162642 [ERROR] +copyright license to reproduce, prepare Derivative Works of,
162642 [ERROR] +publicly display, publicly perform, sublicense, and distribute the
162642 [ERROR] +Work and such Derivative Works in Source or Object form.
162642 [ERROR] +
162642 [ERROR] +3. Grant of Patent License. Subject to the terms and conditions of
162643 [ERROR] +this License, each Contributor hereby grants to You a perpetual,
162643 [ERROR] +worldwide, non-exclusive, no-charge, royalty-free, irrevocable
162643 [ERROR] +(except as stated in this section) patent license to make, have made,
162643 [ERROR] +use, offer to sell, sell, import, and otherwise transfer the Work,
162643 [ERROR] +where such license applies only to those patent claims licensable
162644 [ERROR] +by such Contributor that are necessarily infringed by their
162644 [ERROR] +Contribution(s) alone or by combination of their Contribution(s)
162644 [ERROR] +with the Work to which such Contribution(s) was submitted. If You
162644 [ERROR] +institute patent litigation against any entity (including a
162644 [ERROR] +cross-claim or counterclaim in a lawsuit) alleging that the Work
162644 [ERROR] +or a Contribution incorporated within the Work constitutes direct
162645 [ERROR] +or contributory patent infringement, then any patent licenses
162645 [ERROR] +granted to You under this License for that Work shall terminate
162645 [ERROR] +as of the date such litigation is filed.
162645 [ERROR] +
162645 [ERROR] +4. Redistribution. You may reproduce and distribute copies of the
162645 [ERROR] +Work or Derivative Works thereof in any medium, with or without
162645 [ERROR] +modifications, and in Source or Object form, provided that You
162646 [ERROR] +meet the following conditions:
162646 [ERROR] +
162646 [ERROR] +(a) You must give any other recipients of the Work or
162646 [ERROR] +Derivative Works a copy of this License; and
162646 [ERROR] +
162646 [ERROR] +(b) You must cause any modified files to carry prominent notices
162646 [ERROR] +stating that You changed the files; and
162646 [ERROR] +
162646 [ERROR] +(c) You must retain, in the Source form of any Derivative Works
162647 [ERROR] +that You distribute, all copyright, patent, trademark, and
162647 [ERROR] +attribution notices from the Source form of the Work,
162647 [ERROR] +excluding those notices that do not pertain to any part of
162647 [ERROR] +the Derivative Works; and
162647 [ERROR] +
162647 [ERROR] +(d) If the Work includes a "NOTICE" text file as part of its
162647 [ERROR] +distribution, then any Derivative Works that You distribute must
162648 [ERROR] +include a readable copy of the attribution notices contained
162648 [ERROR] +within such NOTICE file, excluding those notices that do not
162648 [ERROR] +pertain to any part of the Derivative Works, in at least one
162648 [ERROR] +of the following places: within a NOTICE text file distributed
162649 [ERROR] +as part of the Derivative Works; within the Source form or
162649 [ERROR] +documentation, if provided along with the Derivative Works; or,
162649 [ERROR] +within a display generated by the Derivative Works, if and
162649 [ERROR] +wherever such third-party notices normally appear. The contents
162649 [ERROR] +of the NOTICE file are for informational purposes only and
162649 [ERROR] +do not modify the License. You may add Your own attribution
162650 [ERROR] +notices within Derivative Works that You distribute, alongside
162650 [ERROR] +or as an addendum to the NOTICE text from the Work, provided
162650 [ERROR] +that such additional attribution notices cannot be construed
162650 [ERROR] +as modifying the License.
162650 [ERROR] +
162650 [ERROR] +You may add Your own copyright statement to Your modifications and
162650 [ERROR] +may provide additional or different license terms and conditions
162651 [ERROR] +for use, reproduction, or distribution of Your modifications, or
162651 [ERROR] +for any such Derivative Works as a whole, provided Your use,
162651 [ERROR] +reproduction, and distribution of the Work otherwise complies with
162651 [ERROR] +the conditions stated in this License.
162651 [ERROR] +
162651 [ERROR] +5. Submission of Contributions. Unless You explicitly state otherwise,
162651 [ERROR] +any Contribution intentionally submitted for inclusion in the Work
162652 [ERROR] +by You to the Licensor shall be under the terms and conditions of
162652 [ERROR] +this License, without any additional terms or conditions.
162652 [ERROR] +Notwithstanding the above, nothing herein shall supersede or modify
162652 [ERROR] +the terms of any separate license agreement you may have executed
162652 [ERROR] +with Licensor regarding such Contributions.
162652 [ERROR] +
162653 [ERROR] +6. Trademarks. This License does not grant permission to use the trade
162653 [ERROR] +names, trademarks, service marks, or product names of the Licensor,
162653 [ERROR] +except as required for reasonable and customary use in describing the
162653 [ERROR] +origin of the Work and reproducing the content of the NOTICE file.
162653 [ERROR] +
162653 [ERROR] +7. Disclaimer of Warranty. Unless required by applicable law or
162653 [ERROR] +agreed to in writing, Licensor provides the Work (and each
162654 [ERROR] +Contributor provides its Contributions) on an "AS IS" BASIS,
162654 [ERROR] +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
162654 [ERROR] +implied, including, without limitation, any warranties or conditions
162654 [ERROR] +of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
162654 [ERROR] +PARTICULAR PURPOSE. You are solely responsible for determining the
162655 [ERROR] +appropriateness of using or redistributing the Work and assume any
162655 [ERROR] +risks associated with Your exercise of permissions under this License.
162655 [ERROR] +
162655 [ERROR] +8. Limitation of Liability. In no event and under no legal theory,
162655 [ERROR] +whether in tort (including negligence), contract, or otherwise,
162655 [ERROR] +unless required by applicable law (such as deliberate and grossly
162656 [ERROR] +negligent acts) or agreed to in writing, shall any Contributor be
162656 [ERROR] +liable to You for damages, including any direct, indirect, special,
162657 [ERROR] +incidental, or consequential damages of any character arising as a
162657 [ERROR] +result of this License or out of the use or inability to use the
162657 [ERROR] +Work (including but not limited to damages for loss of goodwill,
162657 [ERROR] +work stoppage, computer failure or malfunction, or any and all
162658 [ERROR] +other commercial damages or losses), even if such Contributor
162658 [ERROR] +has been advised of the possibility of such damages.
162658 [ERROR] +
162658 [ERROR] +9. Accepting Warranty or Additional Liability. While redistributing
162658 [ERROR] +the Work or Derivative Works thereof, You may choose to offer,
162658 [ERROR] +and charge a fee for, acceptance of support, warranty, indemnity,
162659 [ERROR] +or other liability obligations and/or rights consistent with this
162659 [ERROR] +License. However, in accepting such obligations, You may act only
162659 [ERROR] +on Your own behalf and on Your sole responsibility, not on behalf
162659 [ERROR] +of any other Contributor, and only if You agree to indemnify,
162659 [ERROR] +defend, and hold each Contributor harmless for any liability
162659 [ERROR] +incurred by, or claims asserted against, such Contributor by reason
162660 [ERROR] +of your accepting any such warranty or additional liability.
162660 [ERROR] +
162660 [ERROR] +END OF TERMS AND CONDITIONS
162660 [ERROR] +
162660 [ERROR] +
162660 [ERROR]  ## JTAppleCalendar
162660 [ERROR]  
162660 [ERROR]  Copyright (c) 2016 JayT <[email protected]>
162660 [ERROR] -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.sonarsource.scanner.maven:sonar-maven-plugin:3.9.0.2155:sonar (default-cli) on project sb-backend: SonarQube failed to complete the review of this commit: Unable to parse line:
AppDynamics is SOC 2 Type II compliant, meaning it has been inde
Full patch: 
AppDynamics is SOC 2 Type II compliant, meaning it has been inde
 AppDynamics Proprietary and Confidential * Revision 2017.06.14
 
 
+## JOSESwift
+
+Apache License
+Version 2.0, January 2004
+http://www.apache.org/licenses/
+
+TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+1. Definitions.
+
+"License" shall mean the terms and conditions for use, reproduction,
+and distribution as defined by Sections 1 through 9 of this document.
+
+"Licensor" shall mean the copyright owner or entity authorized by
+the copyright owner that is granting the License.
+
+"Legal Entity" shall mean the union of the acting entity and all
+other entities that control, are controlled by, or are under common
+control with that entity. For the purposes of this definition,
+"control" means (i) the power, direct or indirect, to cause the
+direction or management of such entity, whether by contract or
+otherwise, or (ii) ownership of fifty percent (50%) or more of the
+outstanding shares, or (iii) beneficial ownership of such entity.
+
+"You" (or "Your") shall mean an individual or Legal Entity
+exercising permissions granted by this License.
+
+"Source" form shall mean the preferred form for making modifications,
+including but not limited to software source code, documentation
+source, and configuration files.
+
+"Object" form shall mean any form resulting from mechanical
+transformation or translation of a Source form, including but
+not limited to compiled object code, generated documentation,
+and conversions to other media types.
+
+"Work" shall mean the work of authorship, whether in Source or
+Object form, made available under the License, as indicated by a
+copyright notice that is included in or attached to the work
+(an example is provided in the Appendix below).
+
+"Derivative Works" shall mean any work, whether in Source or Object
+form, that is based on (or derived from) the Work and for which the
+editorial revisions, annotations, elaborations, or other modifications
+represent, as a whole, an original work of authorship. For the purposes
+of this License, Derivative Works shall not include works that remain
+separable from, or merely link (or bind by name) to the interfaces of,
+the Work and Derivative Works thereof.
+
+"Contribution" shall mean any work of authorship, including
+the original version of the Work and any modifications or additions
+to that Work or Derivative Works thereof, that is intentionally
+submitted to Licensor for inclusion in the Work by the copyright owner
+or by an individual or Legal Entity authorized to submit on behalf of
+the copyright owner. For the purposes of this definition, "submitted"
+means any form of electronic, verbal, or written communication sent
+to the Licensor or its representatives, including but not limited to
+communication on electronic mailing lists, source code control systems,
+and issue tracking systems that are managed by, or on behalf of, the
+Licensor for the purpose of discussing and improving the Work, but
+excluding communication that is conspicuously marked or otherwise
+designated in writing by the copyright owner as "Not a Contribution."
+
+"Contributor" shall mean Licensor and any individual or Legal Entity
+on behalf of whom a Contribution has been received by Licensor and
+subsequently incorporated within the Work.
+
+2. Grant of Copyright License. Subject to the terms and conditions of
+this License, each Contributor hereby grants to You a perpetual,
+worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+copyright license to reproduce, prepare Derivative Works of,
+publicly display, publicly perform, sublicense, and distribute the
+Work and such Derivative Works in Source or Object form.
+
+3. Grant of Patent License. Subject to the terms and conditions of
+this License, each Contributor hereby grants to You a perpetual,
+worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+(except as stated in this section) patent license to make, have made,
+use, offer to sell, sell, import, and otherwise transfer the Work,
+where such license applies only to those patent claims licensable
+by such Contributor that are necessarily infringed by their
+Contribution(s) alone or by combination of their Contribution(s)
+with the Work to which such Contribution(s) was submitted. If You
+institute patent litigation against any entity (including a
+cross-claim or counterclaim in a lawsuit) alleging that the Work
+or a Contribution incorporated within the Work constitutes direct
+or contributory patent infringement, then any patent licenses
+granted to You under this License for that Work shall terminate
+as of the date such litigation is filed.
+
+4. Redistribution. You may reproduce and distribute copies of the
+Work or Derivative Works thereof in any medium, with or without
+modifications, and in Source or Object form, provided that You
+meet the following conditions:
+
+(a) You must give any other recipients of the Work or
+Derivative Works a copy of this License; and
+
+(b) You must cause any modified files to carry prominent notices
+stating that You changed the files; and
+
+(c) You must retain, in the Source form of any Derivative Works
+that You distribute, all copyright, patent, trademark, and
+attribution notices from the Source form of the Work,
+excluding those notices that do not pertain to any part of
+the Derivative Works; and
+
+(d) If the Work includes a "NOTICE" text file as part of its
+distribution, then any Derivative Works that You distribute must
+include a readable copy of the attribution notices contained
+within such NOTICE file, excluding those notices that do not
+pertain to any part of the Derivative Works, in at least one
+of the following places: within a NOTICE text file distributed
+as part of the Derivative Works; within the Source form or
+documentation, if provided along with the Derivative Works; or,
+within a display generated by the Derivative Works, if and
+wherever such third-party notices normally appear. The contents
+of the NOTICE file are for informational purposes only and
+do not modify the License. You may add Your own attribution
+notices within Derivative Works that You distribute, alongside
+or as an addendum to the NOTICE text from the Work, provided
+that such additional attribution notices cannot be construed
+as modifying the License.
+
+You may add Your own copyright statement to Your modifications and
+may provide additional or different license terms and conditions
+for use, reproduction, or distribution of Your modifications, or
+for any such Derivative Works as a whole, provided Your use,
+reproduction, and distribution of the Work otherwise complies with
+the conditions stated in this License.
+
+5. Submission of Contributions. Unless You explicitly state otherwise,
+any Contribution intentionally submitted for inclusion in the Work
+by You to the Licensor shall be under the terms and conditions of
+this License, without any additional terms or conditions.
+Notwithstanding the above, nothing herein shall supersede or modify
+the terms of any separate license agreement you may have executed
+with Licensor regarding such Contributions.
+
+6. Trademarks. This License does not grant permission to use the trade
+names, trademarks, service marks, or product names of the Licensor,
+except as required for reasonable and customary use in describing the
+origin of the Work and reproducing the content of the NOTICE file.
+
+7. Disclaimer of Warranty. Unless required by applicable law or
+agreed to in writing, Licensor provides the Work (and each
+Contributor provides its Contributions) on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+implied, including, without limitation, any warranties or conditions
+of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+PARTICULAR PURPOSE. You are solely responsible for determining the
+appropriateness of using or redistributing the Work and assume any
+risks associated with Your exercise of permissions under this License.
+
+8. Limitation of Liability. In no event and under no legal theory,
+whether in tort (including negligence), contract, or otherwise,
+unless required by applicable law (such as deliberate and grossly
+negligent acts) or agreed to in writing, shall any Contributor be
+liable to You for damages, including any direct, indirect, special,
+incidental, or consequential damages of any character arising as a
+result of this License or out of the use or inability to use the
+Work (including but not limited to damages for loss of goodwill,
+work stoppage, computer failure or malfunction, or any and all
+other commercial damages or losses), even if such Contributor
+has been advised of the possibility of such damages.
+
+9. Accepting Warranty or Additional Liability. While redistributing
+the Work or Derivative Works thereof, You may choose to offer,
+and charge a fee for, acceptance of support, warranty, indemnity,
+or other liability obligations and/or rights consistent with this
+License. However, in accepting such obligations, You may act only
+on Your own behalf and on Your sole responsibility, not on behalf
+of any other Contributor, and only if You agree to indemnify,
+defend, and hold each Contributor harmless for any liability
+incurred by, or claims asserted against, such Contributor by reason
+of your accepting any such warranty or additional liability.
+
+END OF TERMS AND CONDITIONS
+
+
 ## JTAppleCalendar
 
 Copyright (c) 2016 JayT <[email protected]>
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:215)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:156)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:148)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:117)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:81)
    at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:56)
    at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:128)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:305)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:192)
    at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105)
    at org.apache.maven.cli.MavenCli.execute (MavenCli.java:957)
    at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:289)
    at org.apache.maven.cli.MavenCli.main (MavenCli.java:193)
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62)
    at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke (Method.java:566)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:282)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:225)
    at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:406)
    at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:347)
Caused by: org.apache.maven.plugin.MojoExecutionException: SonarQube failed to complete the review of this commit: Unable to parse line:
AppDynamics is SOC 2 Type II compliant, meaning it has been inde
Full patch: 
AppDynamics is SOC 2 Type II compliant, meaning it has been inde
 AppDynamics Proprietary and Confidential * Revision 2017.06.14
 
 
+## JOSESwift
+
+Apache License
+Version 2.0, January 2004
+http://www.apache.org/licenses/
+
+TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+1. Definitions.
+
+"License" shall mean the terms and conditions for use, reproduction,
+and distribution as defined by Sections 1 through 9 of this document.
+
+"Licensor" shall mean the copyright owner or entity authorized by
+the copyright owner that is granting the License.
+
+"Legal Entity" shall mean the union of the acting entity and all
+other entities that control, are controlled by, or are under common
+control with that entity. For the purposes of this definition,
+"control" means (i) the power, direct or indirect, to cause the
+direction or management of such entity, whether by contract or
+otherwise, or (ii) ownership of fifty percent (50%) or more of the
+outstanding shares, or (iii) beneficial ownership of such entity.
+
+"You" (or "Your") shall mean an individual or Legal Entity
+exercising permissions granted by this License.
+
+"Source" form shall mean the preferred form for making modifications,
+including but not limited to software source code, documentation
+source, and configuration files.
+
+"Object" form shall mean any form resulting from mechanical
+transformation or translation of a Source form, including but
+not limited to compiled object code, generated documentation,
+and conversions to other media types.
+
+"Work" shall mean the work of authorship, whether in Source or
+Object form, made available under the License, as indicated by a
+copyright notice that is included in or attached to the work
+(an example is provided in the Appendix below).
+
+"Derivative Works" shall mean any work, whether in Source or Object
+form, that is based on (or derived from) the Work and for which the
+editorial revisions, annotations, elaborations, or other modifications
+represent, as a whole, an original work of authorship. For the purposes
+of this License, Derivative Works shall not include works that remain
+separable from, or merely link (or bind by name) to the interfaces of,
+the Work and Derivative Works thereof.
+
+"Contribution" shall mean any work of authorship, including
+the original version of the Work and any modifications or additions
+to that Work or Derivative Works thereof, that is intentionally
+submitted to Licensor for inclusion in the Work by the copyright owner
+or by an individual or Legal Entity authorized to submit on behalf of
+the copyright owner. For the purposes of this definition, "submitted"
+means any form of electronic, verbal, or written communication sent
+to the Licensor or its representatives, including but not limited to
+communication on electronic mailing lists, source code control systems,
+and issue tracking systems that are managed by, or on behalf of, the
+Licensor for the purpose of discussing and improving the Work, but
+excluding communication that is conspicuously marked or otherwise
+designated in writing by the copyright owner as "Not a Contribution."
+
+"Contributor" shall mean Licensor and any individual or Legal Entity
+on behalf of whom a Contribution has been received by Licensor and
+subsequently incorporated within the Work.
+
+2. Grant of Copyright License. Subject to the terms and conditions of
+this License, each Contributor hereby grants to You a perpetual,
+worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+copyright license to reproduce, prepare Derivative Works of,
+publicly display, publicly perform, sublicense, and distribute the
+Work and such Derivative Works in Source or Object form.
+
+3. Grant of Patent License. Subject to the terms and conditions of
+this License, each Contributor hereby grants to You a perpetual,
+worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+(except as stated in this section) patent license to make, have made,
+use, offer to sell, sell, import, and otherwise transfer the Work,
+where such license applies only to those patent claims licensable
+by such Contributor that are necessarily infringed by their
+Contribution(s) alone or by combination of their Contribution(s)
+with the Work to which such Contribution(s) was submitted. If You
+institute patent litigation against any entity (including a
+cross-claim or counterclaim in a lawsuit) alleging that the Work
+or a Contribution incorporated within the Work constitutes direct
+or contributory patent infringement, then any patent licenses
+granted to You under this License for that Work shall terminate
+as of the date such litigation is filed.
+
+4. Redistribution. You may reproduce and distribute copies of the
+Work or Derivative Works thereof in any medium, with or without
+modifications, and in Source or Object form, provided that You
+meet the following conditions:
+
+(a) You must give any other recipients of the Work or
+Derivative Works a copy of this License; and
+
+(b) You must cause any modified files to carry prominent notices
+stating that You changed the files; and
+
+(c) You must retain, in the Source form of any Derivative Works
+that You distribute, all copyright, patent, trademark, and
+attribution notices from the Source form of the Work,
+excluding those notices that do not pertain to any part of
+the Derivative Works; and
+
+(d) If the Work includes a "NOTICE" text file as part of its
+distribution, then any Derivative Works that You distribute must
+include a readable copy of the attribution notices contained
+within such NOTICE file, excluding those notices that do not
+pertain to any part of the Derivative Works, in at least one
+of the following places: within a NOTICE text file distributed
+as part of the Derivative Works; within the Source form or
+documentation, if provided along with the Derivative Works; or,
+within a display generated by the Derivative Works, if and
+wherever such third-party notices normally appear. The contents
+of the NOTICE file are for informational purposes only and
+do not modify the License. You may add Your own attribution
+notices within Derivative Works that You distribute, alongside
+or as an addendum to the NOTICE text from the Work, provided
+that such additional attribution notices cannot be construed
+as modifying the License.
+
+You may add Your own copyright statement to Your modifications and
+may provide additional or different license terms and conditions
+for use, reproduction, or distribution of Your modifications, or
+for any such Derivative Works as a whole, provided Your use,
+reproduction, and distribution of the Work otherwise complies with
+the conditions stated in this License.
+
+5. Submission of Contributions. Unless You explicitly state otherwise,
+any Contribution intentionally submitted for inclusion in the Work
+by You to the Licensor shall be under the terms and conditions of
+this License, without any additional terms or conditions.
+Notwithstanding the above, nothing herein shall supersede or modify
+the terms of any separate license agreement you may have executed
+with Licensor regarding such Contributions.
+
+6. Trademarks. This License does not grant permission to use the trade
+names, trademarks, service marks, or product names of the Licensor,
+except as required for reasonable and customary use in describing the
+origin of the Work and reproducing the content of the NOTICE file.
+
+7. Disclaimer of Warranty. Unless required by applicable law or
+agreed to in writing, Licensor provides the Work (and each
+Contributor provides its Contributions) on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+implied, including, without limitation, any warranties or conditions
+of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+PARTICULAR PURPOSE. You are solely responsible for determining the
+appropriateness of using or redistributing the Work and assume any
+risks associated with Your exercise of permissions under this License.
+
+8. Limitation of Liability. In no event and under no legal theory,
+whether in tort (including negligence), contract, or otherwise,
+unless required by applicable law (such as deliberate and grossly
+negligent acts) or agreed to in writing, shall any Contributor be
+liable to You for damages, including any direct, indirect, special,
+incidental, or consequential damages of any character arising as a
+result of this License or out of the use or inability to use the
+Work (including but not limited to damages for loss of goodwill,
+work stoppage, computer failure or malfunction, or any and all
+other commercial damages or losses), even if such Contributor
+has been advised of the possibility of such damages.
+
+9. Accepting Warranty or Additional Liability. While redistributing
+the Work or Derivative Works thereof, You may choose to offer,
+and charge a fee for, acceptance of support, warranty, indemnity,
+or other liability obligations and/or rights consistent with this
+License. However, in accepting such obligations, You may act only
+on Your own behalf and on Your sole responsibility, not on behalf
+of any other Contributor, and only if You agree to indemnify,
+defend, and hold each Contributor harmless for any liability
+incurred by, or claims asserted against, such Contributor by reason
+of your accepting any such warranty or additional liability.
+
+END OF TERMS AND CONDITIONS
+
+
 ## JTAppleCalendar
 
 Copyright (c) 2016 JayT <[email protected]>
    at org.sonarsource.scanner.maven.bootstrap.ScannerBootstrapper.execute (ScannerBootstrapper.java:67)
    at org.sonarsource.scanner.maven.SonarQubeMojo.execute (SonarQubeMojo.java:108)
    at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo (DefaultBuildPluginManager.java:137)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:210)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:156)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:148)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:117)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:81)
    at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:56)
    at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:128)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:305)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:192)
    at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105)
    at org.apache.maven.cli.MavenCli.execute (MavenCli.java:957)
    at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:289)
    at org.apache.maven.cli.MavenCli.main (MavenCli.java:193)
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62)
    at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke (Method.java:566)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:282)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:225)
    at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:406)
    at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:347)
Caused by: org.sonar.api.utils.MessageException: SonarQube failed to complete the review of this commit: Unable to parse line:
AppDynamics is SOC 2 Type II compliant, meaning it has been inde
Full patch: 
AppDynamics is SOC 2 Type II compliant, meaning it has been inde
 AppDynamics Proprietary and Confidential * Revision 2017.06.14
 
 
+## JOSESwift
+
+Apache License
+Version 2.0, January 2004
+http://www.apache.org/licenses/
+
+TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+1. Definitions.
+
+"License" shall mean the terms and conditions for use, reproduction,
+and distribution as defined by Sections 1 through 9 of this document.
+
+"Licensor" shall mean the copyright owner or entity authorized by
+the copyright owner that is granting the License.
+
+"Legal Entity" shall mean the union of the acting entity and all
+other entities that control, are controlled by, or are under common
+control with that entity. For the purposes of this definition,
+"control" means (i) the power, direct or indirect, to cause the
+direction or management of such entity, whether by contract or
+otherwise, or (ii) ownership of fifty percent (50%) or more of the
+outstanding shares, or (iii) beneficial ownership of such entity.
+
+"You" (or "Your") shall mean an individual or Legal Entity
+exercising permissions granted by this License.
+
+"Source" form shall mean the preferred form for making modifications,
+including but not limited to software source code, documentation
+source, and configuration files.
+
+"Object" form shall mean any form resulting from mechanical
+transformation or translation of a Source form, including but
+not limited to compiled object code, generated documentation,
+and conversions to other media types.
+
+"Work" shall mean the work of authorship, whether in Source or
+Object form, made available under the License, as indicated by a
+copyright notice that is included in or attached to the work
+(an example is provided in the Appendix below).
+
+"Derivative Works" shall mean any work, whether in Source or Object
+form, that is based on (or derived from) the Work and for which the
+editorial revisions, annotations, elaborations, or other modifications
+represent, as a whole, an original work of authorship. For the purposes
+of this License, Derivative Works shall not include works that remain
+separable from, or merely link (or bind by name) to the interfaces of,
+the Work and Derivative Works thereof.
+
+"Contribution" shall mean any work of authorship, including
+the original version of the Work and any modifications or additions
+to that Work or Derivative Works thereof, that is intentionally
+submitted to Licensor for inclusion in the Work by the copyright owner
+or by an individual or Legal Entity authorized to submit on behalf of
+the copyright owner. For the purposes of this definition, "submitted"
+means any form of electronic, verbal, or written communication sent
+to the Licensor or its representatives, including but not limited to
+communication on electronic mailing lists, source code control systems,
+and issue tracking systems that are managed by, or on behalf of, the
+Licensor for the purpose of discussing and improving the Work, but
+excluding communication that is conspicuously marked or otherwise
+designated in writing by the copyright owner as "Not a Contribution."
+
+"Contributor" shall mean Licensor and any individual or Legal Entity
+on behalf of whom a Contribution has been received by Licensor and
+subsequently incorporated within the Work.
+
+2. Grant of Copyright License. Subject to the terms and conditions of
+this License, each Contributor hereby grants to You a perpetual,
+worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+copyright license to reproduce, prepare Derivative Works of,
+publicly display, publicly perform, sublicense, and distribute the
+Work and such Derivative Works in Source or Object form.
+
+3. Grant of Patent License. Subject to the terms and conditions of
+this License, each Contributor hereby grants to You a perpetual,
+worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+(except as stated in this section) patent license to make, have made,
+use, offer to sell, sell, import, and otherwise transfer the Work,
+where such license applies only to those patent claims licensable
+by such Contributor that are necessarily infringed by their
+Contribution(s) alone or by combination of their Contribution(s)
+with the Work to which such Contribution(s) was submitted. If You
+institute patent litigation against any entity (including a
+cross-claim or counterclaim in a lawsuit) alleging that the Work
+or a Contribution incorporated within the Work constitutes direct
+or contributory patent infringement, then any patent licenses
+granted to You under this License for that Work shall terminate
+as of the date such litigation is filed.
+
+4. Redistribution. You may reproduce and distribute copies of the
+Work or Derivative Works thereof in any medium, with or without
+modifications, and in Source or Object form, provided that You
+meet the following conditions:
+
+(a) You must give any other recipients of the Work or
+Derivative Works a copy of this License; and
+
+(b) You must cause any modified files to carry prominent notices
+stating that You changed the files; and
+
+(c) You must retain, in the Source form of any Derivative Works
+that You distribute, all copyright, patent, trademark, and
+attribution notices from the Source form of the Work,
+excluding those notices that do not pertain to any part of
+the Derivative Works; and
+
+(d) If the Work includes a "NOTICE" text file as part of its
+distribution, then any Derivative Works that You distribute must
+include a readable copy of the attribution notices contained
+within such NOTICE file, excluding those notices that do not
+pertain to any part of the Derivative Works, in at least one
+of the following places: within a NOTICE text file distributed
+as part of the Derivative Works; within the Source form or
+documentation, if provided along with the Derivative Works; or,
+within a display generated by the Derivative Works, if and
+wherever such third-party notices normally appear. The contents
+of the NOTICE file are for informational purposes only and
+do not modify the License. You may add Your own attribution
+notices within Derivative Works that You distribute, alongside
+or as an addendum to the NOTICE text from the Work, provided
+that such additional attribution notices cannot be construed
+as modifying the License.
+
+You may add Your own copyright statement to Your modifications and
+may provide additional or different license terms and conditions
+for use, reproduction, or distribution of Your modifications, or
+for any such Derivative Works as a whole, provided Your use,
+reproduction, and distribution of the Work otherwise complies with
+the conditions stated in this License.
+
+5. Submission of Contributions. Unless You explicitly state otherwise,
+any Contribution intentionally submitted for inclusion in the Work
+by You to the Licensor shall be under the terms and conditions of
+this License, without any additional terms or conditions.
+Notwithstanding the above, nothing herein shall supersede or modify
+the terms of any separate license agreement you may have executed
+with Licensor regarding such Contributions.
+
+6. Trademarks. This License does not grant permission to use the trade
+names, trademarks, service marks, or product names of the Licensor,
+except as required for reasonable and customary use in describing the
+origin of the Work and reproducing the content of the NOTICE file.
+
+7. Disclaimer of Warranty. Unless required by applicable law or
+agreed to in writing, Licensor provides the Work (and each
+Contributor provides its Contributions) on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+implied, including, without limitation, any warranties or conditions
+of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+PARTICULAR PURPOSE. You are solely responsible for determining the
+appropriateness of using or redistributing the Work and assume any
+risks associated with Your exercise of permissions under this License.
+
+8. Limitation of Liability. In no event and under no legal theory,
+whether in tort (including negligence), contract, or otherwise,
+unless required by applicable law (such as deliberate and grossly
+negligent acts) or agreed to in writing, shall any Contributor be
+liable to You for damages, including any direct, indirect, special,
+incidental, or consequential damages of any character arising as a
+result of this License or out of the use or inability to use the
+Work (including but not limited to damages for loss of goodwill,
+work stoppage, computer failure or malfunction, or any and all
+other commercial damages or losses), even if such Contributor
+has been advised of the possibility of such damages.
+
+9. Accepting Warranty or Additional Liability. While redistributing
+the Work or Derivative Works thereof, You may choose to offer,
+and charge a fee for, acceptance of support, warranty, indemnity,
+or other liability obligations and/or rights consistent with this
+License. However, in accepting such obligations, You may act only
+on Your own behalf and on Your sole responsibility, not on behalf
+of any other Contributor, and only if You agree to indemnify,
+defend, and hold each Contributor harmless for any liability
+incurred by, or claims asserted against, such Contributor by reason
+of your accepting any such warranty or additional liability.
+
+END OF TERMS AND CONDITIONS
+
+
 ## JTAppleCalendar
 
 Copyright (c) 2016 JayT <[email protected]>
Caused by: java.lang.IllegalStateException: Unable to parse line:
AppDynamics is SOC 2 Type II compliant, meaning it has been inde
Full patch: 
AppDynamics is SOC 2 Type II compliant, meaning it has been inde
 AppDynamics Proprietary and Confidential * Revision 2017.06.14
 
 
+## JOSESwift
+
+Apache License
+Version 2.0, January 2004
+http://www.apache.org/licenses/
+
+TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+1. Definitions.
+
+"License" shall mean the terms and conditions for use, reproduction,
+and distribution as defined by Sections 1 through 9 of this document.
+
+"Licensor" shall mean the copyright owner or entity authorized by
+the copyright owner that is granting the License.
+
+"Legal Entity" shall mean the union of the acting entity and all
+other entities that control, are controlled by, or are under common
+control with that entity. For the purposes of this definition,
+"control" means (i) the power, direct or indirect, to cause the
+direction or management of such entity, whether by contract or
+otherwise, or (ii) ownership of fifty percent (50%) or more of the
+outstanding shares, or (iii) beneficial ownership of such entity.
+
+"You" (or "Your") shall mean an individual or Legal Entity
+exercising permissions granted by this License.
+
+"Source" form shall mean the preferred form for making modifications,
+including but not limited to software source code, documentation
+source, and configuration files.
+
+"Object" form shall mean any form resulting from mechanical
+transformation or translation of a Source form, including but
+not limited to compiled object code, generated documentation,
+and conversions to other media types.
+
+"Work" shall mean the work of authorship, whether in Source or
+Object form, made available under the License, as indicated by a
+copyright notice that is included in or attached to the work
+(an example is provided in the Appendix below).
+
+"Derivative Works" shall mean any work, whether in Source or Object
+form, that is based on (or derived from) the Work and for which the
+editorial revisions, annotations, elaborations, or other modifications
+represent, as a whole, an original work of authorship. For the purposes
+of this License, Derivative Works shall not include works that remain
+separable from, or merely link (or bind by name) to the interfaces of,
+the Work and Derivative Works thereof.
+
+"Contribution" shall mean any work of authorship, including
+the original version of the Work and any modifications or additions
+to that Work or Derivative Works thereof, that is intentionally
+submitted to Licensor for inclusion in the Work by the copyright owner
+or by an individual or Legal Entity authorized to submit on behalf of
+the copyright owner. For the purposes of this definition, "submitted"
+means any form of electronic, verbal, or written communication sent
+to the Licensor or its representatives, including but not limited to
+communication on electronic mailing lists, source code control systems,
+and issue tracking systems that are managed by, or on behalf of, the
+Licensor for the purpose of discussing and improving the Work, but
+excluding communication that is conspicuously marked or otherwise
+designated in writing by the copyright owner as "Not a Contribution."
+
+"Contributor" shall mean Licensor and any individual or Legal Entity
+on behalf of whom a Contribution has been received by Licensor and
+subsequently incorporated within the Work.
+
+2. Grant of Copyright License. Subject to the terms and conditions of
+this License, each Contributor hereby grants to You a perpetual,
+worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+copyright license to reproduce, prepare Derivative Works of,
+publicly display, publicly perform, sublicense, and distribute the
+Work and such Derivative Works in Source or Object form.
+
+3. Grant of Patent License. Subject to the terms and conditions of
+this License, each Contributor hereby grants to You a perpetual,
+worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+(except as stated in this section) patent license to make, have made,
+use, offer to sell, sell, import, and otherwise transfer the Work,
+where such license applies only to those patent claims licensable
+by such Contributor that are necessarily infringed by their
+Contribution(s) alone or by combination of their Contribution(s)
+with the Work to which such Contribution(s) was submitted. If You
+institute patent litigation against any entity (including a
+cross-claim or counterclaim in a lawsuit) alleging that the Work
+or a Contribution incorporated within the Work constitutes direct
+or contributory patent infringement, then any patent licenses
+granted to You under this License for that Work shall terminate
+as of the date such litigation is filed.
+
+4. Redistribution. You may reproduce and distribute copies of the
+Work or Derivative Works thereof in any medium, with or without
+modifications, and in Source or Object form, provided that You
+meet the following conditions:
+
+(a) You must give any other recipients of the Work or
+Derivative Works a copy of this License; and
+
+(b) You must cause any modified files to carry prominent notices
+stating that You changed the files; and
+
+(c) You must retain, in the Source form of any Derivative Works
+that You distribute, all copyright, patent, trademark, and
+attribution notices from the Source form of the Work,
+excluding those notices that do not pertain to any part of
+the Derivative Works; and
+
+(d) If the Work includes a "NOTICE" text file as part of its
+distribution, then any Derivative Works that You distribute must
+include a readable copy of the attribution notices contained
+within such NOTICE file, excluding those notices that do not
+pertain to any part of the Derivative Works, in at least one
+of the following places: within a NOTICE text file distributed
+as part of the Derivative Works; within the Source form or
+documentation, if provided along with the Derivative Works; or,
+within a display generated by the Derivative Works, if and
+wherever such third-party notices normally appear. The contents
+of the NOTICE file are for informational purposes only and
+do not modify the License. You may add Your own attribution
+notices within Derivative Works that You distribute, alongside
+or as an addendum to the NOTICE text from the Work, provided
+that such additional attribution notices cannot be construed
+as modifying the License.
+
+You may add Your own copyright statement to Your modifications and
+may provide additional or different license terms and conditions
+for use, reproduction, or distribution of Your modifications, or
+for any such Derivative Works as a whole, provided Your use,
+reproduction, and distribution of the Work otherwise complies with
+the conditions stated in this License.
+
+5. Submission of Contributions. Unless You explicitly state otherwise,
+any Contribution intentionally submitted for inclusion in the Work
+by You to the Licensor shall be under the terms and conditions of
+this License, without any additional terms or conditions.
+Notwithstanding the above, nothing herein shall supersede or modify
+the terms of any separate license agreement you may have executed
+with Licensor regarding such Contributions.
+
+6. Trademarks. This License does not grant permission to use the trade
+names, trademarks, service marks, or product names of the Licensor,
+except as required for reasonable and customary use in describing the
+origin of the Work and reproducing the content of the NOTICE file.
+
+7. Disclaimer of Warranty. Unless required by applicable law or
+agreed to in writing, Licensor provides the Work (and each
+Contributor provides its Contributions) on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+implied, including, without limitation, any warranties or conditions
+of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+PARTICULAR PURPOSE. You are solely responsible for determining the
+appropriateness of using or redistributing the Work and assume any
+risks associated with Your exercise of permissions under this License.
+
+8. Limitation of Liability. In no event and under no legal theory,
+whether in tort (including negligence), contract, or otherwise,
+unless required by applicable law (such as deliberate and grossly
+negligent acts) or agreed to in writing, shall any Contributor be
+liable to You for damages, including any direct, indirect, special,
+incidental, or consequential damages of any character arising as a
+result of this License or out of the use or inability to use the
+Work (including but not limited to damages for loss of goodwill,
+work stoppage, computer failure or malfunction, or any and all
+other commercial damages or losses), even if such Contributor
+has been advised of the possibility of such damages.
+
+9. Accepting Warranty or Additional Liability. While redistributing
+the Work or Derivative Works thereof, You may choose to offer,
+and charge a fee for, acceptance of support, warranty, indemnity,
+or other liability obligations and/or rights consistent with this
+License. However, in accepting such obligations, You may act only
+on Your own behalf and on Your sole responsibility, not on behalf
+of any other Contributor, and only if You agree to indemnify,
+defend, and hold each Contributor harmless for any liability
+incurred by, or claims asserted against, such Contributor by reason
+of your accepting any such warranty or additional liability.
+
+END OF TERMS AND CONDITIONS
+
+
 ## JTAppleCalendar
 
 Copyright (c) 2016 JayT <[email protected]>
    at com.talanlabs.sonar.plugins.gitlab.PatchUtils.getPositionsFromPatch (PatchUtils.java:44)
    at com.talanlabs.sonar.plugins.gitlab.GitLabApiV4Wrapper.lambda$getPatchPositionsToLineMapping$2 (GitLabApiV4Wrapper.java:177)
    at java.util.stream.Collectors.lambda$uniqKeysMapAccumulator$1 (Collectors.java:178)
    at java.util.stream.ReduceOps$3ReducingSink.accept (ReduceOps.java:169)
    at java.util.ArrayList$ArrayListSpliterator.forEachRemaining (ArrayList.java:1655)
    at java.util.stream.AbstractPipeline.copyInto (AbstractPipeline.java:484)
    at java.util.stream.AbstractPipeline.wrapAndCopyInto (AbstractPipeline.java:474)
    at java.util.stream.ReduceOps$ReduceOp.evaluateSequential (ReduceOps.java:913)
    at java.util.stream.AbstractPipeline.evaluate (AbstractPipeline.java:234)
    at java.util.stream.ReferencePipeline.collect (ReferencePipeline.java:578)
    at com.talanlabs.sonar.plugins.gitlab.GitLabApiV4Wrapper.getPatchPositionsToLineMapping (GitLabApiV4Wrapper.java:177)
    at com.talanlabs.sonar.plugins.gitlab.GitLabApiV4Wrapper.init (GitLabApiV4Wrapper.java:76)
    at com.talanlabs.sonar.plugins.gitlab.CommitFacade.init (CommitFacade.java:83)
    at com.talanlabs.sonar.plugins.gitlab.CommitPublishPostJob.execute (CommitPublishPostJob.java:88)
    at org.sonar.scanner.postjob.PostJobWrapper.execute (PostJobWrapper.java:49)
    at org.sonar.scanner.postjob.PostJobsExecutor.execute (PostJobsExecutor.java:48)
    at org.sonar.scanner.postjob.PostJobsExecutor.execute (PostJobsExecutor.java:39)
    at org.sonar.scanner.scan.ProjectScanContainer.doAfterStart (ProjectScanContainer.java:372)
    at org.sonar.core.platform.ComponentContainer.startComponents (ComponentContainer.java:137)
    at org.sonar.core.platform.ComponentContainer.execute (ComponentContainer.java:123)
    at org.sonar.scanner.bootstrap.GlobalContainer.doAfterStart (GlobalContainer.java:150)
    at org.sonar.core.platform.ComponentContainer.startComponents (ComponentContainer.java:137)
    at org.sonar.core.platform.ComponentContainer.execute (ComponentContainer.java:123)
    at org.sonar.batch.bootstrapper.Batch.doExecute (Batch.java:72)
    at org.sonar.batch.bootstrapper.Batch.execute (Batch.java:66)
    at org.sonarsource.scanner.api.internal.batch.BatchIsolatedLauncher.execute (BatchIsolatedLauncher.java:46)
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62)
    at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke (Method.java:566)
    at org.sonarsource.scanner.api.internal.IsolatedLauncherProxy.invoke (IsolatedLauncherProxy.java:60)
    at com.sun.proxy.$Proxy160.execute (Unknown Source)
    at org.sonarsource.scanner.api.EmbeddedScanner.doExecute (EmbeddedScanner.java:189)
    at org.sonarsource.scanner.api.EmbeddedScanner.execute (EmbeddedScanner.java:138)
    at org.sonarsource.scanner.maven.bootstrap.ScannerBootstrapper.execute (ScannerBootstrapper.java:65)
    at org.sonarsource.scanner.maven.SonarQubeMojo.execute (SonarQubeMojo.java:108)
    at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo (DefaultBuildPluginManager.java:137)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:210)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:156)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:148)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:117)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:81)
    at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:56)
    at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:128)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:305)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:192)
    at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105)
    at org.apache.maven.cli.MavenCli.execute (MavenCli.java:957)
    at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:289)
    at org.apache.maven.cli.MavenCli.main (MavenCli.java:193)
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62)
    at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke (Method.java:566)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:282)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:225)
    at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:406)
    at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:347)
162760 [ERROR] 
162760 [ERROR] Re-run Maven using the -X switch to enable full debug logging.
162760 [ERROR] 
162760 [ERROR] For more information about the errors and possible solutions, please read the following articles:
162761 [ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException

[Question] List closed issues in Analysis Details

Asking this question here, as I could not find any tangible information in the existing documentation and templates.

I am trying to figure out whether it is possible to list, or at least count the number of issues which will be closed by a MR compared to previous analysis via a given template. Additionally, is it possible in a template to distinguish between newly detected issues and issues which already existed previously in changed code?

It would be great if this was a possibility, to track reduction in existing issues.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.