You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

pom.xml 51KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
  3. <modelVersion>4.0.0</modelVersion>
  4. <parent>
  5. <groupId>org.sonarsource.parent</groupId>
  6. <artifactId>parent</artifactId>
  7. <version>26</version>
  8. </parent>
  9. <groupId>org.sonarsource.sonarqube</groupId>
  10. <artifactId>sonarqube</artifactId>
  11. <packaging>pom</packaging>
  12. <version>5.4-SNAPSHOT</version>
  13. <name>SonarQube</name>
  14. <url>http://www.sonarqube.org/</url>
  15. <description>Open source platform for continuous inspection of code quality</description>
  16. <modules>
  17. <module>sonar-plugin-api-deps</module>
  18. <module>sonar-application</module>
  19. <module>sonar-batch</module>
  20. <module>sonar-batch-protocol</module>
  21. <module>sonar-batch-shaded</module>
  22. <module>sonar-check-api</module>
  23. <module>sonar-colorizer</module>
  24. <module>sonar-core</module>
  25. <module>sonar-db</module>
  26. <module>sonar-duplications</module>
  27. <module>sonar-home</module>
  28. <module>sonar-markdown</module>
  29. <module>sonar-plugin-api</module>
  30. <module>server</module>
  31. <module>sonar-ws</module>
  32. <module>sonar-testing-harness</module>
  33. <module>plugins/sonar-xoo-plugin</module>
  34. </modules>
  35. <organization>
  36. <name>SonarSource</name>
  37. <url>http://www.sonarsource.com</url>
  38. </organization>
  39. <inceptionYear>2009</inceptionYear>
  40. <issueManagement>
  41. <system>jira</system>
  42. <url>http://jira.sonarsource.com/browse/SONAR</url>
  43. </issueManagement>
  44. <distributionManagement>
  45. <repository>
  46. <id>bintray</id>
  47. <url>https://api.bintray.com/maven/sonarsource/SonarQube/${project.groupId}/;publish=1</url>
  48. </repository>
  49. </distributionManagement>
  50. <properties>
  51. <sonarUpdateCenter.version>1.13</sonarUpdateCenter.version>
  52. <sonarJava.version>3.7.1</sonarJava.version>
  53. <sonarGit.version>1.0</sonarGit.version>
  54. <sonarSvn.version>1.2</sonarSvn.version>
  55. <h2.version>1.3.176</h2.version>
  56. <jetty.version>8.1.12.v20130726</jetty.version>
  57. <logback.version>1.1.3</logback.version>
  58. <slf4j.version>1.7.12</slf4j.version>
  59. <tomcat.version>8.0.18</tomcat.version>
  60. <elasticsearch.version>1.7.2</elasticsearch.version>
  61. <okhttp.version>2.6.0</okhttp.version>
  62. <protobuf.version>3.0.0-beta-1</protobuf.version>
  63. <protobuf.compiler>${settings.localRepository}/com/google/protobuf/protoc/${protobuf.version}/protoc-${protobuf.version}-${os.detected.classifier}.exe</protobuf.compiler>
  64. <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  65. <maven.min.version>3.2</maven.min.version>
  66. <jdk.min.version>1.7</jdk.min.version>
  67. <timestamp>${maven.build.timestamp}</timestamp>
  68. <maven.build.timestamp.format>yyyy-MM-dd'T'HH:mm:ssZ</maven.build.timestamp.format>
  69. <skipBatchTests>false</skipBatchTests>
  70. <skipServerTests>false</skipServerTests>
  71. <version.maven-license.plugin>1.9.0</version.maven-license.plugin>
  72. <skipSanityChecks>false</skipSanityChecks>
  73. <argLine>-Xmx512m -Djava.awt.headless=true -XX:MaxPermSize=160m</argLine>
  74. <maven.test.redirectTestOutputToFile>true</maven.test.redirectTestOutputToFile>
  75. </properties>
  76. <build>
  77. <extensions>
  78. <extension>
  79. <groupId>org.apache.maven.wagon</groupId>
  80. <artifactId>wagon-webdav</artifactId>
  81. <version>1.0-beta-2</version>
  82. </extension>
  83. <extension>
  84. <groupId>kr.motd.maven</groupId>
  85. <artifactId>os-maven-plugin</artifactId>
  86. <version>1.4.1.Final</version>
  87. </extension>
  88. </extensions>
  89. <pluginManagement>
  90. <!-- Plugins ordered by shortname (assembly, antrun ...) -->
  91. <plugins>
  92. <plugin>
  93. <groupId>com.github.eirslett</groupId>
  94. <artifactId>frontend-maven-plugin</artifactId>
  95. <version>0.0.26</version>
  96. </plugin>
  97. <plugin>
  98. <groupId>org.apache.maven.plugins</groupId>
  99. <artifactId>maven-antrun-plugin</artifactId>
  100. <version>1.7</version>
  101. </plugin>
  102. <plugin>
  103. <groupId>org.apache.maven.plugins</groupId>
  104. <artifactId>maven-assembly-plugin</artifactId>
  105. <version>2.4</version>
  106. <configuration>
  107. <archiverConfig>
  108. <!-- Workaround for http://jira.codehaus.org/browse/MASSEMBLY-422 -->
  109. <!-- 420(dec) = 644(oct) -->
  110. <fileMode>420</fileMode>
  111. <!-- 493(dec) = 755(oct) -->
  112. <directoryMode>493</directoryMode>
  113. <defaultDirectoryMode>493</defaultDirectoryMode>
  114. </archiverConfig>
  115. </configuration>
  116. </plugin>
  117. <plugin>
  118. <groupId>org.codehaus.mojo</groupId>
  119. <artifactId>build-helper-maven-plugin</artifactId>
  120. <version>1.9.1</version>
  121. </plugin>
  122. <plugin>
  123. <groupId>org.apache.maven.plugins</groupId>
  124. <artifactId>maven-dependency-plugin</artifactId>
  125. <version>2.10</version>
  126. </plugin>
  127. <plugin>
  128. <groupId>org.apache.maven.plugins</groupId>
  129. <artifactId>maven-enforcer-plugin</artifactId>
  130. <version>1.4</version>
  131. </plugin>
  132. <plugin>
  133. <groupId>org.apache.maven.plugins</groupId>
  134. <artifactId>maven-failsafe-plugin</artifactId>
  135. <version>2.18.1</version>
  136. </plugin>
  137. <plugin>
  138. <groupId>org.apache.maven.plugins</groupId>
  139. <artifactId>maven-gpg-plugin</artifactId>
  140. <version>1.6</version>
  141. </plugin>
  142. <plugin>
  143. <groupId>org.jacoco</groupId>
  144. <artifactId>jacoco-maven-plugin</artifactId>
  145. <version>0.7.5.201505241946</version>
  146. <configuration>
  147. <excludes>
  148. <exclude>*_javassist_*</exclude>
  149. </excludes>
  150. <includes>
  151. <include>org.sonar.*</include>
  152. <include>org.sonarqube.*</include>
  153. </includes>
  154. </configuration>
  155. </plugin>
  156. <plugin>
  157. <groupId>org.apache.maven.plugins</groupId>
  158. <artifactId>maven-javadoc-plugin</artifactId>
  159. <version>2.10.1</version>
  160. <configuration>
  161. <author>false</author>
  162. <linksource>true</linksource>
  163. </configuration>
  164. </plugin>
  165. <plugin>
  166. <groupId>org.apache.maven.plugins</groupId>
  167. <artifactId>maven-jxr-plugin</artifactId>
  168. <version>2.5</version>
  169. </plugin>
  170. <plugin>
  171. <groupId>org.apache.maven.plugins</groupId>
  172. <artifactId>maven-plugin-plugin</artifactId>
  173. <version>3.3</version>
  174. </plugin>
  175. <plugin>
  176. <groupId>org.apache.maven.plugins</groupId>
  177. <artifactId>maven-release-plugin</artifactId>
  178. <version>2.5.2</version>
  179. </plugin>
  180. <plugin>
  181. <groupId>org.apache.maven.plugins</groupId>
  182. <artifactId>maven-resources-plugin</artifactId>
  183. <version>2.7</version>
  184. </plugin>
  185. <plugin>
  186. <groupId>org.apache.maven.plugins</groupId>
  187. <artifactId>maven-shade-plugin</artifactId>
  188. <version>2.3</version>
  189. </plugin>
  190. <plugin>
  191. <groupId>org.apache.maven.plugins</groupId>
  192. <artifactId>maven-site-plugin</artifactId>
  193. <version>3.4</version>
  194. </plugin>
  195. <plugin>
  196. <groupId>org.apache.maven.plugins</groupId>
  197. <artifactId>maven-source-plugin</artifactId>
  198. <version>2.4</version>
  199. </plugin>
  200. <plugin>
  201. <groupId>org.apache.maven.plugins</groupId>
  202. <artifactId>maven-surefire-plugin</artifactId>
  203. <version>2.18.1</version>
  204. </plugin>
  205. <plugin>
  206. <groupId>org.apache.maven.plugins</groupId>
  207. <artifactId>maven-war-plugin</artifactId>
  208. <version>2.6</version>
  209. </plugin>
  210. <plugin>
  211. <!-- not thread safe -->
  212. <groupId>org.codehaus.sonar</groupId>
  213. <artifactId>sonar-dev-maven-plugin</artifactId>
  214. <version>1.8</version>
  215. </plugin>
  216. <plugin>
  217. <groupId>org.sonarsource.sonar-packaging-maven-plugin</groupId>
  218. <artifactId>sonar-packaging-maven-plugin</artifactId>
  219. <version>1.15</version>
  220. </plugin>
  221. <plugin>
  222. <!-- declared to avoid enforcer error during SQ analysis when Clirr plugin installed -->
  223. <groupId>org.codehaus.mojo</groupId>
  224. <artifactId>clirr-maven-plugin</artifactId>
  225. <version>2.6.1</version>
  226. </plugin>
  227. <plugin>
  228. <groupId>org.owasp</groupId>
  229. <artifactId>dependency-check-maven</artifactId>
  230. <version>1.2.11</version>
  231. <configuration>
  232. <failBuildOnCVSS>8</failBuildOnCVSS>
  233. <suppressionFile>cve-false-positives.xml</suppressionFile>
  234. </configuration>
  235. </plugin>
  236. <plugin>
  237. <!--
  238. Detection of conflicts in classpath.
  239. Command line is: mvn org.basepom.maven:duplicate-finder-maven-plugin:check
  240. See https://github.com/basepom/duplicate-finder-maven-plugin
  241. -->
  242. <groupId>org.basepom.maven</groupId>
  243. <artifactId>duplicate-finder-maven-plugin</artifactId>
  244. <version>1.1.1</version>
  245. <configuration>
  246. <printEqualFiles>true</printEqualFiles>
  247. <!--
  248. <failBuildInCaseOfDifferentContentConflict>true</failBuildInCaseOfDifferentContentConflict>
  249. <failBuildInCaseOfEqualContentConflict>true</failBuildInCaseOfEqualContentConflict>
  250. <failBuildInCaseOfConflict>true</failBuildInCaseOfConflict>
  251. -->
  252. <checkCompileClasspath>true</checkCompileClasspath>
  253. <checkRuntimeClasspath>true</checkRuntimeClasspath>
  254. <checkTestClasspath>false</checkTestClasspath>
  255. </configuration>
  256. </plugin>
  257. </plugins>
  258. </pluginManagement>
  259. <plugins>
  260. <plugin>
  261. <groupId>org.apache.maven.plugins</groupId>
  262. <artifactId>maven-enforcer-plugin</artifactId>
  263. <executions>
  264. <execution>
  265. <id>enforce-rules</id>
  266. <goals>
  267. <goal>enforce</goal>
  268. </goals>
  269. <configuration>
  270. <rules>
  271. <requirePluginVersions>
  272. <message>Build reproducibility : always define plugin versions</message>
  273. <banLatest>true</banLatest>
  274. <banRelease>true</banRelease>
  275. <phases>clean,deploy</phases>
  276. </requirePluginVersions>
  277. <requireReleaseDeps>
  278. <message>No SNAPSHOT versions allowed for dependencies</message>
  279. <onlyWhenRelease>true</onlyWhenRelease>
  280. </requireReleaseDeps>
  281. <requireJavaVersion>
  282. <message>To build this project JDK ${jdk.min.version} (or upper) is required. Please install it.
  283. </message>
  284. <version>${jdk.min.version}</version>
  285. </requireJavaVersion>
  286. <requireMavenVersion>
  287. <version>[${maven.min.version},)</version>
  288. </requireMavenVersion>
  289. <bannedDependencies>
  290. <!-- See SONAR-2512 -->
  291. <message>commons-beanutils:commons-beanutils should be used instead</message>
  292. <excludes>
  293. <exclude>commons-beanutils:commons-beanutils-core</exclude>
  294. </excludes>
  295. <searchTransitive>true</searchTransitive>
  296. </bannedDependencies>
  297. <requireNoRepositories>
  298. <message>Definition of new repositories is not allowed in order to deploy to central repository.
  299. </message>
  300. </requireNoRepositories>
  301. </rules>
  302. </configuration>
  303. </execution>
  304. </executions>
  305. </plugin>
  306. <!--
  307. Choosing a random timezone when executing tests allows to detect
  308. early the tests that are coupled with local environment.
  309. -->
  310. <plugin>
  311. <groupId>com.github.genthaler</groupId>
  312. <artifactId>beanshell-maven-plugin</artifactId>
  313. <version>1.0</version>
  314. <executions>
  315. <execution>
  316. <id>randomize-environment</id>
  317. <phase>validate</phase>
  318. <goals>
  319. <goal>run</goal>
  320. </goals>
  321. <configuration>
  322. <script>
  323. <![CDATA[
  324. String[] timezones = new String[] {"GMT-9", "UTC", "GMT+9"};
  325. String testTimezone = timezones[new java.util.Random().nextInt(timezones.length)];
  326. project.getProperties().setProperty("testTimezone", testTimezone);
  327. logger.info("Timezone used for tests: " + testTimezone);
  328. ]]>
  329. </script>
  330. </configuration>
  331. </execution>
  332. </executions>
  333. </plugin>
  334. <plugin>
  335. <groupId>org.apache.maven.plugins</groupId>
  336. <artifactId>maven-jxr-plugin</artifactId>
  337. <configuration>
  338. <aggregate>true</aggregate>
  339. <linkJavadoc>true</linkJavadoc>
  340. <javadocDir>${project.reporting.outputDirectory}/${project.version}/apidocs</javadocDir>
  341. </configuration>
  342. </plugin>
  343. <plugin>
  344. <groupId>org.apache.maven.plugins</groupId>
  345. <artifactId>maven-release-plugin</artifactId>
  346. <configuration>
  347. <autoVersionSubmodules>true</autoVersionSubmodules>
  348. <!-- see
  349. http://maven.40175.n5.nabble.com/Why-is-source-jar-deployed-twice-during-release-td120643.html
  350. https://issues.apache.org/jira/browse/MSHADE-195
  351. -->
  352. <useReleaseProfile>false</useReleaseProfile>
  353. <localCheckout>true</localCheckout>
  354. <pushChanges>false</pushChanges>
  355. <mavenExecutorId>forked-path</mavenExecutorId>
  356. <preparationGoals>clean install</preparationGoals>
  357. <!-- SONAR-4189 -->
  358. <arguments>-Prelease</arguments>
  359. </configuration>
  360. </plugin>
  361. <plugin>
  362. <groupId>org.apache.maven.plugins</groupId>
  363. <artifactId>maven-surefire-plugin</artifactId>
  364. <configuration>
  365. <runOrder>random</runOrder>
  366. <systemPropertyVariables>
  367. <java.io.tmpdir>${project.build.directory}</java.io.tmpdir>
  368. <!--
  369. See profile 'randomize-environment'
  370. -->
  371. <user.timezone>${testTimezone}</user.timezone>
  372. </systemPropertyVariables>
  373. <groups>${junitGroups}</groups>
  374. <threadCount>1</threadCount>
  375. </configuration>
  376. </plugin>
  377. </plugins>
  378. </build>
  379. <dependencyManagement>
  380. <dependencies>
  381. <!-- SonarQube modules -->
  382. <dependency>
  383. <groupId>org.codehaus.sonar</groupId>
  384. <artifactId>sonar-channel</artifactId>
  385. <version>4.1</version>
  386. <exclusions>
  387. <exclusion>
  388. <groupId>org.slf4j</groupId>
  389. <artifactId>slf4j-api</artifactId>
  390. </exclusion>
  391. </exclusions>
  392. </dependency>
  393. <dependency>
  394. <groupId>org.codehaus.sonar</groupId>
  395. <artifactId>sonar-classloader</artifactId>
  396. <version>1.0</version>
  397. </dependency>
  398. <dependency>
  399. <groupId>${project.groupId}</groupId>
  400. <artifactId>sonar-markdown</artifactId>
  401. <version>${project.version}</version>
  402. </dependency>
  403. <dependency>
  404. <groupId>${project.groupId}</groupId>
  405. <artifactId>sonar-check-api</artifactId>
  406. <version>${project.version}</version>
  407. </dependency>
  408. <dependency>
  409. <groupId>${project.groupId}</groupId>
  410. <artifactId>sonar-colorizer</artifactId>
  411. <version>${project.version}</version>
  412. </dependency>
  413. <dependency>
  414. <groupId>${project.groupId}</groupId>
  415. <artifactId>sonar-core</artifactId>
  416. <version>${project.version}</version>
  417. </dependency>
  418. <dependency>
  419. <groupId>${project.groupId}</groupId>
  420. <artifactId>sonar-db</artifactId>
  421. <version>${project.version}</version>
  422. </dependency>
  423. <dependency>
  424. <groupId>${project.groupId}</groupId>
  425. <artifactId>sonar-batch-protocol</artifactId>
  426. <version>${project.version}</version>
  427. </dependency>
  428. <dependency>
  429. <groupId>${project.groupId}</groupId>
  430. <artifactId>sonar-ws</artifactId>
  431. <version>${project.version}</version>
  432. </dependency>
  433. <dependency>
  434. <groupId>${project.groupId}</groupId>
  435. <artifactId>sonar-duplications</artifactId>
  436. <version>${project.version}</version>
  437. </dependency>
  438. <dependency>
  439. <groupId>${project.groupId}</groupId>
  440. <artifactId>sonar-home</artifactId>
  441. <version>${project.version}</version>
  442. </dependency>
  443. <dependency>
  444. <groupId>org.codehaus.sonar</groupId>
  445. <artifactId>sonar-graph</artifactId>
  446. <version>5.1</version>
  447. </dependency>
  448. <dependency>
  449. <groupId>${project.groupId}</groupId>
  450. <artifactId>sonar-plugin-api</artifactId>
  451. <version>${project.version}</version>
  452. </dependency>
  453. <dependency>
  454. <groupId>org.codehaus.sonar</groupId>
  455. <artifactId>sonar-update-center-common</artifactId>
  456. <version>${sonarUpdateCenter.version}</version>
  457. </dependency>
  458. <dependency>
  459. <groupId>${project.groupId}</groupId>
  460. <artifactId>sonar-server</artifactId>
  461. <version>${project.version}</version>
  462. </dependency>
  463. <dependency>
  464. <groupId>org.codehaus.sonar</groupId>
  465. <artifactId>sonar-squid</artifactId>
  466. <version>4.1</version>
  467. <exclusions>
  468. <exclusion>
  469. <!--
  470. Provided at runtime by sonar-plugin-api.
  471. Do not use transitive version 4.1 but the current version.
  472. -->
  473. <groupId>org.codehaus.sonar</groupId>
  474. <artifactId>sonar-check-api</artifactId>
  475. </exclusion>
  476. </exclusions>
  477. </dependency>
  478. <dependency>
  479. <groupId>org.sonarsource.sonarqube</groupId>
  480. <artifactId>sonar-xoo-plugin</artifactId>
  481. <version>${project.version}</version>
  482. <scope>test</scope>
  483. </dependency>
  484. <dependency>
  485. <groupId>org.codehaus.sonar-plugins</groupId>
  486. <artifactId>sonar-scm-git-plugin</artifactId>
  487. <version>${sonarGit.version}</version>
  488. <type>sonar-plugin</type>
  489. </dependency>
  490. <dependency>
  491. <groupId>org.sonarsource.scm.svn</groupId>
  492. <artifactId>sonar-scm-svn-plugin</artifactId>
  493. <version>${sonarSvn.version}</version>
  494. <type>sonar-plugin</type>
  495. </dependency>
  496. <dependency>
  497. <groupId>org.sonarsource.sonarqube</groupId>
  498. <artifactId>sonar-testing-harness</artifactId>
  499. <version>${project.version}</version>
  500. </dependency>
  501. <dependency>
  502. <groupId>org.sonarsource.sonarqube</groupId>
  503. <artifactId>sonar-views-bridge</artifactId>
  504. <version>${project.version}</version>
  505. </dependency>
  506. <dependency>
  507. <groupId>org.sonarsource.sonarqube</groupId>
  508. <artifactId>sonar-dev-cockpit-bridge</artifactId>
  509. <version>${project.version}</version>
  510. </dependency>
  511. <dependency>
  512. <groupId>org.sonarsource.java</groupId>
  513. <artifactId>sonar-java-plugin</artifactId>
  514. <version>${sonarJava.version}</version>
  515. <type>sonar-plugin</type>
  516. <exclusions>
  517. <!-- A banned dependency is bring because java-squid is using maven-project:2.07
  518. This exclusion should be removed when the plugin will no more used maven-project -->
  519. <exclusion>
  520. <groupId>classworlds</groupId>
  521. <artifactId>classworlds</artifactId>
  522. </exclusion>
  523. </exclusions>
  524. </dependency>
  525. <dependency>
  526. <groupId>commons-collections</groupId>
  527. <artifactId>commons-collections</artifactId>
  528. <version>3.2.1</version>
  529. </dependency>
  530. <dependency>
  531. <groupId>org.elasticsearch</groupId>
  532. <artifactId>elasticsearch</artifactId>
  533. <version>${elasticsearch.version}</version>
  534. <exclusions>
  535. <exclusion>
  536. <groupId>org.apache.lucene</groupId>
  537. <artifactId>lucene-spatial</artifactId>
  538. </exclusion>
  539. <exclusion>
  540. <groupId>org.ow2.asm</groupId>
  541. <artifactId>asm</artifactId>
  542. </exclusion>
  543. <exclusion>
  544. <groupId>org.ow2.asm</groupId>
  545. <artifactId>asm-commons</artifactId>
  546. </exclusion>
  547. <exclusion>
  548. <groupId>org.antlr</groupId>
  549. <artifactId>antlr-runtime</artifactId>
  550. </exclusion>
  551. <exclusion>
  552. <groupId>org.yaml</groupId>
  553. <artifactId>snakeyaml</artifactId>
  554. </exclusion>
  555. </exclusions>
  556. </dependency>
  557. <dependency>
  558. <groupId>com.github.tlrx</groupId>
  559. <artifactId>elasticsearch-test</artifactId>
  560. <version>1.2.1</version>
  561. </dependency>
  562. <dependency>
  563. <groupId>com.google.guava</groupId>
  564. <artifactId>guava</artifactId>
  565. <version>17.0</version>
  566. <exclusions>
  567. <exclusion>
  568. <!-- should be declared with scope provided -->
  569. <groupId>com.google.code.findbugs</groupId>
  570. <artifactId>jsr305</artifactId>
  571. </exclusion>
  572. </exclusions>
  573. </dependency>
  574. <dependency>
  575. <groupId>com.google.code.findbugs</groupId>
  576. <artifactId>jsr305</artifactId>
  577. <version>3.0.0</version>
  578. </dependency>
  579. <dependency>
  580. <groupId>commons-dbutils</groupId>
  581. <artifactId>commons-dbutils</artifactId>
  582. <version>1.5</version>
  583. </dependency>
  584. <dependency>
  585. <groupId>commons-io</groupId>
  586. <artifactId>commons-io</artifactId>
  587. <version>2.4</version>
  588. </dependency>
  589. <dependency>
  590. <groupId>org.apache.commons</groupId>
  591. <artifactId>commons-csv</artifactId>
  592. <version>1.0</version>
  593. </dependency>
  594. <dependency>
  595. <groupId>commons-codec</groupId>
  596. <artifactId>commons-codec</artifactId>
  597. <version>1.8</version>
  598. </dependency>
  599. <dependency>
  600. <groupId>org.apache.commons</groupId>
  601. <artifactId>commons-email</artifactId>
  602. <version>1.3.2</version>
  603. </dependency>
  604. <dependency>
  605. <groupId>commons-lang</groupId>
  606. <artifactId>commons-lang</artifactId>
  607. <version>2.6</version>
  608. </dependency>
  609. <dependency>
  610. <groupId>commons-dbcp</groupId>
  611. <artifactId>commons-dbcp</artifactId>
  612. <version>1.4</version>
  613. </dependency>
  614. <dependency>
  615. <!-- See SONAR-2512 -->
  616. <groupId>commons-beanutils</groupId>
  617. <artifactId>commons-beanutils</artifactId>
  618. <version>1.8.3</version>
  619. <exclusions>
  620. <exclusion>
  621. <groupId>commons-logging</groupId>
  622. <artifactId>commons-logging</artifactId>
  623. </exclusion>
  624. </exclusions>
  625. </dependency>
  626. <dependency>
  627. <groupId>com.ibm.icu</groupId>
  628. <artifactId>icu4j</artifactId>
  629. <!-- animal-sniffer doesn't work with 2.6.1 -->
  630. <version>3.4.4</version>
  631. </dependency>
  632. <dependency>
  633. <groupId>jfree</groupId>
  634. <artifactId>jfreechart</artifactId>
  635. <version>1.0.9</version>
  636. </dependency>
  637. <dependency>
  638. <groupId>com.googlecode.json-simple</groupId>
  639. <artifactId>json-simple</artifactId>
  640. <version>1.1.1</version>
  641. <exclusions>
  642. <exclusion>
  643. <groupId>junit</groupId>
  644. <artifactId>junit</artifactId>
  645. </exclusion>
  646. </exclusions>
  647. </dependency>
  648. <dependency>
  649. <groupId>org.mybatis</groupId>
  650. <artifactId>mybatis</artifactId>
  651. <version>3.2.7</version>
  652. </dependency>
  653. <dependency>
  654. <groupId>org.picocontainer</groupId>
  655. <artifactId>picocontainer</artifactId>
  656. <version>2.15</version>
  657. </dependency>
  658. <dependency>
  659. <groupId>org.slf4j</groupId>
  660. <artifactId>slf4j-api</artifactId>
  661. <version>${slf4j.version}</version>
  662. </dependency>
  663. <dependency>
  664. <groupId>org.slf4j</groupId>
  665. <artifactId>jul-to-slf4j</artifactId>
  666. <version>${slf4j.version}</version>
  667. </dependency>
  668. <dependency>
  669. <groupId>org.slf4j</groupId>
  670. <artifactId>jcl-over-slf4j</artifactId>
  671. <version>${slf4j.version}</version>
  672. </dependency>
  673. <dependency>
  674. <groupId>org.slf4j</groupId>
  675. <artifactId>log4j-over-slf4j</artifactId>
  676. <version>${slf4j.version}</version>
  677. </dependency>
  678. <dependency>
  679. <groupId>ch.qos.logback</groupId>
  680. <artifactId>logback-access</artifactId>
  681. <version>${logback.version}</version>
  682. </dependency>
  683. <dependency>
  684. <groupId>ch.qos.logback</groupId>
  685. <artifactId>logback-classic</artifactId>
  686. <version>${logback.version}</version>
  687. </dependency>
  688. <dependency>
  689. <groupId>ch.qos.logback</groupId>
  690. <artifactId>logback-core</artifactId>
  691. <version>${logback.version}</version>
  692. </dependency>
  693. <dependency>
  694. <groupId>com.h2database</groupId>
  695. <artifactId>h2</artifactId>
  696. <version>${h2.version}</version>
  697. </dependency>
  698. <dependency>
  699. <groupId>org.jruby.rack</groupId>
  700. <artifactId>jruby-rack</artifactId>
  701. <version>1.1.13.2</version>
  702. </dependency>
  703. <dependency>
  704. <groupId>mysql</groupId>
  705. <artifactId>mysql-connector-java</artifactId>
  706. <version>5.1.35</version>
  707. </dependency>
  708. <dependency>
  709. <groupId>org.postgresql</groupId>
  710. <artifactId>postgresql</artifactId>
  711. <version>9.3-1102-jdbc41</version>
  712. </dependency>
  713. <dependency>
  714. <groupId>org.codehaus.woodstox</groupId>
  715. <artifactId>woodstox-core-lgpl</artifactId>
  716. <version>4.4.0</version>
  717. <exclusions>
  718. <exclusion>
  719. <!-- provided by Java 1.7 -->
  720. <groupId>javax.xml.stream</groupId>
  721. <artifactId>stax-api</artifactId>
  722. </exclusion>
  723. </exclusions>
  724. </dependency>
  725. <dependency>
  726. <groupId>org.codehaus.staxmate</groupId>
  727. <artifactId>staxmate</artifactId>
  728. <version>2.0.1</version>
  729. <exclusions>
  730. <!-- see SONAR-879 -->
  731. <exclusion>
  732. <groupId>org.codehaus.woodstox</groupId>
  733. <artifactId>stax2-api</artifactId>
  734. </exclusion>
  735. <exclusion>
  736. <groupId>stax</groupId>
  737. <artifactId>stax-api</artifactId>
  738. </exclusion>
  739. <exclusion>
  740. <groupId>org.codehaus.woodstox</groupId>
  741. <artifactId>woodstox-core-asl</artifactId>
  742. </exclusion>
  743. </exclusions>
  744. </dependency>
  745. <dependency>
  746. <groupId>org.mockito</groupId>
  747. <artifactId>mockito-core</artifactId>
  748. <version>1.10.19</version>
  749. <exclusions>
  750. <exclusion>
  751. <groupId>org.hamcrest</groupId>
  752. <artifactId>hamcrest-core</artifactId>
  753. </exclusion>
  754. </exclusions>
  755. </dependency>
  756. <dependency>
  757. <groupId>com.google.code.bean-matchers</groupId>
  758. <artifactId>bean-matchers</artifactId>
  759. <version>0.9</version>
  760. <scope>test</scope>
  761. <exclusions>
  762. <exclusion>
  763. <groupId>org.hamcrest</groupId>
  764. <artifactId>hamcrest-core</artifactId>
  765. </exclusion>
  766. </exclusions>
  767. </dependency>
  768. <dependency>
  769. <groupId>org.assertj</groupId>
  770. <artifactId>assertj-core</artifactId>
  771. <version>2.0.0</version>
  772. </dependency>
  773. <dependency>
  774. <groupId>org.assertj</groupId>
  775. <artifactId>assertj-guava</artifactId>
  776. <version>1.3.1</version>
  777. </dependency>
  778. <dependency>
  779. <groupId>xpp3</groupId>
  780. <artifactId>xpp3</artifactId>
  781. <version>1.1.3.3</version>
  782. </dependency>
  783. <dependency>
  784. <groupId>org.jruby</groupId>
  785. <artifactId>jruby-complete</artifactId>
  786. <!-- do not upgrade to 1.7.10, much slower at startup -->
  787. <version>1.7.9</version>
  788. </dependency>
  789. <dependency>
  790. <groupId>org.codehaus.woodstox</groupId>
  791. <artifactId>stax2-api</artifactId>
  792. <version>3.1.4</version>
  793. <exclusions>
  794. <exclusion>
  795. <groupId>stax</groupId>
  796. <artifactId>stax-api</artifactId>
  797. </exclusion>
  798. </exclusions>
  799. </dependency>
  800. <dependency>
  801. <groupId>javax.servlet</groupId>
  802. <artifactId>javax.servlet-api</artifactId>
  803. <version>3.0.1</version>
  804. </dependency>
  805. <dependency>
  806. <groupId>org.eclipse.jetty</groupId>
  807. <artifactId>jetty-server</artifactId>
  808. <version>${jetty.version}</version>
  809. </dependency>
  810. <dependency>
  811. <groupId>org.hamcrest</groupId>
  812. <artifactId>hamcrest-all</artifactId>
  813. <version>1.3</version>
  814. </dependency>
  815. <dependency>
  816. <groupId>junit</groupId>
  817. <artifactId>junit</artifactId>
  818. <version>4.12</version>
  819. </dependency>
  820. <dependency>
  821. <groupId>com.tngtech.java</groupId>
  822. <artifactId>junit-dataprovider</artifactId>
  823. <version>1.9.2</version>
  824. </dependency>
  825. <dependency>
  826. <groupId>xmlunit</groupId>
  827. <artifactId>xmlunit</artifactId>
  828. <version>1.4</version>
  829. </dependency>
  830. <dependency>
  831. <groupId>org.dbunit</groupId>
  832. <artifactId>dbunit</artifactId>
  833. <version>2.4.5</version>
  834. <exclusions>
  835. <!-- removing commons lang 2.1 and xerces-->
  836. <exclusion>
  837. <groupId>commons-lang</groupId>
  838. <artifactId>commons-lang</artifactId>
  839. </exclusion>
  840. <exclusion>
  841. <groupId>xerces</groupId>
  842. <artifactId>xmlParserAPIs</artifactId>
  843. </exclusion>
  844. <exclusion>
  845. <groupId>xerces</groupId>
  846. <artifactId>xercesImpl</artifactId>
  847. </exclusion>
  848. </exclusions>
  849. </dependency>
  850. <dependency>
  851. <groupId>org.eclipse.jetty</groupId>
  852. <artifactId>test-jetty-servlet</artifactId>
  853. <version>${jetty.version}</version>
  854. </dependency>
  855. <dependency>
  856. <groupId>org.reflections</groupId>
  857. <artifactId>reflections</artifactId>
  858. <version>0.9.9</version>
  859. </dependency>
  860. <dependency>
  861. <groupId>com.google.code.gson</groupId>
  862. <artifactId>gson</artifactId>
  863. <version>2.3.1</version>
  864. </dependency>
  865. <dependency>
  866. <groupId>org.sonarsource</groupId>
  867. <artifactId>sonar-persistit</artifactId>
  868. <version>3.3.2</version>
  869. <exclusions>
  870. <exclusion>
  871. <groupId>commons-logging</groupId>
  872. <artifactId>commons-logging</artifactId>
  873. </exclusion>
  874. </exclusions>
  875. </dependency>
  876. <dependency>
  877. <groupId>com.github.kevinsawicki</groupId>
  878. <artifactId>http-request</artifactId>
  879. <version>5.4.1</version>
  880. </dependency>
  881. <dependency>
  882. <groupId>org.codehaus.sonar.runner</groupId>
  883. <artifactId>sonar-runner-api</artifactId>
  884. <version>2.4</version>
  885. </dependency>
  886. <dependency>
  887. <groupId>org.freemarker</groupId>
  888. <artifactId>freemarker</artifactId>
  889. <version>2.3.20</version>
  890. </dependency>
  891. <dependency>
  892. <groupId>com.google.protobuf</groupId>
  893. <artifactId>protobuf-java</artifactId>
  894. <version>${protobuf.version}</version>
  895. </dependency>
  896. <dependency>
  897. <groupId>net.jpountz.lz4</groupId>
  898. <artifactId>lz4</artifactId>
  899. <version>1.3.0</version>
  900. </dependency>
  901. <dependency>
  902. <groupId>org.subethamail</groupId>
  903. <artifactId>subethasmtp</artifactId>
  904. <version>3.1.7</version>
  905. <scope>test</scope>
  906. </dependency>
  907. <!-- tomcat -->
  908. <dependency>
  909. <groupId>org.apache.tomcat.embed</groupId>
  910. <artifactId>tomcat-embed-core</artifactId>
  911. <version>${tomcat.version}</version>
  912. </dependency>
  913. <dependency>
  914. <groupId>org.apache.tomcat.embed</groupId>
  915. <artifactId>tomcat-embed-jasper</artifactId>
  916. <version>${tomcat.version}</version>
  917. <exclusions>
  918. <exclusion>
  919. <groupId>org.eclipse.jdt.core.compiler</groupId>
  920. <artifactId>ecj</artifactId>
  921. </exclusion>
  922. </exclusions>
  923. </dependency>
  924. <dependency>
  925. <groupId>org.apache.tomcat.embed</groupId>
  926. <artifactId>tomcat-embed-logging-juli</artifactId>
  927. <version>${tomcat.version}</version>
  928. </dependency>
  929. <dependency>
  930. <groupId>com.squareup.okhttp</groupId>
  931. <artifactId>okhttp</artifactId>
  932. <version>${okhttp.version}</version>
  933. </dependency>
  934. <dependency>
  935. <groupId>com.squareup.okhttp</groupId>
  936. <artifactId>mockwebserver</artifactId>
  937. <version>${okhttp.version}</version>
  938. </dependency>
  939. <!-- Using scope=provided to exclude from all transitive dependencies -->
  940. <dependency>
  941. <groupId>xml-apis</groupId>
  942. <artifactId>xml-apis</artifactId>
  943. <version>1.4.01</version>
  944. <scope>provided</scope>
  945. </dependency>
  946. </dependencies>
  947. </dependencyManagement>
  948. <mailingLists>
  949. <mailingList>
  950. <name>SonarQube users mailing list</name>
  951. <subscribe>http://xircles.codehaus.org/projects/sonar/lists</subscribe>
  952. <unsubscribe>http://xircles.codehaus.org/projects/sonar/lists</unsubscribe>
  953. <post>user@sonar.codehaus.org</post>
  954. <archive>http://www.nabble.com/Sonar-f30151.html</archive>
  955. </mailingList>
  956. </mailingLists>
  957. <scm>
  958. <connection>scm:git:git@github.com:SonarSource/sonarqube.git</connection>
  959. <developerConnection>scm:git:git@github.com:SonarSource/sonarqube.git</developerConnection>
  960. <url>https://github.com/SonarSource/sonarqube</url>
  961. <tag>HEAD</tag>
  962. </scm>
  963. <ciManagement>
  964. <system>travis-ci</system>
  965. <url>https://travis-ci.org/SonarSource/sonarqube</url>
  966. </ciManagement>
  967. <licenses>
  968. <license>
  969. <name>GNU LGPL 3</name>
  970. <url>http://www.gnu.org/licenses/lgpl.txt</url>
  971. <distribution>repo</distribution>
  972. </license>
  973. </licenses>
  974. <!-- Developers information should not be removed as it's
  975. required for deployment -->
  976. <developers>
  977. <developer>
  978. <id>bellingard</id>
  979. <name>Fabrice Bellingard</name>
  980. <email>fabrice.bellingard@sonarsource.com</email>
  981. <organization>SonarSource</organization>
  982. <timezone>+1</timezone>
  983. </developer>
  984. <developer>
  985. <id>dbolkensteyn</id>
  986. <name>Dinesh Bolkensteyn</name>
  987. <email>dinesh.bolkensteyn@sonarsource.com</email>
  988. <organization>SonarSource</organization>
  989. <timezone>+1</timezone>
  990. </developer>
  991. <developer>
  992. <id>dgageot</id>
  993. <name>David Gageot</name>
  994. <organization>SonarSource</organization>
  995. <timezone>+1</timezone>
  996. </developer>
  997. <developer>
  998. <id>ehartmann</id>
  999. <name>Eric Hartmann</name>
  1000. <organization>SonarSource</organization>
  1001. <timezone>+1</timezone>
  1002. </developer>
  1003. <developer>
  1004. <id>fmallet</id>
  1005. <name>Freddy Mallet</name>
  1006. <email>freddy.mallet@sonarsource.com</email>
  1007. <organization>SonarSource</organization>
  1008. <timezone>+1</timezone>
  1009. </developer>
  1010. <developer>
  1011. <id>Godin</id>
  1012. <name>Evgeny Mandrikov</name>
  1013. <email>evgeny.mandrikov@sonarsource.com</email>
  1014. <organization>SonarSource</organization>
  1015. <timezone>+3</timezone>
  1016. </developer>
  1017. <developer>
  1018. <id>henryju</id>
  1019. <name>Julien Henry</name>
  1020. <email>julien.henry@sonarsource.com</email>
  1021. <organization>SonarSource</organization>
  1022. <timezone>+1</timezone>
  1023. </developer>
  1024. <developer>
  1025. <id>jblievremont</id>
  1026. <name>Jean-Baptiste Lievremont</name>
  1027. <organization>SonarSource</organization>
  1028. <timezone>+1</timezone>
  1029. </developer>
  1030. <developer>
  1031. <id>julienlancelot</id>
  1032. <name>Julien Lancelot</name>
  1033. <email>julien.lancelot@sonarsource.com</email>
  1034. <organization>SonarSource</organization>
  1035. <timezone>+1</timezone>
  1036. </developer>
  1037. <developer>
  1038. <id>olivier.gaudin</id>
  1039. <name>Olivier Gaudin</name>
  1040. <email>olivier.gaudin@sonarsource.com</email>
  1041. <organization>SonarSource</organization>
  1042. <timezone>+1</timezone>
  1043. </developer>
  1044. <developer>
  1045. <id>simonbrandhof</id>
  1046. <name>Simon Brandhof</name>
  1047. <email>simon.brandhof@sonarsource.com</email>
  1048. <organization>SonarSource</organization>
  1049. <timezone>+1</timezone>
  1050. </developer>
  1051. <developer>
  1052. <id>sns-seb</id>
  1053. <name>Sebastien Lesaint</name>
  1054. <organization>SonarSource</organization>
  1055. <timezone>+1</timezone>
  1056. </developer>
  1057. <developer>
  1058. <id>stas-vilchik</id>
  1059. <name>Stas Vilchik</name>
  1060. <organization>SonarSource</organization>
  1061. <timezone>+1</timezone>
  1062. </developer>
  1063. <developer>
  1064. <id>teryk</id>
  1065. <name>Teryk Bellahsene</name>
  1066. <organization>SonarSource</organization>
  1067. <timezone>+1</timezone>
  1068. </developer>
  1069. </developers>
  1070. <profiles>
  1071. <profile>
  1072. <id>dev</id>
  1073. <properties>
  1074. <skipSanityChecks>true</skipSanityChecks>
  1075. <enforcer.skip>true</enforcer.skip>
  1076. </properties>
  1077. </profile>
  1078. <profile>
  1079. <id>release</id>
  1080. <build>
  1081. <plugins>
  1082. <plugin>
  1083. <groupId>org.apache.maven.plugins</groupId>
  1084. <artifactId>maven-javadoc-plugin</artifactId>
  1085. <executions>
  1086. <execution>
  1087. <id>attach-javadocs</id>
  1088. <goals>
  1089. <goal>jar</goal>
  1090. </goals>
  1091. </execution>
  1092. </executions>
  1093. </plugin>
  1094. <plugin>
  1095. <groupId>org.apache.maven.plugins</groupId>
  1096. <artifactId>maven-enforcer-plugin</artifactId>
  1097. <executions>
  1098. <execution>
  1099. <id>enforce-java7</id>
  1100. <goals>
  1101. <goal>enforce</goal>
  1102. </goals>
  1103. <configuration>
  1104. <rules>
  1105. <requireJavaVersion>
  1106. <message>To release this project JDK ${jdk.min.version} is required.
  1107. </message>
  1108. <version>[1.7,)</version>
  1109. </requireJavaVersion>
  1110. </rules>
  1111. </configuration>
  1112. </execution>
  1113. </executions>
  1114. </plugin>
  1115. </plugins>
  1116. </build>
  1117. </profile>
  1118. <profile>
  1119. <id>javadoc</id>
  1120. <build>
  1121. <plugins>
  1122. <plugin>
  1123. <groupId>org.apache.maven.plugins</groupId>
  1124. <artifactId>maven-javadoc-plugin</artifactId>
  1125. <configuration>
  1126. <excludePackageNames>
  1127. net.*:org.sonar.application:org.sonar.server:org.sonar.graph:org.sonar.batch:org.sonar.channel:org.sonar.java:org.sonar.maven*:org.sonar.plugins.*:org.sonar.colorizer:org.sonar.core:org.sonar.duplications:org.sonar.markdown:com.*
  1128. </excludePackageNames>
  1129. <author>false</author>
  1130. <linksource>true</linksource>
  1131. <reportOutputDirectory>${project.reporting.outputDirectory}/${project.version}/apidocs
  1132. </reportOutputDirectory>
  1133. </configuration>
  1134. </plugin>
  1135. </plugins>
  1136. </build>
  1137. </profile>
  1138. <profile>
  1139. <id>protobuf-compile</id>
  1140. <activation>
  1141. <file>
  1142. <exists>src/main/protobuf</exists>
  1143. </file>
  1144. </activation>
  1145. <build>
  1146. <plugins>
  1147. <plugin>
  1148. <groupId>org.apache.maven.plugins</groupId>
  1149. <artifactId>maven-antrun-plugin</artifactId>
  1150. <executions>
  1151. <execution>
  1152. <id>compile-protobuf-sources</id>
  1153. <phase>generate-sources</phase>
  1154. <goals>
  1155. <goal>run</goal>
  1156. </goals>
  1157. <configuration>
  1158. <target>
  1159. <fileset id="fileset" dir="${project.basedir}/src/main/protobuf">
  1160. <include name="*.proto" />
  1161. </fileset>
  1162. <pathconvert refid="fileset" property="protos" pathsep=" " />
  1163. <mkdir dir="${project.build.directory}/generated-sources/protobuf" />
  1164. <chmod file="${protobuf.compiler}" perm="u+x" />
  1165. <exec failonerror="true" executable="${protobuf.compiler}">
  1166. <arg value="--proto_path=${project.basedir}/src/main/protobuf" />
  1167. <arg value="--java_out=${project.build.directory}/generated-sources/protobuf" />
  1168. <arg line="${protos}" />
  1169. </exec>
  1170. </target>
  1171. </configuration>
  1172. </execution>
  1173. </executions>
  1174. <dependencies>
  1175. <dependency>
  1176. <groupId>com.google.protobuf</groupId>
  1177. <artifactId>protoc</artifactId>
  1178. <version>${protobuf.version}</version>
  1179. <classifier>${os.detected.classifier}</classifier>
  1180. <type>exe</type>
  1181. </dependency>
  1182. </dependencies>
  1183. </plugin>
  1184. <plugin>
  1185. <groupId>org.codehaus.mojo</groupId>
  1186. <artifactId>build-helper-maven-plugin</artifactId>
  1187. <executions>
  1188. <execution>
  1189. <id>add-protobuf-generated-sources</id>
  1190. <phase>generate-sources</phase>
  1191. <goals>
  1192. <goal>add-source</goal>
  1193. </goals>
  1194. <configuration>
  1195. <sources>
  1196. <source>${project.build.directory}/generated-sources/protobuf</source>
  1197. </sources>
  1198. </configuration>
  1199. </execution>
  1200. </executions>
  1201. </plugin>
  1202. </plugins>
  1203. </build>
  1204. </profile>
  1205. <profile>
  1206. <id>protobuf-test-compile</id>
  1207. <activation>
  1208. <file>
  1209. <exists>src/test/protobuf</exists>
  1210. </file>
  1211. </activation>
  1212. <build>
  1213. <plugins>
  1214. <plugin>
  1215. <groupId>org.apache.maven.plugins</groupId>
  1216. <artifactId>maven-antrun-plugin</artifactId>
  1217. <executions>
  1218. <execution>
  1219. <id>compile-protobuf-tests</id>
  1220. <phase>generate-sources</phase>
  1221. <goals>
  1222. <goal>run</goal>
  1223. </goals>
  1224. <configuration>
  1225. <target>
  1226. <fileset id="fileset" dir="${project.basedir}/src/test/protobuf">
  1227. <include name="*.proto" />
  1228. </fileset>
  1229. <pathconvert refid="fileset" property="protos" pathsep=" " />
  1230. <mkdir dir="${project.build.directory}/generated-test-sources/protobuf" />
  1231. <chmod file="${protobuf.compiler}" perm="u+x" />
  1232. <exec failonerror="true" executable="${protobuf.compiler}">
  1233. <arg value="--proto_path=${project.basedir}/src/test/protobuf" />
  1234. <arg value="--java_out=${project.build.directory}/generated-test-sources/protobuf" />
  1235. <arg line="${protos}" />
  1236. </exec>
  1237. </target>
  1238. </configuration>
  1239. </execution>
  1240. </executions>
  1241. <dependencies>
  1242. <dependency>
  1243. <groupId>com.google.protobuf</groupId>
  1244. <artifactId>protoc</artifactId>
  1245. <version>${protobuf.version}</version>
  1246. <classifier>${os.detected.classifier}</classifier>
  1247. <type>exe</type>
  1248. </dependency>
  1249. </dependencies>
  1250. </plugin>
  1251. <plugin>
  1252. <groupId>org.codehaus.mojo</groupId>
  1253. <artifactId>build-helper-maven-plugin</artifactId>
  1254. <executions>
  1255. <execution>
  1256. <id>add-protobuf-generated-tests</id>
  1257. <phase>generate-test-sources</phase>
  1258. <goals>
  1259. <goal>add-test-source</goal>
  1260. </goals>
  1261. <configuration>
  1262. <sources>
  1263. <source>${project.build.directory}/generated-test-sources/protobuf</source>
  1264. </sources>
  1265. </configuration>
  1266. </execution>
  1267. </executions>
  1268. </plugin>
  1269. </plugins>
  1270. </build>
  1271. </profile>
  1272. <profile>
  1273. <id>m2e</id>
  1274. <activation>
  1275. <!-- This profile is active only when used from Eclipse m2e and is used only to store settings. -->
  1276. <property>
  1277. <name>m2e.version</name>
  1278. </property>
  1279. </activation>
  1280. <build>
  1281. <pluginManagement>
  1282. <plugins>
  1283. <plugin>
  1284. <groupId>org.eclipse.m2e</groupId>
  1285. <artifactId>lifecycle-mapping</artifactId>
  1286. <version>1.0.0</version>
  1287. <configuration>
  1288. <lifecycleMappingMetadata>
  1289. <pluginExecutions>
  1290. <pluginExecution>
  1291. <pluginExecutionFilter>
  1292. <groupId>org.sonarsource.sonarqube</groupId>
  1293. <artifactId>sonar-packaging-maven-plugin</artifactId>
  1294. <versionRange>[1.0,)</versionRange>
  1295. <goals>
  1296. <goal>check</goal>
  1297. </goals>
  1298. </pluginExecutionFilter>
  1299. <action>
  1300. <ignore />
  1301. </action>
  1302. </pluginExecution>
  1303. <pluginExecution>
  1304. <pluginExecutionFilter>
  1305. <groupId>org.codehaus.sonar</groupId>
  1306. <artifactId>sonar-dev-maven-plugin</artifactId>
  1307. <versionRange>[1.0,)</versionRange>
  1308. <goals>
  1309. <goal>trim</goal>
  1310. </goals>
  1311. </pluginExecutionFilter>
  1312. <action>
  1313. <ignore />
  1314. </action>
  1315. </pluginExecution>
  1316. <pluginExecution>
  1317. <pluginExecutionFilter>
  1318. <groupId>org.apache.maven.plugins</groupId>
  1319. <artifactId>maven-dependency-plugin</artifactId>
  1320. <versionRange>[1.0,)</versionRange>
  1321. <goals>
  1322. <goal>unpack</goal>
  1323. <goal>copy-dependencies</goal>
  1324. </goals>
  1325. </pluginExecutionFilter>
  1326. <action>
  1327. <ignore />
  1328. </action>
  1329. </pluginExecution>
  1330. <pluginExecution>
  1331. <pluginExecutionFilter>
  1332. <groupId>org.codehaus.mojo</groupId>
  1333. <artifactId>native2ascii-maven-plugin</artifactId>
  1334. <versionRange>[1.0-alpha-1,)</versionRange>
  1335. <goals>
  1336. <goal>native2ascii</goal>
  1337. </goals>
  1338. </pluginExecutionFilter>
  1339. <action>
  1340. <ignore />
  1341. </action>
  1342. </pluginExecution>
  1343. </pluginExecutions>
  1344. </lifecycleMappingMetadata>
  1345. </configuration>
  1346. </plugin>
  1347. </plugins>
  1348. </pluginManagement>
  1349. </build>
  1350. </profile>
  1351. <profile>
  1352. <id>coverage-per-test</id>
  1353. <activation>
  1354. <property>
  1355. <name>coveragePerTest</name>
  1356. </property>
  1357. </activation>
  1358. <dependencies>
  1359. <dependency>
  1360. <groupId>org.sonarsource.java</groupId>
  1361. <artifactId>sonar-jacoco-listeners</artifactId>
  1362. <version>${sonarJava.version}</version>
  1363. <scope>test</scope>
  1364. </dependency>
  1365. </dependencies>
  1366. <build>
  1367. <plugins>
  1368. <plugin>
  1369. <groupId>org.apache.maven.plugins</groupId>
  1370. <artifactId>maven-surefire-plugin</artifactId>
  1371. <configuration>
  1372. <properties>
  1373. <property>
  1374. <name>listener</name>
  1375. <value>org.sonar.java.jacoco.JUnitListener</value>
  1376. </property>
  1377. </properties>
  1378. </configuration>
  1379. </plugin>
  1380. </plugins>
  1381. </build>
  1382. </profile>
  1383. <!--
  1384. The following profiles optimize the build for each team, according to their
  1385. stack layers (batch, server and web teams)
  1386. -->
  1387. <profile>
  1388. <!-- disable all tests -->
  1389. <id>skipTests</id>
  1390. <activation>
  1391. <property>
  1392. <name>skipTests</name>
  1393. </property>
  1394. </activation>
  1395. <properties>
  1396. <skipBatchTests>true</skipBatchTests>
  1397. <skipServerTests>true</skipServerTests>
  1398. </properties>
  1399. </profile>
  1400. <profile>
  1401. <id>batch</id>
  1402. <properties>
  1403. <skipServerTests>true</skipServerTests>
  1404. </properties>
  1405. </profile>
  1406. <profile>
  1407. <id>server</id>
  1408. <properties>
  1409. <skipBatchTests>true</skipBatchTests>
  1410. </properties>
  1411. </profile>
  1412. <profile>
  1413. <id>web</id>
  1414. <properties>
  1415. <!-- the web team does not care about java tests -->
  1416. <skipBatchTests>true</skipBatchTests>
  1417. <skipServerTests>true</skipServerTests>
  1418. <skipTests>true</skipTests>
  1419. </properties>
  1420. </profile>
  1421. <profile>
  1422. <!-- add microbenchmarks module to IDE -->
  1423. <id>includeMicrobenchmarkModule</id>
  1424. <modules>
  1425. <module>microbenchmark-template</module>
  1426. </modules>
  1427. </profile>
  1428. <profile>
  1429. <!--
  1430. check if maven dependencies have vulnerabilities listed in CVE
  1431. Standalone command: mvn org.owasp:dependency-check-maven:check
  1432. See http://jeremylong.github.io/DependencyCheck
  1433. -->
  1434. <id>securityCheck</id>
  1435. <build>
  1436. <plugins>
  1437. <plugin>
  1438. <groupId>org.owasp</groupId>
  1439. <artifactId>dependency-check-maven</artifactId>
  1440. <executions>
  1441. <execution>
  1442. <goals>
  1443. <goal>check</goal>
  1444. </goals>
  1445. </execution>
  1446. </executions>
  1447. </plugin>
  1448. </plugins>
  1449. </build>
  1450. </profile>
  1451. <profile>
  1452. <id>analysis</id>
  1453. <properties>
  1454. <coveragePerTest>true</coveragePerTest>
  1455. </properties>
  1456. </profile>
  1457. <profile>
  1458. <!-- integration tests -->
  1459. <id>it</id>
  1460. <modules>
  1461. <module>it</module>
  1462. </modules>
  1463. </profile>
  1464. </profiles>
  1465. </project>