brave-parent-5.12.7.pom 31 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!--
  3. Copyright 2013-2020 The OpenZipkin Authors
  4. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
  5. in compliance with the License. You may obtain a copy of the License at
  6. http://www.apache.org/licenses/LICENSE-2.0
  7. Unless required by applicable law or agreed to in writing, software distributed under the License
  8. is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
  9. or implied. See the License for the specific language governing permissions and limitations under
  10. the License.
  11. -->
  12. <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/xsd/maven-4.0.0.xsd">
  13. <modelVersion>4.0.0</modelVersion>
  14. <groupId>io.zipkin.brave</groupId>
  15. <artifactId>brave-parent</artifactId>
  16. <version>5.12.7</version>
  17. <packaging>pom</packaging>
  18. <name>Brave (parent)</name>
  19. <description>
  20. Java distributed tracing implementation compatible with Zipkin backend services.
  21. </description>
  22. <url>https://github.com/openzipkin/brave</url>
  23. <inceptionYear>2013</inceptionYear>
  24. <organization>
  25. <name>OpenZipkin</name>
  26. <url>https://zipkin.io/</url>
  27. </organization>
  28. <licenses>
  29. <license>
  30. <name>The Apache Software License, Version 2.0</name>
  31. <url>https://www.apache.org/licenses/LICENSE-2.0.txt</url>
  32. <distribution>repo</distribution>
  33. </license>
  34. </licenses>
  35. <scm>
  36. <url>https://github.com/openzipkin/brave</url>
  37. <connection>scm:git:https://github.com/openzipkin/brave.git</connection>
  38. <developerConnection>scm:git:https://github.com/openzipkin/brave.git</developerConnection>
  39. <tag>5.12.7</tag>
  40. </scm>
  41. <!-- Developer section is needed for Maven Central, but doesn't need to include each person -->
  42. <developers>
  43. <developer>
  44. <id>openzipkin</id>
  45. <name>OpenZipkin Gitter</name>
  46. <url>https://gitter.im/openzipkin/zipkin</url>
  47. </developer>
  48. </developers>
  49. <properties>
  50. <main.basedir>${project.basedir}</main.basedir>
  51. <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  52. <project.build.resourceEncoding>UTF-8</project.build.resourceEncoding>
  53. <project.build.outputEncoding>UTF-8</project.build.outputEncoding>
  54. <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
  55. <!-- default bytecode version for src/main -->
  56. <main.java.version>1.7</main.java.version>
  57. <main.signature.artifact>java17</main.signature.artifact>
  58. <!-- default bytecode version for src/test -->
  59. <maven.compiler.source>1.8</maven.compiler.source>
  60. <maven.compiler.target>1.8</maven.compiler.target>
  61. <!-- override to set exclusions per-project -->
  62. <errorprone.args />
  63. <errorprone.version>2.4.0</errorprone.version>
  64. <!-- use the same values in bom/pom.xml -->
  65. <zipkin.version>2.21.7</zipkin.version>
  66. <zipkin-reporter.version>2.15.2</zipkin-reporter.version>
  67. <!-- Ensure older versions of spring still work -->
  68. <spring5.version>5.2.9.RELEASE</spring5.version>
  69. <spring.version>3.2.18.RELEASE</spring.version>
  70. <!-- Apis used, but not in Jetty 7.6* imply duplication in servlet25 test fixtures -->
  71. <!-- prefer sparkjava's jetty to reduce downloads -->
  72. <jetty.version>9.4.32.v20200930</jetty.version>
  73. <jetty-servlet25.version>7.6.21.v20160908</jetty-servlet25.version>
  74. <!-- Note: 3.1.x requires Java 8; 3.0.20.Final is broken -->
  75. <resteasy.version>3.13.1.Final</resteasy.version>
  76. <kafka.version>2.6.0</kafka.version>
  77. <activemq.version>5.16.0</activemq.version>
  78. <spring-rabbit.version>2.2.11.RELEASE</spring-rabbit.version>
  79. <finagle.version>20.9.0</finagle.version>
  80. <log4j.version>2.13.3</log4j.version>
  81. <okhttp.version>4.9.0</okhttp.version>
  82. <httpclient.version>4.5.13</httpclient.version>
  83. <grpc.version>1.32.2</grpc.version>
  84. <protobuf.version>3.12.0</protobuf.version>
  85. <!-- prefer grpc's version of netty -->
  86. <netty.version>4.1.51.Final</netty.version>
  87. <sparkjava.version>2.9.3</sparkjava.version>
  88. <!-- Test only dependencies -->
  89. <junit.version>4.13.1</junit.version>
  90. <assertj.version>3.17.2</assertj.version>
  91. <powermock.version>2.0.7</powermock.version>
  92. <mockito.version>3.5.13</mockito.version>
  93. <jersey.version>2.32</jersey.version>
  94. <!-- must align with kafka version https://github.com/charithe/kafka-junit -->
  95. <kafka-junit.version>4.1.10</kafka-junit.version>
  96. <testcontainers.version>1.15.0-rc2</testcontainers.version>
  97. <animal-sniffer-maven-plugin.version>1.19</animal-sniffer-maven-plugin.version>
  98. <!-- TODO: cleanup any redundant ignores now also in the 4.0 release (once final) -->
  99. <license-maven-plugin.version>4.0.rc2</license-maven-plugin.version>
  100. <maven-bundle-plugin.version>5.1.1</maven-bundle-plugin.version>
  101. <maven-compiler-plugin.version>3.8.1</maven-compiler-plugin.version>
  102. <maven-deploy-plugin.version>3.0.0-M1</maven-deploy-plugin.version>
  103. <maven-enforcer-plugin.version>3.0.0-M3</maven-enforcer-plugin.version>
  104. <maven-failsafe-plugin.version>3.0.0-M5</maven-failsafe-plugin.version>
  105. <maven-install-plugin.version>3.0.0-M1</maven-install-plugin.version>
  106. <maven-invoker-plugin.version>3.2.1</maven-invoker-plugin.version>
  107. <maven-javadoc-plugin.version>3.2.0</maven-javadoc-plugin.version>
  108. <maven-jar-plugin.version>3.2.0</maven-jar-plugin.version>
  109. <maven-release-plugin.version>3.0.0-M1</maven-release-plugin.version>
  110. <maven-shade-plugin.version>3.2.4</maven-shade-plugin.version>
  111. <maven-source-plugin.version>3.2.1</maven-source-plugin.version>
  112. </properties>
  113. <modules>
  114. <module>brave</module>
  115. <module>brave-bom</module>
  116. <module>brave-tests</module>
  117. <module>context</module>
  118. <module>instrumentation</module>
  119. <module>spring-beans</module>
  120. </modules>
  121. <distributionManagement>
  122. <repository>
  123. <id>bintray</id>
  124. <url>https://api.bintray.com/maven/openzipkin/maven/brave/;publish=1</url>
  125. </repository>
  126. <snapshotRepository>
  127. <id>jfrog-snapshots</id>
  128. <url>https://oss.jfrog.org/artifactory/oss-snapshot-local</url>
  129. </snapshotRepository>
  130. </distributionManagement>
  131. <issueManagement>
  132. <system>Github</system>
  133. <url>https://github.com/openzipkin/brave/issues</url>
  134. </issueManagement>
  135. <dependencyManagement>
  136. <dependencies>
  137. <dependency>
  138. <groupId>${project.groupId}</groupId>
  139. <artifactId>brave</artifactId>
  140. <version>${project.version}</version>
  141. </dependency>
  142. <dependency>
  143. <groupId>${project.groupId}</groupId>
  144. <artifactId>brave-context-log4j2</artifactId>
  145. <version>${project.version}</version>
  146. </dependency>
  147. <dependency>
  148. <groupId>${project.groupId}</groupId>
  149. <artifactId>brave-instrumentation-http</artifactId>
  150. <version>${project.version}</version>
  151. </dependency>
  152. <dependency>
  153. <groupId>${project.groupId}</groupId>
  154. <artifactId>brave-instrumentation-http-tests</artifactId>
  155. <version>${project.version}</version>
  156. </dependency>
  157. <dependency>
  158. <groupId>${project.groupId}</groupId>
  159. <artifactId>brave-instrumentation-messaging</artifactId>
  160. <version>${project.version}</version>
  161. </dependency>
  162. <dependency>
  163. <groupId>${project.groupId}</groupId>
  164. <artifactId>brave-instrumentation-rpc</artifactId>
  165. <version>${project.version}</version>
  166. </dependency>
  167. <dependency>
  168. <groupId>${project.groupId}</groupId>
  169. <artifactId>brave-instrumentation-servlet</artifactId>
  170. <version>${project.version}</version>
  171. </dependency>
  172. <dependency>
  173. <groupId>${project.groupId}</groupId>
  174. <artifactId>brave-tests</artifactId>
  175. <version>${project.version}</version>
  176. </dependency>
  177. <dependency>
  178. <groupId>io.zipkin.zipkin2</groupId>
  179. <artifactId>zipkin</artifactId>
  180. <version>${zipkin.version}</version>
  181. </dependency>
  182. <dependency>
  183. <groupId>org.springframework</groupId>
  184. <artifactId>spring-core</artifactId>
  185. <version>${spring.version}</version>
  186. </dependency>
  187. <dependency>
  188. <groupId>org.springframework</groupId>
  189. <artifactId>spring-context</artifactId>
  190. <version>${spring.version}</version>
  191. </dependency>
  192. <dependency>
  193. <groupId>org.springframework</groupId>
  194. <artifactId>spring-web</artifactId>
  195. <version>${spring.version}</version>
  196. </dependency>
  197. <dependency>
  198. <groupId>org.springframework</groupId>
  199. <artifactId>spring-webmvc</artifactId>
  200. <version>${spring.version}</version>
  201. </dependency>
  202. <dependency>
  203. <groupId>org.springframework</groupId>
  204. <artifactId>spring-test</artifactId>
  205. <version>${spring.version}</version>
  206. </dependency>
  207. <!-- The httpcomponents group do not share versions within it -->
  208. <dependency>
  209. <groupId>org.apache.httpcomponents</groupId>
  210. <artifactId>httpcore</artifactId>
  211. <version>4.4.13</version>
  212. </dependency>
  213. <dependency>
  214. <groupId>org.apache.httpcomponents</groupId>
  215. <artifactId>httpclient</artifactId>
  216. <version>${httpclient.version}</version>
  217. </dependency>
  218. <dependency>
  219. <groupId>org.apache.httpcomponents</groupId>
  220. <artifactId>httpclient-cache</artifactId>
  221. <version>${httpclient.version}</version>
  222. </dependency>
  223. <dependency>
  224. <groupId>org.apache.httpcomponents</groupId>
  225. <artifactId>httpasyncclient</artifactId>
  226. <version>4.1.4</version>
  227. </dependency>
  228. <dependency>
  229. <groupId>org.jboss.resteasy</groupId>
  230. <artifactId>resteasy-client</artifactId>
  231. <version>${resteasy.version}</version>
  232. </dependency>
  233. <dependency>
  234. <groupId>org.jboss.resteasy</groupId>
  235. <artifactId>resteasy-spring</artifactId>
  236. <version>${resteasy.version}</version>
  237. </dependency>
  238. <dependency>
  239. <groupId>org.slf4j</groupId>
  240. <artifactId>slf4j-api</artifactId>
  241. <version>1.7.30</version>
  242. </dependency>
  243. <dependency>
  244. <groupId>org.apache.logging.log4j</groupId>
  245. <artifactId>log4j-core</artifactId>
  246. <version>${log4j.version}</version>
  247. </dependency>
  248. <dependency>
  249. <groupId>org.apache.logging.log4j</groupId>
  250. <artifactId>log4j-jul</artifactId>
  251. <version>${log4j.version}</version>
  252. </dependency>
  253. <dependency>
  254. <groupId>org.apache.logging.log4j</groupId>
  255. <artifactId>log4j-slf4j-impl</artifactId>
  256. <version>${log4j.version}</version>
  257. <exclusions>
  258. <exclusion>
  259. <groupId>org.slf4j</groupId>
  260. <artifactId>slf4j-api</artifactId>
  261. </exclusion>
  262. </exclusions>
  263. </dependency>
  264. <dependency>
  265. <groupId>org.apache.logging.log4j</groupId>
  266. <artifactId>log4j-1.2-api</artifactId>
  267. <version>${log4j.version}</version>
  268. </dependency>
  269. <dependency>
  270. <groupId>com.squareup.okhttp3</groupId>
  271. <artifactId>okhttp</artifactId>
  272. <version>${okhttp.version}</version>
  273. </dependency>
  274. <dependency>
  275. <groupId>com.squareup.okhttp3</groupId>
  276. <artifactId>mockwebserver</artifactId>
  277. <version>${okhttp.version}</version>
  278. </dependency>
  279. <dependency>
  280. <groupId>junit</groupId>
  281. <artifactId>junit</artifactId>
  282. <version>${junit.version}</version>
  283. </dependency>
  284. <dependency>
  285. <groupId>org.assertj</groupId>
  286. <artifactId>assertj-core</artifactId>
  287. <version>${assertj.version}</version>
  288. </dependency>
  289. <dependency>
  290. <groupId>javax.ws.rs</groupId>
  291. <artifactId>javax.ws.rs-api</artifactId>
  292. <version>2.0.1</version>
  293. </dependency>
  294. <dependency>
  295. <groupId>javax.xml.bind</groupId>
  296. <artifactId>jaxb-api</artifactId>
  297. <version>2.3.0</version>
  298. </dependency>
  299. <dependency>
  300. <groupId>javax.annotation</groupId>
  301. <artifactId>javax.annotation-api</artifactId>
  302. <version>1.3.2</version>
  303. </dependency>
  304. <dependency>
  305. <groupId>org.mockito</groupId>
  306. <artifactId>mockito-core</artifactId>
  307. <version>${mockito.version}</version>
  308. </dependency>
  309. </dependencies>
  310. </dependencyManagement>
  311. <dependencies>
  312. <dependency>
  313. <groupId>junit</groupId>
  314. <artifactId>junit</artifactId>
  315. <scope>test</scope>
  316. </dependency>
  317. <dependency>
  318. <groupId>org.assertj</groupId>
  319. <artifactId>assertj-core</artifactId>
  320. <scope>test</scope>
  321. </dependency>
  322. <!-- Main code uses jul and tests log with log4j -->
  323. <dependency>
  324. <groupId>org.apache.logging.log4j</groupId>
  325. <artifactId>log4j-core</artifactId>
  326. <scope>test</scope>
  327. </dependency>
  328. <!-- route jul over log4j2 during tests -->
  329. <dependency>
  330. <groupId>org.apache.logging.log4j</groupId>
  331. <artifactId>log4j-jul</artifactId>
  332. <scope>test</scope>
  333. </dependency>
  334. <!-- route log4j over log4j2 during tests -->
  335. <dependency>
  336. <groupId>org.apache.logging.log4j</groupId>
  337. <artifactId>log4j-1.2-api</artifactId>
  338. <scope>test</scope>
  339. </dependency>
  340. <!-- route slf4j over log4j2 during tests -->
  341. <dependency>
  342. <groupId>org.apache.logging.log4j</groupId>
  343. <artifactId>log4j-slf4j-impl</artifactId>
  344. <scope>test</scope>
  345. </dependency>
  346. <dependency>
  347. <groupId>org.mockito</groupId>
  348. <artifactId>mockito-core</artifactId>
  349. <scope>test</scope>
  350. </dependency>
  351. </dependencies>
  352. <build>
  353. <pluginManagement>
  354. <plugins>
  355. <!-- mvn -N io.takari:maven:wrapper generates the ./mvnw script -->
  356. <plugin>
  357. <groupId>io.takari</groupId>
  358. <artifactId>maven</artifactId>
  359. <version>0.7.7</version>
  360. <configuration>
  361. <maven>3.6.3</maven>
  362. </configuration>
  363. </plugin>
  364. <plugin>
  365. <artifactId>maven-compiler-plugin</artifactId>
  366. <version>${maven-compiler-plugin.version}</version>
  367. <inherited>true</inherited>
  368. <configuration>
  369. <!-- Retrolambda will rewrite lambdas as Java 6 bytecode -->
  370. <source>1.8</source>
  371. <target>1.8</target>
  372. <!-- or die! com.sun.tools.javac.api.JavacTool -->
  373. <fork>true</fork>
  374. <showWarnings>true</showWarnings>
  375. </configuration>
  376. </plugin>
  377. <plugin>
  378. <artifactId>maven-jar-plugin</artifactId>
  379. <version>${maven-jar-plugin.version}</version>
  380. <configuration>
  381. <archive>
  382. <!-- prevents huge pom file from also being added to the jar under META-INF/maven -->
  383. <addMavenDescriptor>false</addMavenDescriptor>
  384. </archive>
  385. </configuration>
  386. </plugin>
  387. <plugin>
  388. <artifactId>maven-shade-plugin</artifactId>
  389. <version>${maven-shade-plugin.version}</version>
  390. </plugin>
  391. <plugin>
  392. <groupId>org.eclipse.m2e</groupId>
  393. <artifactId>lifecycle-mapping</artifactId>
  394. <version>1.0.0</version>
  395. <configuration>
  396. <lifecycleMappingMetadata>
  397. <pluginExecutions>
  398. <pluginExecution>
  399. <pluginExecutionFilter>
  400. <groupId>org.apache.maven.plugins</groupId>
  401. <artifactId>maven-compiler-plugin</artifactId>
  402. <versionRange>[3.7,)</versionRange>
  403. <goals>
  404. <goal>compile</goal>
  405. <goal>testCompile</goal>
  406. </goals>
  407. </pluginExecutionFilter>
  408. <action>
  409. <configurator>
  410. <id>org.eclipse.m2e.jdt.javaConfigurator</id>
  411. </configurator>
  412. </action>
  413. </pluginExecution>
  414. </pluginExecutions>
  415. </lifecycleMappingMetadata>
  416. </configuration>
  417. </plugin>
  418. <plugin>
  419. <artifactId>maven-invoker-plugin</artifactId>
  420. <version>${maven-invoker-plugin.version}</version>
  421. <configuration>
  422. <cloneProjectsTo>${project.build.directory}/it</cloneProjectsTo>
  423. <settingsFile>${main.basedir}/src/it/settings.xml</settingsFile>
  424. <profiles>
  425. <profile>!release</profile>
  426. </profiles>
  427. <useLocalRepository>true</useLocalRepository>
  428. <localRepositoryPath>${project.build.directory}/local-repo</localRepositoryPath>
  429. <postBuildHookScript>verify</postBuildHookScript>
  430. <addTestClassPath>true</addTestClassPath>
  431. <skipInvocation>${skipTests}</skipInvocation>
  432. <streamLogs>true</streamLogs>
  433. <mavenOpts>-Dorg.slf4j.simpleLogger.defaultLogLevel=WARN</mavenOpts>
  434. </configuration>
  435. <executions>
  436. <execution>
  437. <goals>
  438. <goal>install</goal>
  439. <goal>run</goal>
  440. </goals>
  441. </execution>
  442. </executions>
  443. </plugin>
  444. <plugin>
  445. <groupId>org.codehaus.mojo</groupId>
  446. <artifactId>animal-sniffer-maven-plugin</artifactId>
  447. <version>${animal-sniffer-maven-plugin.version}</version>
  448. </plugin>
  449. </plugins>
  450. </pluginManagement>
  451. <resources>
  452. <resource>
  453. <filtering>false</filtering>
  454. <directory>src/main/resources</directory>
  455. </resource>
  456. <resource>
  457. <filtering>false</filtering>
  458. <directory>src/main/java</directory>
  459. <includes>
  460. <include>**</include>
  461. </includes>
  462. <excludes>
  463. <exclude>**/*.java</exclude>
  464. </excludes>
  465. </resource>
  466. <!-- This adds the LICENSE and NOTICE file to the jar and -sources jar of each module -->
  467. <resource>
  468. <filtering>false</filtering>
  469. <directory>${main.basedir}</directory>
  470. <targetPath>META-INF/</targetPath>
  471. <includes>
  472. <include>LICENSE</include>
  473. <include>NOTICE</include>
  474. </includes>
  475. </resource>
  476. </resources>
  477. <testResources>
  478. <testResource>
  479. <filtering>false</filtering>
  480. <directory>src/test/java</directory>
  481. <includes>
  482. <include>**</include>
  483. </includes>
  484. <excludes>
  485. <exclude>**/*.java</exclude>
  486. </excludes>
  487. </testResource>
  488. <testResource>
  489. <filtering>false</filtering>
  490. <directory>src/test/resources</directory>
  491. </testResource>
  492. </testResources>
  493. <plugins>
  494. <plugin>
  495. <groupId>net.orfjackal.retrolambda</groupId>
  496. <artifactId>retrolambda-maven-plugin</artifactId>
  497. <version>2.5.7</version>
  498. <executions>
  499. <execution>
  500. <goals>
  501. <goal>process-main</goal>
  502. </goals>
  503. <configuration>
  504. <target>${main.java.version}</target>
  505. <fork>true</fork>
  506. <quiet>true</quiet>
  507. </configuration>
  508. </execution>
  509. </executions>
  510. </plugin>
  511. <plugin>
  512. <groupId>org.codehaus.mojo</groupId>
  513. <artifactId>animal-sniffer-maven-plugin</artifactId>
  514. <configuration>
  515. <signature>
  516. <groupId>org.codehaus.mojo.signature</groupId>
  517. <artifactId>${main.signature.artifact}</artifactId>
  518. <version>1.0</version>
  519. </signature>
  520. <checkTestClasses>false</checkTestClasses>
  521. </configuration>
  522. <executions>
  523. <execution>
  524. <goals>
  525. <goal>check</goal>
  526. </goals>
  527. </execution>
  528. </executions>
  529. </plugin>
  530. <plugin>
  531. <artifactId>maven-surefire-plugin</artifactId>
  532. <version>${maven-failsafe-plugin.version}</version>
  533. <configuration>
  534. <systemPropertyVariables>
  535. <java.util.logging.manager>org.apache.logging.log4j.jul.LogManager
  536. </java.util.logging.manager>
  537. </systemPropertyVariables>
  538. <!-- Ensure scope leak cause ends up in the console -->
  539. <trimStackTrace>false</trimStackTrace>
  540. </configuration>
  541. </plugin>
  542. <plugin>
  543. <artifactId>maven-failsafe-plugin</artifactId>
  544. <version>${maven-failsafe-plugin.version}</version>
  545. <configuration>
  546. <!-- Try to prevent flakes in CI -->
  547. <reuseForks>false</reuseForks>
  548. <!-- workaround to SUREFIRE-1831 -->
  549. <useModulePath>false</useModulePath>
  550. <systemPropertyVariables>
  551. <java.util.logging.manager>org.apache.logging.log4j.jul.LogManager
  552. </java.util.logging.manager>
  553. </systemPropertyVariables>
  554. <!-- Ensure scope leak cause ends up in the console -->
  555. <trimStackTrace>false</trimStackTrace>
  556. </configuration>
  557. <executions>
  558. <execution>
  559. <id>integration-test</id>
  560. <phase>verify</phase>
  561. <goals>
  562. <goal>integration-test</goal>
  563. <goal>verify</goal>
  564. </goals>
  565. </execution>
  566. </executions>
  567. </plugin>
  568. <plugin>
  569. <artifactId>maven-eclipse-plugin</artifactId>
  570. <version>2.10</version>
  571. <configuration>
  572. <downloadSources>true</downloadSources>
  573. <downloadJavadocs>true</downloadJavadocs>
  574. </configuration>
  575. </plugin>
  576. <plugin>
  577. <artifactId>maven-install-plugin</artifactId>
  578. <version>${maven-install-plugin.version}</version>
  579. </plugin>
  580. <!-- Uploads occur as a last step (which also adds checksums) -->
  581. <plugin>
  582. <artifactId>maven-deploy-plugin</artifactId>
  583. <version>${maven-deploy-plugin.version}</version>
  584. </plugin>
  585. <plugin>
  586. <artifactId>maven-release-plugin</artifactId>
  587. <version>${maven-release-plugin.version}</version>
  588. <configuration>
  589. <useReleaseProfile>false</useReleaseProfile>
  590. <releaseProfiles>release</releaseProfiles>
  591. <autoVersionSubmodules>true</autoVersionSubmodules>
  592. <!-- to match zipkin-scala (openzipkin/zipkin) -->
  593. <tagNameFormat>@{project.version}</tagNameFormat>
  594. </configuration>
  595. </plugin>
  596. <plugin>
  597. <groupId>io.zipkin.centralsync-maven-plugin</groupId>
  598. <artifactId>centralsync-maven-plugin</artifactId>
  599. <version>0.1.1</version>
  600. <configuration>
  601. <packageName>brave</packageName>
  602. </configuration>
  603. </plugin>
  604. <plugin>
  605. <artifactId>maven-enforcer-plugin</artifactId>
  606. <version>${maven-enforcer-plugin.version}</version>
  607. <executions>
  608. <execution>
  609. <id>enforce-java</id>
  610. <goals>
  611. <goal>enforce</goal>
  612. </goals>
  613. <configuration>
  614. <rules>
  615. <requireJavaVersion>
  616. <!-- Cannot use JDK 15 until Retrolambda supports it
  617. https://github.com/luontola/retrolambda/issues/161 -->
  618. <version>[11,15)</version>
  619. </requireJavaVersion>
  620. </rules>
  621. </configuration>
  622. </execution>
  623. </executions>
  624. </plugin>
  625. <plugin>
  626. <groupId>com.mycila</groupId>
  627. <artifactId>license-maven-plugin</artifactId>
  628. <version>${license-maven-plugin.version}</version>
  629. <configuration>
  630. <header>${main.basedir}/src/etc/header.txt</header>
  631. <mapping>
  632. <!-- Don't use javadoc style as this makes code formatters break it by adding tags! -->
  633. <java>SLASHSTAR_STYLE</java>
  634. </mapping>
  635. <excludes>
  636. <exclude>.travis.yml</exclude>
  637. <exclude>.editorconfig</exclude>
  638. <exclude>.gitattributes</exclude>
  639. <exclude>.gitignore</exclude>
  640. <exclude>.mailmap</exclude>
  641. <exclude>.mvn/**</exclude>
  642. <exclude>mvnw*</exclude>
  643. <exclude>etc/header.txt</exclude>
  644. <exclude>**/.idea/**</exclude>
  645. <exclude>**/.editorconfig</exclude>
  646. <exclude>**/log4j2.properties</exclude>
  647. <exclude>LICENSE</exclude>
  648. <exclude>NOTICE</exclude>
  649. <exclude>**/*.md</exclude>
  650. <exclude>**/*.bnd</exclude>
  651. <exclude>**/com.alibaba.dubbo.rpc.Filter</exclude>
  652. <exclude>src/test/resources/**</exclude>
  653. <exclude>src/test/proto/**</exclude>
  654. </excludes>
  655. <strictCheck>true</strictCheck>
  656. </configuration>
  657. <dependencies>
  658. <dependency>
  659. <groupId>com.mycila</groupId>
  660. <artifactId>license-maven-plugin-git</artifactId>
  661. <version>${license-maven-plugin.version}</version>
  662. </dependency>
  663. </dependencies>
  664. <executions>
  665. <execution>
  666. <goals>
  667. <goal>check</goal>
  668. </goals>
  669. <phase>compile</phase>
  670. </execution>
  671. </executions>
  672. </plugin>
  673. </plugins>
  674. </build>
  675. <profiles>
  676. <profile>
  677. <id>error-prone</id>
  678. <activation>
  679. <activeByDefault>true</activeByDefault>
  680. </activation>
  681. <build>
  682. <plugins>
  683. <plugin>
  684. <artifactId>maven-compiler-plugin</artifactId>
  685. <executions>
  686. <execution>
  687. <!-- only use errorprone on main source tree -->
  688. <id>default-compile</id>
  689. <phase>compile</phase>
  690. <goals>
  691. <goal>compile</goal>
  692. </goals>
  693. <configuration>
  694. <forceJavacCompilerUse>true</forceJavacCompilerUse>
  695. <compilerArgs>
  696. <arg>-XDcompilePolicy=simple</arg>
  697. <arg>-Xplugin:ErrorProne ${errorprone.args}</arg>
  698. </compilerArgs>
  699. <annotationProcessorPaths>
  700. <processorPath>
  701. <groupId>com.google.errorprone</groupId>
  702. <artifactId>error_prone_core</artifactId>
  703. <version>${errorprone.version}</version>
  704. </processorPath>
  705. </annotationProcessorPaths>
  706. </configuration>
  707. </execution>
  708. </executions>
  709. </plugin>
  710. </plugins>
  711. </build>
  712. </profile>
  713. <profile>
  714. <id>release</id>
  715. <build>
  716. <plugins>
  717. <!-- Creates source jar -->
  718. <plugin>
  719. <artifactId>maven-source-plugin</artifactId>
  720. <version>${maven-source-plugin.version}</version>
  721. <executions>
  722. <execution>
  723. <id>attach-sources</id>
  724. <goals>
  725. <goal>jar</goal>
  726. </goals>
  727. </execution>
  728. </executions>
  729. </plugin>
  730. <!-- Creates javadoc jar, skipping internal classes -->
  731. <plugin>
  732. <artifactId>maven-javadoc-plugin</artifactId>
  733. <version>${maven-javadoc-plugin.version}</version>
  734. <configuration>
  735. <sourceFileExcludes>
  736. <exclude>**/internal/*.java</exclude>
  737. <exclude>**/Internal*.java</exclude>
  738. </sourceFileExcludes>
  739. <excludePackageNames>*.internal.*</excludePackageNames>
  740. <failOnError>false</failOnError>
  741. <!-- hush pedantic warnings: we don't put param and return on everything! -->
  742. <doclint>none</doclint>
  743. <!-- While we publish modules, our source is pre-Java9 so tell javadoc that. -->
  744. <source>8</source>
  745. </configuration>
  746. <executions>
  747. <execution>
  748. <id>attach-javadocs</id>
  749. <goals>
  750. <goal>jar</goal>
  751. </goals>
  752. <phase>package</phase>
  753. </execution>
  754. </executions>
  755. </plugin>
  756. </plugins>
  757. </build>
  758. </profile>
  759. <profile>
  760. <id>module-info</id>
  761. <!-- Build profiles can only consider static properties, such as files or ENV variables.
  762. To conditionally add module information, we use existence of bnd.bnd. This allows
  763. irrelevant packages such as tests and benchmarks to quietly opt-out.
  764. http://maven.apache.org/guides/introduction/introduction-to-profiles.html -->
  765. <activation>
  766. <file>
  767. <exists>bnd.bnd</exists>
  768. </file>
  769. </activation>
  770. <build>
  771. <plugins>
  772. <!-- OSGi and Java Modules configuration -->
  773. <plugin>
  774. <groupId>org.apache.felix</groupId>
  775. <artifactId>maven-bundle-plugin</artifactId>
  776. <version>${maven-bundle-plugin.version}</version>
  777. <configuration>
  778. <obrRepository>NONE</obrRepository>
  779. <instructions>
  780. <_include>-bnd.bnd</_include>
  781. </instructions>
  782. </configuration>
  783. <executions>
  784. <execution>
  785. <phase>process-classes</phase>
  786. <goals>
  787. <goal>manifest</goal>
  788. </goals>
  789. </execution>
  790. </executions>
  791. </plugin>
  792. <plugin>
  793. <artifactId>maven-jar-plugin</artifactId>
  794. <executions>
  795. <execution>
  796. <id>default-jar</id>
  797. <configuration>
  798. <archive>
  799. <!-- Include the MANIFEST.MF maven-bundle-plugin generates from bnd.bnd -->
  800. <manifestFile>${project.build.outputDirectory}/META-INF/MANIFEST.MF</manifestFile>
  801. <manifestEntries>
  802. <Automatic-Module-Name>${module.name}</Automatic-Module-Name>
  803. </manifestEntries>
  804. </archive>
  805. </configuration>
  806. <goals>
  807. <goal>jar</goal>
  808. </goals>
  809. </execution>
  810. </executions>
  811. </plugin>
  812. </plugins>
  813. </build>
  814. </profile>
  815. <profile>
  816. <id>sonatype</id>
  817. <distributionManagement>
  818. <repository>
  819. <id>sonatype</id>
  820. <url>https://oss.sonatype.org/service/local/staging/deploy/maven2</url>
  821. </repository>
  822. </distributionManagement>
  823. <build>
  824. <plugins>
  825. <plugin>
  826. <artifactId>maven-gpg-plugin</artifactId>
  827. <version>1.6</version>
  828. <executions>
  829. <execution>
  830. <id>sign-release-artifacts</id>
  831. <goals>
  832. <goal>sign</goal>
  833. </goals>
  834. </execution>
  835. </executions>
  836. </plugin>
  837. </plugins>
  838. </build>
  839. </profile>
  840. </profiles>
  841. </project>