ASF Bugzilla – Attachment 34532 Details for
Bug 60494
Add sonar analysis to build
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
Add a sonar task to build
sonar.diff (text/plain), 9.57 KB, created by
Felix Schumacher
on 2016-12-18 10:14:07 UTC
(
hide
)
Description:
Add a sonar task to build
Filename:
MIME Type:
Creator:
Felix Schumacher
Created:
2016-12-18 10:14:07 UTC
Size:
9.57 KB
patch
obsolete
>diff --git a/build.properties b/build.properties >index a9f2c7f..005c990 100644 >--- a/build.properties >+++ b/build.properties >@@ -284,6 +284,11 @@ slf4j-api.jar = slf4j-api-${slf4j-api.version}.jar > slf4j-api.loc = ${maven2.repo}/org/slf4j/slf4j-api/${slf4j-api.version} > slf4j-api.md5 = c9be56284a92dcb2576679282eff80bf > >+sonarqube-ant-task.version = 2.5 >+sonarqube-ant-task.jar = sonarqube-ant-task-${sonarqube-ant-task.version}.jar >+sonarqube-ant-task.loc = ${maven2.repo}/org/sonarsource/scanner/ant/sonarqube-ant-task/${sonarqube-ant-task.version} >+sonarqube-ant-task.md5 = 0458ef676194411fcccad3bdec8b22c9 >+ > jtidy.version = r938 > jtidy.jar = jtidy-${jtidy.version}.jar > jtidy.loc = ${maven2.repo}/net/sf/jtidy/jtidy/${jtidy.version} >@@ -398,4 +403,4 @@ rat-tasks.md5 = 96b699581b4475ed5756a0c24af745e8 > jacocoant.version = 0.7.7.201606060606 > jacocoant.jar = org.jacoco.ant-${jacocoant.version}-nodeps.jar > jacocoant.loc = ${maven2.repo}/org/jacoco/org.jacoco.ant/${jacocoant.version} >-jacocoant.md5 = fc093f67abf5bafb782d2eafa2f5815e >\ No newline at end of file >+jacocoant.md5 = fc093f67abf5bafb782d2eafa2f5815e >diff --git a/build.xml b/build.xml >index 3a7408a..69883d6 100644 >--- a/build.xml >+++ b/build.xml >@@ -134,6 +134,7 @@ > reportlevel="${findbugs.level}" > excludeFilter="fb-excludes.xml" > jvmargs="-Xms512m -Xmx512m" >+ omitVisitors="InefficientStringBuffering" > outputFile="${findbugs.outName}.xml" > > <sourcePath path="${src.core}" /> > <sourcePath path="${src.http}" /> >@@ -2804,6 +2805,42 @@ run JMeter unless all the JMeter jars are added. > </junit> > </target> > >+ <target name="complete-junit" depends="compile-tests" >+ description="Run individual JUnit test (-Dtest.case=org.apache.jorphan.test.AllTests) (-Dtest.format=plain) (-Dtest.showoutput=true)" >+ xmlns:jacoco="antlib:org.jacoco.ant"> >+ <mkdir dir="reports"/> >+ <property name="test.format" value="plain"/> >+ <property name="test.case" value="org.apache.jorphan.test.AllTests"/> >+ <property name="test.showoutput" value="false"/> >+ <taskdef uri="antlib:org.jacoco.ant" resource="org/jacoco/ant/antlib.xml"> >+ <classpath refid="sonar.classpath" /> >+ </taskdef> >+ <jacoco:coverage destfile="reports/jacoco.exec"> >+ <junit fork="true" >+ dir="${basedir}/bin" >+ showoutput="${test.showoutput}" >+ printsummary="on"> >+ <formatter type="${test.format}" usefile="yes"/> >+ <formatter type="xml"/> >+ <jvmarg value="-Dfile.encoding=${test.encoding}"/> >+ <!-- Allow headless to be passed in --> >+ <jvmarg value="-Djava.awt.headless=${java.awt.headless}"/> >+ <classpath> >+ <fileset dir="${dest.jar}" includes="*.jar"/> >+ <pathelement location="${build.test}"/> >+ <pathelement location="${build.test-res}"/> >+ <path refid="classpath"/> >+ </classpath> >+ <batchtest todir="reports" skipNonTests="true"> >+ <fileset dir="${src.test}"> >+ <include name="**/*Test*.java" /> >+ <exclude name="**/AllTests.java" /> >+ </fileset> >+ </batchtest> >+ </junit> >+ </jacoco:coverage> >+ </target> >+ > <!-- Utility target to collate reports --> > <target name="junitreport"> > <mkdir dir="reports"/> >@@ -3029,6 +3066,7 @@ run JMeter unless all the JMeter jars are added. > <process_jarfile jarname="xpp3"/> > <process_jarfile jarname="xstream"/> > <process_jarfile jarname="jacocoant" dest.dir="${lib.coverage}" /> >+ <process_jarfile jarname="sonarqube-ant-task" dest.dir="${lib.coverage}" /> > </target> > > <target name="_process_doc_jars"> >@@ -3324,4 +3362,90 @@ run JMeter unless all the JMeter jars are added. > <fileset dir="${maven.dir}" includes="*.*" excludes="*.asc *.md5 *.sha1 *.sha"/> > </gpg> > </target> >+ >+ <path id="sonar.classpath"> >+ <fileset dir="./lib/opt" includes="**/*.jar" /> >+ </path> >+ >+ <taskdef uri="antlib:org.sonar.ant" resource="org/sonar/ant/antlib.xml"> >+ <classpath refid="sonar.classpath" /> >+ </taskdef> >+ >+ <property name="sonar.organizationName" value="Apache" /> >+ <property name="sonar.projectName" value="JMeter" /> >+ >+ <property name="sonar.projectKey" value="${sonar.organizationName}:${sonar.projectName}" /> >+ <property name="sonar.projectVersion" value="${jmeter.version}" /> >+ <property name="sonar.language" value="java" /> >+ <property name="sonar.modules" value="core,http,ftp,java,jdbc,ldap,mail,components,functions,jorphan,tcp,jms,native" /> >+ <property name="sonar.java.binaries" value="${build.core},${build.http},${build.core},${build.http},${build.ftp},${build.java},${build.jdbc},${build.ldap},${build.mail},${build.components},${build.functions},${build.jorphan},${build.tcp},${build.jms},${build.native}" /> >+ <property name="sonar.java.libraries" value="lib,lib/opt" /> >+ >+ <property name="sonar.junit.reportsPath" value="reports" /> >+ <property name="sonar.jacoco.reportPath" value="reports/jacoco.exec" /> >+ >+ <property name="core.sonar.projectName" value="core" /> >+ <property name="core.sonar.sources" value="${src.core}" /> >+ <property name="core.sonar.projectBaseDir" value="./" /> >+ <property name="http.sonar.projectName" value="http" /> >+ <property name="http.sonar.sources" value="${src.http}" /> >+ <property name="http.sonar.projectBaseDir" value="./" /> >+ <property name="ftp.sonar.projectName" value="ftp" /> >+ <property name="ftp.sonar.sources" value="${src.ftp}" /> >+ <property name="ftp.sonar.projectBaseDir" value="./" /> >+ <property name="java.sonar.projectName" value="java" /> >+ <property name="java.sonar.sources" value="${src.java}" /> >+ <property name="java.sonar.projectBaseDir" value="./" /> >+ <property name="jdbc.sonar.projectName" value="jdbc" /> >+ <property name="jdbc.sonar.sources" value="${src.jdbc}" /> >+ <property name="jdbc.sonar.projectBaseDir" value="./" /> >+ <property name="ldap.sonar.projectName" value="ldap" /> >+ <property name="ldap.sonar.sources" value="${src.ldap}" /> >+ <property name="ldap.sonar.projectBaseDir" value="./" /> >+ <property name="mail.sonar.projectName" value="mail" /> >+ <property name="mail.sonar.sources" value="${src.mail}" /> >+ <property name="mail.sonar.projectBaseDir" value="./" /> >+ <property name="components.sonar.projectName" value="components" /> >+ <property name="components.sonar.sources" value="${src.components}" /> >+ <property name="components.sonar.projectBaseDir" value="./" /> >+ <property name="functions.sonar.projectName" value="functions" /> >+ <property name="functions.sonar.sources" value="${src.functions}" /> >+ <property name="functions.sonar.projectBaseDir" value="./" /> >+ <property name="jorphan.sonar.projectName" value="jorphan" /> >+ <property name="jorphan.sonar.sources" value="${src.jorphan}" /> >+ <property name="jorphan.sonar.projectBaseDir" value="./" /> >+ <property name="tcp.sonar.projectName" value="tcp" /> >+ <property name="tcp.sonar.sources" value="${src.tcp}" /> >+ <property name="tcp.sonar.projectBaseDir" value="./" /> >+ <property name="jms.sonar.projectName" value="jms" /> >+ <property name="jms.sonar.sources" value="${src.jms}" /> >+ <property name="jms.sonar.projectBaseDir" value="./" /> >+ <property name="native.sonar.projectName" value="native" /> >+ <property name="native.sonar.sources" value="${src.native}" /> >+ <property name="native.sonar.projectBaseDir" value="./" /> >+ >+ <target name="sonar" depends="compile, install, complete-junit"> >+ <property environment="env" /> >+ <condition property="sonar.host.url" value="${env.SONAR_HOST_URL}" else="http://localhost:9000"> >+ <isset property="env.SONAR_HOST_URL" /> >+ </condition> >+ <condition property="sonar.login" value="${env.SONAR_LOGIN}"> >+ <isset property="env.SONAR_LOGIN" /> >+ </condition> >+ <condition property="sonar.password" value="${env.SONAR_PASSWORD}"> >+ <isset property="env.SONAR_PASSWORD" /> >+ </condition> >+ <condition property="sonar.jdbc.url" value="${env.SONAR_JDBC_URL}"> >+ <isset property="env.SONAR_JDBC_URL" /> >+ </condition> >+ <condition property="sonar.jdbc.username" value="${env.SONAR_JDBC_USERNAME}"> >+ <isset property="env.SONAR_JDBC_USERNAME" /> >+ </condition> >+ <condition property="sonar.jdbc.password" value="${env.SONAR_JDBC_PASSWORD}"> >+ <isset property="env.SONAR_JDBC_PASSWORD" /> >+ </condition> >+ <sonar:sonar xmlns:sonar="antlib:org.sonar.ant"> >+ </sonar:sonar> >+ </target> >+ > </project> >diff --git a/extras/proxycert.sh b/extras/proxycert.sh >old mode 100644 >new mode 100755 >diff --git a/test/src/org/apache/jmeter/JMeterVersionTest.java b/test/src/org/apache/jmeter/JMeterVersionTest.java >index 01a8a18..2fca418 100644 >--- a/test/src/org/apache/jmeter/JMeterVersionTest.java >+++ b/test/src/org/apache/jmeter/JMeterVersionTest.java >@@ -115,9 +115,11 @@ public class JMeterVersionTest extends JMeterTestCase { > versions.remove("rat"); > propNames.remove("rat-tasks"); > versions.remove("rat-tasks"); >- // remove optional jacoco jars (required for coverage reporting, not required for jmeter) >- propNames.remove("jacocoant"); >- versions.remove("jacocoant"); >+ // remove optional jacoco and sonar jars (required for coverage reporting, not required for jmeter) >+ for (String optLib : Arrays.asList("jacocoant", "sonarqube-ant-task")) { >+ propNames.remove(optLib); >+ versions.remove(optLib); >+ } > prop = buildProp; > final File licencesDir = getFileFromHome("licenses/bin"); > licencesDir.list(new FilenameFilter() {
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 60494
:
34532
|
34533