jetcd-parent-0.5.0.pom 43 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!--
  3. Copyright 2016-2020 The jetcd authors
  4. Licensed under the Apache License, Version 2.0 (the "License");
  5. you may not use this file except in compliance with the License.
  6. You may obtain a copy of the License at
  7. http://www.apache.org/licenses/LICENSE-2.0
  8. Unless required by applicable law or agreed to in writing, software
  9. distributed under the License is distributed on an "AS IS" BASIS,
  10. WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  11. See the License for the specific language governing permissions and
  12. limitations under the License.
  13. -->
  14. <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">
  15. <modelVersion>4.0.0</modelVersion>
  16. <groupId>io.etcd</groupId>
  17. <artifactId>jetcd-parent</artifactId>
  18. <version>0.5.0</version>
  19. <name>jetcd</name>
  20. <description>Java Client for etcd V3</description>
  21. <url>https://github.com/etcd-io/jetcd</url>
  22. <packaging>pom</packaging>
  23. <licenses>
  24. <license>
  25. <name>The Apache Software License, Version 2.0</name>
  26. <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
  27. </license>
  28. </licenses>
  29. <developers>
  30. <developer>
  31. <name>Fanmin Shi</name>
  32. <email>fanmin.shi@coreos.com</email>
  33. <organization>coreos</organization>
  34. <organizationUrl>http://coreos.com/</organizationUrl>
  35. </developer>
  36. <developer>
  37. <name>Luca Burgazzoli</name>
  38. <email>lburgazzoli@gmail.com</email>
  39. <organization>redhat</organization>
  40. <organizationUrl>http://redhat.com/</organizationUrl>
  41. </developer>
  42. <developer>
  43. <name>Xiang Li</name>
  44. <email>xiang.li@coreos.com</email>
  45. <organization>coreos</organization>
  46. <organizationUrl>http://coreos.com/</organizationUrl>
  47. </developer>
  48. <developer>
  49. <name>Anthony Romano</name>
  50. <email>anthony.romano@coreos.com</email>
  51. <organization>coreos</organization>
  52. <organizationUrl>http://coreos.com/</organizationUrl>
  53. </developer>
  54. </developers>
  55. <scm>
  56. <url>https://github.com/etcd-io/jetcd.git</url>
  57. <connection>scm:git:git@github.com:etcd-io/jetcd.git</connection>
  58. <developerConnection>scm:git:git@github.com:etcd-io/jetcd.git</developerConnection>
  59. <tag>jetcd-0.5.0</tag>
  60. </scm>
  61. <properties>
  62. <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  63. <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
  64. <jdk.version>1.8</jdk.version>
  65. <!-- plugins -->
  66. <build-helper-maven-plugin.version>3.0.0</build-helper-maven-plugin.version>
  67. <maven-source-plugin.version>3.2.1</maven-source-plugin.version>
  68. <maven-compiler-plugin.version>3.8.1</maven-compiler-plugin.version>
  69. <maven-resources-plugin.version>3.1.0</maven-resources-plugin.version>
  70. <maven-javadoc-plugin.version>3.1.1</maven-javadoc-plugin.version>
  71. <maven-bundle-plugin.version>4.2.1</maven-bundle-plugin.version>
  72. <maven-shade-plugin.version>3.2.1</maven-shade-plugin.version>
  73. <maven-dependency-plugin.version>3.1.1</maven-dependency-plugin.version>
  74. <depends-maven-plugin.version>1.4.0</depends-maven-plugin.version>
  75. <os-maven-plugin.version>1.6.2</os-maven-plugin.version>
  76. <protobuf-maven-plugin.version>0.6.1</protobuf-maven-plugin.version>
  77. <jacoco-maven-plugin.version>0.8.5</jacoco-maven-plugin.version>
  78. <exec-maven-plugin.version>1.6.0</exec-maven-plugin.version>
  79. <license-maven-plugin.version>3.0</license-maven-plugin.version>
  80. <maven-gpg-plugin.version>1.6</maven-gpg-plugin.version>
  81. <nexus-staging-maven-plugin.version>1.6.8</nexus-staging-maven-plugin.version>
  82. <maven-clean-plugin.version>3.1.0</maven-clean-plugin.version>
  83. <maven-deploy-plugin.version>2.8.2</maven-deploy-plugin.version>
  84. <maven-install-plugin.version>2.5.2</maven-install-plugin.version>
  85. <maven-site-plugin.version>3.8.2</maven-site-plugin.version>
  86. <maven-surefire-plugin.version>2.22.2</maven-surefire-plugin.version>
  87. <directory-maven-plugin.version>0.3.1</directory-maven-plugin.version>
  88. <versions-maven-plugin.version>2.7</versions-maven-plugin.version>
  89. <maven-release-plugin.version>2.5.3</maven-release-plugin.version>
  90. <formatter-maven-plugin.version>2.11.0</formatter-maven-plugin.version>
  91. <impsort-maven-plugin.version>1.3.2</impsort-maven-plugin.version>
  92. <!-- dependencies -->
  93. <grpc.version>1.27.1</grpc.version>
  94. <slf4j.version>1.7.30</slf4j.version>
  95. <plexus-compiler-javac-errorprone.version>2.8.6</plexus-compiler-javac-errorprone.version>
  96. <error-prone-core.version>2.3.4</error-prone-core.version>
  97. <log4j2.version>2.13.0</log4j2.version>
  98. <jcommander.version>1.78</jcommander.version>
  99. <jool.version>0.9.14</jool.version>
  100. <!-- should be in sync with protobuf grpc dependencies -->
  101. <protobuf.version>3.11.4</protobuf.version>
  102. <failsafe.version>2.3.3</failsafe.version>
  103. <!-- osgi dependencies -->
  104. <karaf.version>4.2.8</karaf.version>
  105. <osgi.ds.version>1.4.0</osgi.ds.version>
  106. <pax.exam.version>4.13.1</pax.exam.version>
  107. <!-- test dependencies -->
  108. <mockito.version>3.2.4</mockito.version>
  109. <assertj.version>3.15.0</assertj.version>
  110. <junit.version>4.12</junit.version>
  111. <junit-jupiter.version>5.6.0</junit-jupiter.version>
  112. <netty-tcnative.version>2.0.29.Final</netty-tcnative.version>
  113. <testcontainers.version>1.12.5</testcontainers.version>
  114. <commons-io.version>2.6</commons-io.version>
  115. </properties>
  116. <modules>
  117. <module>jetcd-launcher</module>
  118. <module>jetcd-launcher-maven-plugin</module>
  119. <module>jetcd-common</module>
  120. <module>jetcd-launcher-maven-plugin-test</module>
  121. <module>jetcd-resolver</module>
  122. <module>jetcd-resolver-dns-srv</module>
  123. <module>jetcd-core</module>
  124. <module>jetcd-extensions</module>
  125. <module>jetcd-all</module>
  126. <module>jetcd-osgi</module>
  127. <module>jetcd-examples</module>
  128. </modules>
  129. <dependencyManagement>
  130. <dependencies>
  131. <dependency>
  132. <groupId>${project.groupId}</groupId>
  133. <artifactId>jetcd-launcher</artifactId>
  134. <version>${project.version}</version>
  135. </dependency>
  136. <dependency>
  137. <groupId>${project.groupId}</groupId>
  138. <artifactId>jetcd-common</artifactId>
  139. <version>${project.version}</version>
  140. </dependency>
  141. <dependency>
  142. <groupId>${project.groupId}</groupId>
  143. <artifactId>jetcd-extensions</artifactId>
  144. <version>${project.version}</version>
  145. </dependency>
  146. <dependency>
  147. <groupId>${project.groupId}</groupId>
  148. <artifactId>jetcd-resolver</artifactId>
  149. <version>${project.version}</version>
  150. </dependency>
  151. <dependency>
  152. <groupId>${project.groupId}</groupId>
  153. <artifactId>jetcd-resolver-dns-srv</artifactId>
  154. <version>${project.version}</version>
  155. </dependency>
  156. <dependency>
  157. <groupId>${project.groupId}</groupId>
  158. <artifactId>jetcd-core</artifactId>
  159. <version>${project.version}</version>
  160. </dependency>
  161. <dependency>
  162. <groupId>${project.groupId}</groupId>
  163. <artifactId>jetcd-all</artifactId>
  164. <version>${project.version}</version>
  165. </dependency>
  166. <dependency>
  167. <groupId>${project.groupId}</groupId>
  168. <artifactId>jetcd-osgi</artifactId>
  169. <version>${project.version}</version>
  170. </dependency>
  171. <dependency>
  172. <groupId>${project.groupId}</groupId>
  173. <artifactId>jetcd-karaf</artifactId>
  174. <version>${project.version}</version>
  175. </dependency>
  176. <dependency>
  177. <groupId>io.grpc</groupId>
  178. <artifactId>grpc-core</artifactId>
  179. <version>${grpc.version}</version>
  180. </dependency>
  181. <dependency>
  182. <groupId>io.grpc</groupId>
  183. <artifactId>grpc-netty</artifactId>
  184. <version>${grpc.version}</version>
  185. </dependency>
  186. <dependency>
  187. <groupId>io.grpc</groupId>
  188. <artifactId>grpc-protobuf</artifactId>
  189. <version>${grpc.version}</version>
  190. </dependency>
  191. <dependency>
  192. <groupId>io.grpc</groupId>
  193. <artifactId>grpc-stub</artifactId>
  194. <version>${grpc.version}</version>
  195. </dependency>
  196. <dependency>
  197. <groupId>io.grpc</groupId>
  198. <artifactId>grpc-grpclb</artifactId>
  199. <version>${grpc.version}</version>
  200. </dependency>
  201. <dependency>
  202. <groupId>net.jodah</groupId>
  203. <artifactId>failsafe</artifactId>
  204. <version>${failsafe.version}</version>
  205. </dependency>
  206. <dependency>
  207. <groupId>org.slf4j</groupId>
  208. <artifactId>slf4j-api</artifactId>
  209. <version>${slf4j.version}</version>
  210. </dependency>
  211. <dependency>
  212. <groupId>org.apache.logging.log4j</groupId>
  213. <artifactId>log4j-api</artifactId>
  214. <version>${log4j2.version}</version>
  215. </dependency>
  216. <dependency>
  217. <groupId>org.apache.logging.log4j</groupId>
  218. <artifactId>log4j-core</artifactId>
  219. <version>${log4j2.version}</version>
  220. </dependency>
  221. <dependency>
  222. <groupId>org.apache.logging.log4j</groupId>
  223. <artifactId>log4j-slf4j-impl</artifactId>
  224. <version>${log4j2.version}</version>
  225. </dependency>
  226. <dependency>
  227. <groupId>org.apache.logging.log4j</groupId>
  228. <artifactId>log4j-1.2-api</artifactId>
  229. <version>${log4j2.version}</version>
  230. </dependency>
  231. <dependency>
  232. <groupId>com.beust</groupId>
  233. <artifactId>jcommander</artifactId>
  234. <version>${jcommander.version}</version>
  235. </dependency>
  236. <dependency>
  237. <groupId>org.jooq</groupId>
  238. <artifactId>jool-java-8</artifactId>
  239. <version>${jool.version}</version>
  240. </dependency>
  241. <dependency>
  242. <groupId>org.assertj</groupId>
  243. <artifactId>assertj-core</artifactId>
  244. <version>${assertj.version}</version>
  245. <scope>test</scope>
  246. </dependency>
  247. <dependency>
  248. <groupId>org.mockito</groupId>
  249. <artifactId>mockito-core</artifactId>
  250. <version>${mockito.version}</version>
  251. <scope>test</scope>
  252. </dependency>
  253. <dependency>
  254. <groupId>org.slf4j</groupId>
  255. <artifactId>slf4j-simple</artifactId>
  256. <version>${slf4j.version}</version>
  257. <scope>test</scope>
  258. </dependency>
  259. <dependency>
  260. <groupId>junit</groupId>
  261. <artifactId>junit</artifactId>
  262. <version>${junit.version}</version>
  263. <scope>test</scope>
  264. </dependency>
  265. <dependency>
  266. <groupId>io.grpc</groupId>
  267. <artifactId>grpc-testing</artifactId>
  268. <version>${grpc.version}</version>
  269. <scope>test</scope>
  270. </dependency>
  271. <dependency>
  272. <groupId>io.netty</groupId>
  273. <artifactId>netty-tcnative-boringssl-static</artifactId>
  274. <version>${netty-tcnative.version}</version>
  275. <scope>test</scope>
  276. </dependency>
  277. <dependency>
  278. <groupId>org.testcontainers</groupId>
  279. <artifactId>testcontainers</artifactId>
  280. <version>${testcontainers.version}</version>
  281. </dependency>
  282. <dependency>
  283. <groupId>commons-io</groupId>
  284. <artifactId>commons-io</artifactId>
  285. <version>${commons-io.version}</version>
  286. </dependency>
  287. </dependencies>
  288. </dependencyManagement>
  289. <build>
  290. <pluginManagement>
  291. <plugins>
  292. <plugin>
  293. <groupId>org.apache.maven.plugins</groupId>
  294. <artifactId>maven-clean-plugin</artifactId>
  295. <version>${maven-clean-plugin.version}</version>
  296. </plugin>
  297. <plugin>
  298. <groupId>org.apache.maven.plugins</groupId>
  299. <artifactId>maven-deploy-plugin</artifactId>
  300. <version>${maven-deploy-plugin.version}</version>
  301. </plugin>
  302. <plugin>
  303. <groupId>org.apache.maven.plugins</groupId>
  304. <artifactId>maven-install-plugin</artifactId>
  305. <version>${maven-install-plugin.version}</version>
  306. </plugin>
  307. <plugin>
  308. <groupId>org.apache.maven.plugins</groupId>
  309. <artifactId>maven-site-plugin</artifactId>
  310. <version>${maven-site-plugin.version}</version>
  311. </plugin>
  312. <plugin>
  313. <groupId>org.apache.maven.plugins</groupId>
  314. <artifactId>maven-surefire-plugin</artifactId>
  315. <version>${maven-surefire-plugin.version}</version>
  316. <configuration>
  317. <systemPropertyVariables>
  318. <visibleassertions.silence>true</visibleassertions.silence>
  319. </systemPropertyVariables>
  320. </configuration>
  321. </plugin>
  322. <plugin>
  323. <groupId>org.xolstice.maven.plugins</groupId>
  324. <artifactId>protobuf-maven-plugin</artifactId>
  325. <version>${protobuf-maven-plugin.version}</version>
  326. </plugin>
  327. <plugin>
  328. <groupId>org.codehaus.mojo</groupId>
  329. <artifactId>build-helper-maven-plugin</artifactId>
  330. <version>${build-helper-maven-plugin.version}</version>
  331. <executions>
  332. <execution>
  333. <id>test</id>
  334. <phase>generate-sources</phase>
  335. <goals>
  336. <goal>add-source</goal>
  337. </goals>
  338. <configuration>
  339. <sources>
  340. <source>${basedir}/${project.build.directory}/generated-sources</source>
  341. </sources>
  342. </configuration>
  343. </execution>
  344. </executions>
  345. </plugin>
  346. <plugin>
  347. <groupId>org.apache.maven.plugins</groupId>
  348. <artifactId>maven-source-plugin</artifactId>
  349. <version>${maven-source-plugin.version}</version>
  350. <executions>
  351. <execution>
  352. <id>attach-sources</id>
  353. <phase>verify</phase>
  354. <goals>
  355. <goal>jar-no-fork</goal>
  356. </goals>
  357. </execution>
  358. </executions>
  359. </plugin>
  360. <plugin>
  361. <groupId>org.apache.maven.plugins</groupId>
  362. <artifactId>maven-compiler-plugin</artifactId>
  363. <version>${maven-compiler-plugin.version}</version>
  364. <extensions>true</extensions>
  365. <configuration>
  366. <source>${jdk.version}</source>
  367. <target>${jdk.version}</target>
  368. <encoding>UTF-8</encoding>
  369. <compilerId>javac-with-errorprone</compilerId>
  370. <forceJavacCompilerUse>true</forceJavacCompilerUse>
  371. <compilerArgs>
  372. <arg>-Xlint:all</arg>
  373. <!-- TODO <arg>-Werror</arg> -->
  374. <!-- There are lots of disabled goodies in error-prone which only emit warnings (which nobody will ever look at!),
  375. so let us enable them all as least as warnings, and then selectively turn some of them into ERROR, and suppress
  376. those we really don't want (or can't enforce for whatever reason) with OFF. -->
  377. <arg>-XepExcludedPaths:.*/target/.*</arg>
  378. <!-- https://github.com/google/error-prone/issues/1138 -->
  379. <!-- <arg>-XepAllDisabledChecksAsWarnings</arg> -->
  380. -Xep:NullableDereference:OFF
  381. <!-- StaticOrDefaultInterfaceMethod is an Android specific warning which we don't care about -->
  382. <arg>-Xep:StaticOrDefaultInterfaceMethod:OFF</arg>
  383. <!-- FieldMissingNullable is badly broken :( https://github.com/google/error-prone/issues/708 -->
  384. <arg>-Xep:FieldMissingNullable:OFF</arg>
  385. <!-- To "Use parameter comments to document ambiguous literals" is unrealistic on a large existing code base -->
  386. <arg>-Xep:BooleanParameter:OFF</arg>
  387. <arg>-Xep:ReturnMissingNullable:ERROR</arg>
  388. <arg>-Xep:MethodCanBeStatic:ERROR</arg>
  389. <arg>-Xep:TestExceptionChecker:ERROR</arg>
  390. <arg>-Xep:RedundantThrows:ERROR</arg>
  391. <arg>-Xep:ConstantField:ERROR</arg>
  392. <arg>-Xep:EmptySetMultibindingContributions:ERROR</arg>
  393. <arg>-Xep:MixedArrayDimensions:ERROR</arg>
  394. <arg>-Xep:MultipleTopLevelClasses:ERROR</arg>
  395. <arg>-Xep:MultiVariableDeclaration:ERROR</arg>
  396. <arg>-Xep:PackageLocation:ERROR</arg>
  397. <arg>-Xep:PrivateConstructorForNoninstantiableModule:ERROR</arg>
  398. <arg>-Xep:RemoveUnusedImports:ERROR</arg>
  399. <arg>-Xep:UnnecessaryStaticImport:ERROR</arg>
  400. <arg>-Xep:UseBinds:ERROR</arg>
  401. <arg>-Xep:WildcardImport:ERROR</arg>
  402. <!-- FutureReturnValueIgnored is better (stronger) than error-prone's own (and FindBug's) @CheckReturnValue annotation,
  403. as it checks that ANY return Future are checked, not just those from methods annotated @CheckReturnValue -->
  404. <arg>-Xep:FutureReturnValueIgnored:ERROR</arg>
  405. <arg>-Xep:IntLongMath:ERROR</arg>
  406. <arg>-Xep:FloatCast:ERROR</arg>
  407. <arg>-Xep:ClassNewInstance:ERROR</arg>
  408. <arg>-Xep:ConstructorInvokesOverridable:ERROR</arg>
  409. <arg>-Xep:ThreeLetterTimeZoneID:ERROR</arg>
  410. <arg>-Xep:UnsafeFinalization:ERROR</arg>
  411. <arg>-Xep:MutableMethodReturnType:ERROR</arg>
  412. <arg>-Xep:SynchronizeOnNonFinalField:ERROR</arg>
  413. <arg>-Xep:WaitNotInLoop:ERROR</arg>
  414. <arg>-Xep:SwitchDefault:ERROR</arg>
  415. <arg>-Xep:ReachabilityFenceUsage:ERROR</arg>
  416. <arg>-Xep:BoxedPrimitiveConstructor:ERROR</arg>
  417. <arg>-Xep:InjectOnConstructorOfAbstractClass:ERROR</arg>
  418. <arg>-Xep:StringSplitter:ERROR</arg>
  419. <arg>-Xep:DefaultCharset:ERROR</arg>
  420. <arg>-Xep:StreamResourceLeak:ERROR</arg>
  421. <arg>-Xep:InconsistentCapitalization:ERROR</arg>
  422. <arg>-Xep:TruthIncompatibleType:ERROR</arg>
  423. <arg>-Xep:ByteBufferBackingArray:ERROR</arg>
  424. <arg>-Xep:OrphanedFormatString:ERROR</arg>
  425. <arg>-Xep:CatchAndPrintStackTrace:ERROR</arg>
  426. <arg>-Xep:VarTypeName:ERROR</arg>
  427. <arg>-Xep:ObjectToString:ERROR</arg>
  428. <arg>-Xep:AssertThrowsMultipleStatements:ERROR</arg>
  429. </compilerArgs>
  430. </configuration>
  431. <dependencies>
  432. <dependency>
  433. <groupId>org.codehaus.plexus</groupId>
  434. <artifactId>plexus-compiler-javac-errorprone</artifactId>
  435. <version>${plexus-compiler-javac-errorprone.version}</version>
  436. </dependency>
  437. <!--
  438. override plexus-compiler-javac-errorprone's dependency on
  439. Error Prone with the latest version
  440. -->
  441. <dependency>
  442. <groupId>com.google.errorprone</groupId>
  443. <artifactId>error_prone_core</artifactId>
  444. <version>${error-prone-core.version}</version>
  445. </dependency>
  446. </dependencies>
  447. </plugin>
  448. <plugin>
  449. <groupId>org.jacoco</groupId>
  450. <artifactId>jacoco-maven-plugin</artifactId>
  451. <version>${jacoco-maven-plugin.version}</version>
  452. <executions>
  453. <execution>
  454. <id>prepare-agent</id>
  455. <goals>
  456. <goal>prepare-agent</goal>
  457. </goals>
  458. </execution>
  459. <execution>
  460. <id>report</id>
  461. <phase>prepare-package</phase>
  462. <goals>
  463. <goal>report</goal>
  464. </goals>
  465. </execution>
  466. <execution>
  467. <id>post-unit-test</id>
  468. <phase>test</phase>
  469. <goals>
  470. <goal>report</goal>
  471. </goals>
  472. <configuration>
  473. <!-- Sets the path to the file which contains the execution data. -->
  474. <dataFile>${project.build.directory}/jacoco.exec</dataFile>
  475. </configuration>
  476. </execution>
  477. </executions>
  478. </plugin>
  479. <plugin>
  480. <groupId>org.apache.maven.plugins</groupId>
  481. <artifactId>maven-resources-plugin</artifactId>
  482. <version>${maven-resources-plugin.version}</version>
  483. <configuration>
  484. <encoding>UTF-8</encoding>
  485. </configuration>
  486. </plugin>
  487. <plugin>
  488. <groupId>org.apache.maven.plugins</groupId>
  489. <artifactId>maven-javadoc-plugin</artifactId>
  490. <version>${maven-javadoc-plugin.version}</version>
  491. <configuration>
  492. <aggregate>true</aggregate>
  493. <encoding>UTF-8</encoding>
  494. <excludePackageNames>*.protobuf.*</excludePackageNames>
  495. </configuration>
  496. <executions>
  497. <execution>
  498. <id>attach-javadocs</id>
  499. <goals>
  500. <goal>jar</goal>
  501. </goals>
  502. </execution>
  503. </executions>
  504. </plugin>
  505. <plugin>
  506. <groupId>org.apache.maven.plugins</groupId>
  507. <artifactId>maven-dependency-plugin</artifactId>
  508. <version>${maven-dependency-plugin.version}</version>
  509. </plugin>
  510. <plugin>
  511. <groupId>org.apache.maven.plugins</groupId>
  512. <artifactId>maven-shade-plugin</artifactId>
  513. <version>${maven-shade-plugin.version}</version>
  514. <executions>
  515. <execution>
  516. <goals>
  517. <goal>shade</goal>
  518. </goals>
  519. <configuration>
  520. <transformers>
  521. <transformer implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer" />
  522. </transformers>
  523. </configuration>
  524. </execution>
  525. </executions>
  526. </plugin>
  527. <!--
  528. generate maven dependencies versions file that can be used later
  529. to install the right bundle in test phase.
  530. The file is:
  531. ${project.build.directory}/classes/META-INF/maven/dependencies.properties
  532. -->
  533. <plugin>
  534. <groupId>org.apache.servicemix.tooling</groupId>
  535. <artifactId>depends-maven-plugin</artifactId>
  536. <version>${depends-maven-plugin.version}</version>
  537. <executions>
  538. <execution>
  539. <id>generate-depends-file</id>
  540. <goals>
  541. <goal>generate-depends-file</goal>
  542. </goals>
  543. </execution>
  544. </executions>
  545. </plugin>
  546. <plugin>
  547. <groupId>org.apache.felix</groupId>
  548. <artifactId>maven-bundle-plugin</artifactId>
  549. <version>${maven-bundle-plugin.version}</version>
  550. <extensions>true</extensions>
  551. </plugin>
  552. <plugin>
  553. <groupId>net.revelc.code.formatter</groupId>
  554. <artifactId>formatter-maven-plugin</artifactId>
  555. <version>${formatter-maven-plugin.version}</version>
  556. <configuration>
  557. <configFile>${jetcd.project.root}/etc/eclipse-formatter-config.xml</configFile>
  558. </configuration>
  559. </plugin>
  560. <plugin>
  561. <groupId>net.revelc.code</groupId>
  562. <artifactId>impsort-maven-plugin</artifactId>
  563. <version>${impsort-maven-plugin.version}</version>
  564. <configuration>
  565. <groups>java.,javax.,org.w3c.,org.xml.,junit.</groups>
  566. <removeUnused>true</removeUnused>
  567. <staticAfter>true</staticAfter>
  568. <staticGroups>java.,javax.,org.w3c.,org.xml.,junit.</staticGroups>
  569. </configuration>
  570. </plugin>
  571. <plugin>
  572. <groupId>org.codehaus.mojo</groupId>
  573. <artifactId>exec-maven-plugin</artifactId>
  574. <version>${exec-maven-plugin.version}</version>
  575. </plugin>
  576. <!--This plugin's configuration is used to store Eclipse m2e settings only. It has no influence on the Maven build itself.-->
  577. <plugin>
  578. <groupId>org.eclipse.m2e</groupId>
  579. <artifactId>lifecycle-mapping</artifactId>
  580. <version>1.0.0</version>
  581. <configuration>
  582. <lifecycleMappingMetadata>
  583. <pluginExecutions>
  584. <pluginExecution>
  585. <pluginExecutionFilter>
  586. <groupId>kr.motd.maven</groupId>
  587. <artifactId>os-maven-plugin</artifactId>
  588. <versionRange>[1.6.0,)</versionRange>
  589. <goals>
  590. <goal>detect</goal>
  591. </goals>
  592. </pluginExecutionFilter>
  593. <action>
  594. <execute />
  595. </action>
  596. </pluginExecution>
  597. <pluginExecution>
  598. <pluginExecutionFilter>
  599. <groupId>org.commonjava.maven.plugins</groupId>
  600. <artifactId>directory-maven-plugin</artifactId>
  601. <versionRange>[0.3.1,)</versionRange>
  602. <goals>
  603. <goal>highest-basedir</goal>
  604. </goals>
  605. </pluginExecutionFilter>
  606. <action>
  607. <ignore />
  608. </action>
  609. </pluginExecution>
  610. <pluginExecution>
  611. <pluginExecutionFilter>
  612. <groupId>org.xolstice.maven.plugins</groupId>
  613. <artifactId>protobuf-maven-plugin</artifactId>
  614. <versionRange>[0.5.1,)</versionRange>
  615. <goals>
  616. <goal>compile</goal>
  617. <goal>compile-custom</goal>
  618. </goals>
  619. </pluginExecutionFilter>
  620. <action>
  621. <ignore />
  622. </action>
  623. </pluginExecution>
  624. <pluginExecution>
  625. <pluginExecutionFilter>
  626. <groupId>org.apache.servicemix.tooling</groupId>
  627. <artifactId>depends-maven-plugin</artifactId>
  628. <versionRange>[1.4.0,)</versionRange>
  629. <goals>
  630. <goal>generate-depends-file</goal>
  631. </goals>
  632. </pluginExecutionFilter>
  633. <action>
  634. <ignore />
  635. </action>
  636. </pluginExecution>
  637. </pluginExecutions>
  638. </lifecycleMappingMetadata>
  639. </configuration>
  640. </plugin>
  641. </plugins>
  642. </pluginManagement>
  643. <plugins>
  644. <plugin>
  645. <groupId>org.commonjava.maven.plugins</groupId>
  646. <artifactId>directory-maven-plugin</artifactId>
  647. <version>${directory-maven-plugin.version}</version>
  648. <executions>
  649. <execution>
  650. <id>directories</id>
  651. <goals>
  652. <goal>highest-basedir</goal>
  653. </goals>
  654. <phase>initialize</phase>
  655. <configuration>
  656. <property>jetcd.project.root</property>
  657. </configuration>
  658. </execution>
  659. </executions>
  660. </plugin>
  661. <plugin>
  662. <groupId>net.revelc.code.formatter</groupId>
  663. <artifactId>formatter-maven-plugin</artifactId>
  664. <executions>
  665. <execution>
  666. <id>format</id>
  667. <goals>
  668. <goal>format</goal>
  669. </goals>
  670. <phase>process-sources</phase>
  671. </execution>
  672. </executions>
  673. </plugin>
  674. <plugin>
  675. <groupId>net.revelc.code</groupId>
  676. <artifactId>impsort-maven-plugin</artifactId>
  677. <executions>
  678. <execution>
  679. <id>sort-imports</id>
  680. <goals>
  681. <goal>sort</goal>
  682. </goals>
  683. <phase>process-sources</phase>
  684. </execution>
  685. </executions>
  686. </plugin>
  687. <plugin>
  688. <groupId>com.mycila</groupId>
  689. <artifactId>license-maven-plugin</artifactId>
  690. <version>${license-maven-plugin.version}</version>
  691. <configuration>
  692. <properties>
  693. <project.inceptionYear>2016</project.inceptionYear>
  694. </properties>
  695. <header>${jetcd.project.root}/etc/license.txt</header>
  696. <excludes>
  697. <exclude>**/ErrorCode.java</exclude>
  698. <exclude>LICENSE</exclude>
  699. <exclude>MAINTAINERS</exclude>
  700. <exclude>CONTRIBUTING.md</exclude>
  701. <exclude>README.adoc</exclude>
  702. <exclude>README.md</exclude>
  703. <exclude>README.MD</exclude>
  704. <exclude>NOTICE</exclude>
  705. <exclude>DCO</exclude>
  706. <exclude>docs/**</exclude>
  707. <exclude>.mvn/wrapper/**</exclude>
  708. <exclude>mvnw*</exclude>
  709. <exclude>etc/license.txt</exclude>
  710. <exclude>src/test/resources/ssl/**</exclude>
  711. <exclude>external/**</exclude>
  712. <exclude>target-ide/**</exclude>
  713. <exclude>.factorypath</exclude>
  714. </excludes>
  715. <headerDefinitions>
  716. <headerDefinition>${jetcd.project.root}/etc/license-formatting.xml</headerDefinition>
  717. </headerDefinitions>
  718. <mapping>
  719. <proto>DOUBLESLASH_STYLE</proto>
  720. <java>SLASHSTART_WITH_BLANKLINE_STYLE</java>
  721. </mapping>
  722. </configuration>
  723. <dependencies>
  724. <dependency>
  725. <groupId>com.mycila</groupId>
  726. <artifactId>license-maven-plugin-git</artifactId>
  727. <!-- make sure you use the same version as license-maven-plugin -->
  728. <version>${license-maven-plugin.version}</version>
  729. </dependency>
  730. </dependencies>
  731. <executions>
  732. <execution>
  733. <goals>
  734. <goal>check</goal>
  735. </goals>
  736. </execution>
  737. </executions>
  738. </plugin>
  739. <plugin>
  740. <groupId>org.apache.maven.plugins</groupId>
  741. <artifactId>maven-release-plugin</artifactId>
  742. <version>${maven-release-plugin.version}</version>
  743. <configuration>
  744. <arguments>-DskipTests=true -Dmaven.javadoc.failOnError=false</arguments>
  745. <autoVersionSubmodules>true</autoVersionSubmodules>
  746. <useReleaseProfile>false</useReleaseProfile>
  747. <releaseProfiles>release</releaseProfiles>
  748. <goals>deploy</goals>
  749. <tagNameFormat>jetcd-@{project.version}</tagNameFormat>
  750. </configuration>
  751. </plugin>
  752. </plugins>
  753. </build>
  754. <profiles>
  755. <profile>
  756. <id>disable-java8-doclint</id>
  757. <activation>
  758. <jdk>[1.8,)</jdk>
  759. </activation>
  760. <properties>
  761. <additionalparam>-Xdoclint:none</additionalparam>
  762. </properties>
  763. </profile>
  764. <profile>
  765. <id>fast</id>
  766. <properties>
  767. <maven.test.skip>true</maven.test.skip>
  768. <license.skip>true</license.skip>
  769. </properties>
  770. </profile>
  771. <profile>
  772. <id>check-format</id>
  773. <activation>
  774. <activeByDefault>false</activeByDefault>
  775. </activation>
  776. <build>
  777. <plugins>
  778. <plugin>
  779. <groupId>net.revelc.code.formatter</groupId>
  780. <artifactId>formatter-maven-plugin</artifactId>
  781. <executions>
  782. <execution>
  783. <id>format</id>
  784. <phase />
  785. </execution>
  786. <execution>
  787. <id>validate</id>
  788. <phase>process-resources</phase>
  789. <goals>
  790. <goal>validate</goal>
  791. </goals>
  792. </execution>
  793. </executions>
  794. </plugin>
  795. <plugin>
  796. <groupId>net.revelc.code</groupId>
  797. <artifactId>impsort-maven-plugin</artifactId>
  798. <executions>
  799. <execution>
  800. <id>sort-imports</id>
  801. <phase />
  802. </execution>
  803. <execution>
  804. <id>check</id>
  805. <phase>process-resources</phase>
  806. <goals>
  807. <goal>check</goal>
  808. </goals>
  809. </execution>
  810. </executions>
  811. </plugin>
  812. </plugins>
  813. </build>
  814. </profile>
  815. <profile>
  816. <id>deps</id>
  817. <build>
  818. <plugins>
  819. <plugin>
  820. <groupId>org.codehaus.mojo</groupId>
  821. <artifactId>versions-maven-plugin</artifactId>
  822. <version>${versions-maven-plugin.version}</version>
  823. <configuration>
  824. <rulesUri>file:///${jetcd.project.root}/etc/versions-rules.xml</rulesUri>
  825. </configuration>
  826. <executions>
  827. <execution>
  828. <phase>initialize</phase>
  829. <goals>
  830. <goal>display-dependency-updates</goal>
  831. </goals>
  832. </execution>
  833. </executions>
  834. </plugin>
  835. </plugins>
  836. </build>
  837. </profile>
  838. <profile>
  839. <id>release</id>
  840. <build>
  841. <plugins>
  842. <plugin>
  843. <groupId>org.apache.maven.plugins</groupId>
  844. <artifactId>maven-source-plugin</artifactId>
  845. <version>${maven-source-plugin.version}</version>
  846. <executions>
  847. <execution>
  848. <id>attach-sources</id>
  849. <phase>verify</phase>
  850. <goals>
  851. <goal>jar-no-fork</goal>
  852. </goals>
  853. </execution>
  854. </executions>
  855. </plugin>
  856. <plugin>
  857. <groupId>org.apache.maven.plugins</groupId>
  858. <artifactId>maven-javadoc-plugin</artifactId>
  859. <version>${maven-javadoc-plugin.version}</version>
  860. <configuration>
  861. <aggregate>true</aggregate>
  862. <encoding>UTF-8</encoding>
  863. <excludePackageNames>*.protobuf.*</excludePackageNames>
  864. </configuration>
  865. <executions>
  866. <execution>
  867. <id>attach-javadocs</id>
  868. <goals>
  869. <goal>jar</goal>
  870. </goals>
  871. </execution>
  872. </executions>
  873. </plugin>
  874. <plugin>
  875. <groupId>org.apache.maven.plugins</groupId>
  876. <artifactId>maven-gpg-plugin</artifactId>
  877. <version>${maven-gpg-plugin.version}</version>
  878. <executions>
  879. <execution>
  880. <id>sign-artifacts</id>
  881. <phase>verify</phase>
  882. <goals>
  883. <goal>sign</goal>
  884. </goals>
  885. </execution>
  886. </executions>
  887. </plugin>
  888. <plugin>
  889. <groupId>org.sonatype.plugins</groupId>
  890. <artifactId>nexus-staging-maven-plugin</artifactId>
  891. <version>${nexus-staging-maven-plugin.version}</version>
  892. <extensions>true</extensions>
  893. <configuration>
  894. <serverId>ossrh</serverId>
  895. <nexusUrl>https://oss.sonatype.org/</nexusUrl>
  896. <autoReleaseAfterClose>true</autoReleaseAfterClose>
  897. </configuration>
  898. </plugin>
  899. </plugins>
  900. </build>
  901. </profile>
  902. <profile>
  903. <id>ide</id>
  904. <activation>
  905. <property>
  906. <name>m2e.version</name>
  907. </property>
  908. </activation>
  909. <build>
  910. <!-- Put the IDE's build output in a folder other than target, so that IDE builds don't interact with Maven builds -->
  911. <directory>target-ide</directory>
  912. </build>
  913. </profile>
  914. </profiles>
  915. <distributionManagement>
  916. <snapshotRepository>
  917. <id>ossrh</id>
  918. <url>https://oss.sonatype.org/content/repositories/snapshots</url>
  919. </snapshotRepository>
  920. <repository>
  921. <id>ossrh</id>
  922. <url>https://oss.sonatype.org/service/local/staging/deploy/maven2/</url>
  923. </repository>
  924. </distributionManagement>
  925. </project>