netty-parent-4.1.27.Final.pom 52 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!--
  3. ~ Copyright 2012 The Netty Project
  4. ~
  5. ~ The Netty Project licenses this file to you under the Apache License,
  6. ~ version 2.0 (the "License"); you may not use this file except in compliance
  7. ~ with the License. You may obtain a copy of the License at:
  8. ~
  9. ~ http://www.apache.org/licenses/LICENSE-2.0
  10. ~
  11. ~ Unless required by applicable law or agreed to in writing, software
  12. ~ distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
  13. ~ WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
  14. ~ License for the specific language governing permissions and limitations
  15. ~ under the License.
  16. -->
  17. <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">
  18. <modelVersion>4.0.0</modelVersion>
  19. <parent>
  20. <groupId>org.sonatype.oss</groupId>
  21. <artifactId>oss-parent</artifactId>
  22. <version>9</version>
  23. </parent>
  24. <groupId>io.netty</groupId>
  25. <artifactId>netty-parent</artifactId>
  26. <packaging>pom</packaging>
  27. <version>4.1.27.Final</version>
  28. <name>Netty</name>
  29. <url>http://netty.io/</url>
  30. <description>
  31. Netty is an asynchronous event-driven network application framework for
  32. rapid development of maintainable high performance protocol servers and
  33. clients.
  34. </description>
  35. <organization>
  36. <name>The Netty Project</name>
  37. <url>http://netty.io/</url>
  38. </organization>
  39. <licenses>
  40. <license>
  41. <name>Apache License, Version 2.0</name>
  42. <url>http://www.apache.org/licenses/LICENSE-2.0</url>
  43. </license>
  44. </licenses>
  45. <inceptionYear>2008</inceptionYear>
  46. <scm>
  47. <url>https://github.com/netty/netty</url>
  48. <connection>scm:git:git://github.com/netty/netty.git</connection>
  49. <developerConnection>scm:git:ssh://git@github.com/netty/netty.git</developerConnection>
  50. <tag>netty-4.1.27.Final</tag>
  51. </scm>
  52. <developers>
  53. <developer>
  54. <id>netty.io</id>
  55. <name>The Netty Project Contributors</name>
  56. <email>netty@googlegroups.com</email>
  57. <url>http://netty.io/</url>
  58. <organization>The Netty Project</organization>
  59. <organizationUrl>http://netty.io/</organizationUrl>
  60. </developer>
  61. </developers>
  62. <profiles>
  63. <!-- JDK11 -->
  64. <profile>
  65. <id>java11</id>
  66. <activation>
  67. <jdk>11</jdk>
  68. </activation>
  69. <properties>
  70. <!-- Not use alpn agent as Java11 supports alpn out of the box -->
  71. <argLine.alpnAgent />
  72. <forbiddenapis.skip>true</forbiddenapis.skip>
  73. <!-- Needed because of https://issues.apache.org/jira/browse/MENFORCER-275 -->
  74. <enforcer.plugin.version>3.0.0-M1</enforcer.plugin.version>
  75. <!-- 1.4.x does not work in Java10+ -->
  76. <jboss.marshalling.version>2.0.5.Final</jboss.marshalling.version>
  77. </properties>
  78. </profile>
  79. <!-- JDK10 -->
  80. <profile>
  81. <id>java10</id>
  82. <activation>
  83. <jdk>10</jdk>
  84. </activation>
  85. <properties>
  86. <!-- Not use alpn agent as Java10 supports alpn out of the box -->
  87. <argLine.alpnAgent />
  88. <forbiddenapis.skip>true</forbiddenapis.skip>
  89. <!-- Needed because of https://issues.apache.org/jira/browse/MENFORCER-275 -->
  90. <enforcer.plugin.version>3.0.0-M1</enforcer.plugin.version>
  91. <!-- 1.4.x does not work in Java10+ -->
  92. <jboss.marshalling.version>2.0.5.Final</jboss.marshalling.version>
  93. </properties>
  94. </profile>
  95. <!-- JDK9 -->
  96. <profile>
  97. <id>java9</id>
  98. <properties>
  99. <argLine.java9.extras />
  100. <!-- Export some stuff which is used during our tests -->
  101. <argLine.java9>--add-modules java.xml.bind ${argLine.java9.extras}</argLine.java9>
  102. <!-- Not use alpn agent as Java9 supports alpn out of the box -->
  103. <argLine.alpnAgent />
  104. <!-- Skip as maven plugin not works with Java9 yet -->
  105. <forbiddenapis.skip>true</forbiddenapis.skip>
  106. <!-- Needed because of https://issues.apache.org/jira/browse/MENFORCER-275 -->
  107. <enforcer.plugin.version>3.0.0-M1</enforcer.plugin.version>
  108. </properties>
  109. <activation>
  110. <jdk>9</jdk>
  111. </activation>
  112. </profile>
  113. <profile>
  114. <id>leak</id>
  115. <properties>
  116. <argLine.leak>-Dio.netty.leakDetectionLevel=paranoid -Dio.netty.leakDetection.maxRecords=32</argLine.leak>
  117. </properties>
  118. </profile>
  119. <profile>
  120. <id>noPrintGC</id>
  121. <properties>
  122. <argLine.printGC>-D_</argLine.printGC>
  123. </properties>
  124. </profile>
  125. <profile>
  126. <id>noUnsafe</id>
  127. <properties>
  128. <argLine.noUnsafe>-Dio.netty.noUnsafe</argLine.noUnsafe>
  129. </properties>
  130. </profile>
  131. <profile>
  132. <id>coverage</id>
  133. <properties>
  134. <argLine.coverage>${jacoco.argLine}</argLine.coverage>
  135. </properties>
  136. <build>
  137. <plugins>
  138. <plugin>
  139. <groupId>org.jacoco</groupId>
  140. <artifactId>jacoco-maven-plugin</artifactId>
  141. <version>0.7.7.201606060606</version>
  142. <executions>
  143. <execution>
  144. <id>jacoco-prepare-agent</id>
  145. <goals>
  146. <goal>prepare-agent</goal>
  147. </goals>
  148. <configuration>
  149. <propertyName>jacoco.argLine</propertyName>
  150. </configuration>
  151. </execution>
  152. </executions>
  153. </plugin>
  154. </plugins>
  155. </build>
  156. </profile>
  157. <profile>
  158. <id>jdk8</id>
  159. <activation>
  160. <jdk>[1.8,)</jdk>
  161. </activation>
  162. <properties>
  163. <!-- Our Javadoc has poor enough quality to fail the build thanks to JDK8 javadoc which got more strict. -->
  164. <maven.javadoc.failOnError>false</maven.javadoc.failOnError>
  165. </properties>
  166. </profile>
  167. <profile>
  168. <!--
  169. This profile exists because either ALPN or NPN can exits on the class path at once, but not both.
  170. The JDK version is typically used to distinguish which should be used but there is some overlap
  171. where both could be used. ALPN is the default and this profile is enabled with a -Dforcenpn=true arugument
  172. -->
  173. <id>forcenpn</id>
  174. <activation>
  175. <property>
  176. <name>forcenpn</name>
  177. <value>true</value>
  178. </property>
  179. </activation>
  180. <properties>
  181. <jetty.alpnAgent.option>forceNpn=true</jetty.alpnAgent.option>
  182. </properties>
  183. </profile>
  184. </profiles>
  185. <properties>
  186. <maven.compiler.source>1.6</maven.compiler.source>
  187. <maven.compiler.target>1.6</maven.compiler.target>
  188. <netty.dev.tools.directory>${project.build.directory}/dev-tools</netty.dev.tools.directory>
  189. <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  190. <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
  191. <netty.build.version>22</netty.build.version>
  192. <jboss.marshalling.version>1.4.11.Final</jboss.marshalling.version>
  193. <jetty.alpnAgent.version>2.0.7</jetty.alpnAgent.version>
  194. <jetty.alpnAgent.path>"${settings.localRepository}"/org/mortbay/jetty/alpn/jetty-alpn-agent/${jetty.alpnAgent.version}/jetty-alpn-agent-${jetty.alpnAgent.version}.jar</jetty.alpnAgent.path>
  195. <argLine.common>
  196. -server
  197. -dsa -da -ea:io.netty...
  198. -XX:+HeapDumpOnOutOfMemoryError
  199. </argLine.common>
  200. <!-- Default to ALPN. See forcenpn profile to force NPN -->
  201. <argLine.alpnAgent>-javaagent:${jetty.alpnAgent.path}=${jetty.alpnAgent.option}</argLine.alpnAgent>
  202. <argLine.leak>-D_</argLine.leak> <!-- Overridden when 'leak' profile is active -->
  203. <argLine.noUnsafe>-D_</argLine.noUnsafe> <!-- Overridden when 'noUnsafe' profile is active -->
  204. <argLine.coverage>-D_</argLine.coverage> <!-- Overridden when 'coverage' profile is active -->
  205. <argLine.printGC>-XX:+PrintGCDetails</argLine.printGC>
  206. <argLine.java9 /> <!-- Overridden when 'java9' profile is active -->
  207. <argLine.javaProperties>-D_</argLine.javaProperties>
  208. <!-- Configure the os-maven-plugin extension to expand the classifier on -->
  209. <!-- Fedora-"like" systems. This is currently only used for the netty-tcnative dependency -->
  210. <os.detection.classifierWithLikes>fedora</os.detection.classifierWithLikes>
  211. <tcnative.artifactId>netty-tcnative</tcnative.artifactId>
  212. <tcnative.version>2.0.12.Final</tcnative.version>
  213. <tcnative.classifier>${os.detected.classifier}</tcnative.classifier>
  214. <conscrypt.groupId>org.conscrypt</conscrypt.groupId>
  215. <conscrypt.artifactId>conscrypt-openjdk-uber</conscrypt.artifactId>
  216. <conscrypt.version>1.1.3</conscrypt.version>
  217. <conscrypt.classifier />
  218. <jni.classifier>${os.detected.name}-${os.detected.arch}</jni.classifier>
  219. <logging.config>${project.basedir}/../common/src/test/resources/logback-test.xml</logging.config>
  220. <logging.logLevel>debug</logging.logLevel>
  221. <log4j2.version>2.6.2</log4j2.version>
  222. <enforcer.plugin.version>1.4.1</enforcer.plugin.version>
  223. <testJavaHome>${env.JAVA_HOME}</testJavaHome>
  224. <skipOsgiTestsuite>false</skipOsgiTestsuite>
  225. <skipAutobahnTestsuite>false</skipAutobahnTestsuite>
  226. <skipHttp2Testsuite>false</skipHttp2Testsuite>
  227. </properties>
  228. <modules>
  229. <module>all</module>
  230. <module>dev-tools</module>
  231. <module>common</module>
  232. <module>buffer</module>
  233. <module>codec</module>
  234. <module>codec-dns</module>
  235. <module>codec-haproxy</module>
  236. <module>codec-http</module>
  237. <module>codec-http2</module>
  238. <module>codec-memcache</module>
  239. <module>codec-mqtt</module>
  240. <module>codec-redis</module>
  241. <module>codec-smtp</module>
  242. <module>codec-socks</module>
  243. <module>codec-stomp</module>
  244. <module>codec-xml</module>
  245. <module>resolver</module>
  246. <module>resolver-dns</module>
  247. <module>tarball</module>
  248. <module>transport</module>
  249. <module>transport-native-unix-common-tests</module>
  250. <module>transport-native-unix-common</module>
  251. <module>transport-native-epoll</module>
  252. <module>transport-native-kqueue</module>
  253. <module>transport-rxtx</module>
  254. <module>transport-sctp</module>
  255. <module>transport-udt</module>
  256. <module>handler</module>
  257. <module>handler-proxy</module>
  258. <module>example</module>
  259. <module>testsuite</module>
  260. <module>testsuite-autobahn</module>
  261. <module>testsuite-http2</module>
  262. <module>testsuite-osgi</module>
  263. <module>microbench</module>
  264. <module>bom</module>
  265. </modules>
  266. <dependencyManagement>
  267. <dependencies>
  268. <dependency>
  269. <groupId>${project.groupId}</groupId>
  270. <artifactId>netty-dev-tools</artifactId>
  271. <version>${project.version}</version>
  272. </dependency>
  273. <!-- Needed for java11 and later as javax.activation is not part of the JDK anymore -->
  274. <dependency>
  275. <groupId>com.sun.activation</groupId>
  276. <artifactId>javax.activation</artifactId>
  277. <version>1.2.0</version>
  278. </dependency>
  279. <!-- Byte code generator - completely optional -->
  280. <dependency>
  281. <groupId>org.javassist</groupId>
  282. <artifactId>javassist</artifactId>
  283. <version>3.20.0-GA</version>
  284. <scope>compile</scope>
  285. <optional>true</optional>
  286. </dependency>
  287. <!-- JBoss Marshalling - completely optional -->
  288. <dependency>
  289. <groupId>org.jboss.marshalling</groupId>
  290. <artifactId>jboss-marshalling</artifactId>
  291. <version>${jboss.marshalling.version}</version>
  292. <scope>compile</scope>
  293. <optional>true</optional>
  294. </dependency>
  295. <!-- SPDY and HTTP/2 - completely optional -->
  296. <dependency>
  297. <groupId>org.eclipse.jetty.npn</groupId>
  298. <artifactId>npn-api</artifactId>
  299. <version>1.1.1.v20141010</version>
  300. <scope>provided</scope> <!-- Provided by npn-boot -->
  301. </dependency>
  302. <dependency>
  303. <groupId>org.eclipse.jetty.alpn</groupId>
  304. <artifactId>alpn-api</artifactId>
  305. <version>1.1.2.v20150522</version>
  306. <scope>provided</scope> <!-- Provided by alpn-boot -->
  307. </dependency>
  308. <!-- Google Protocol Buffers - completely optional -->
  309. <dependency>
  310. <groupId>com.google.protobuf</groupId>
  311. <artifactId>protobuf-java</artifactId>
  312. <version>2.6.1</version>
  313. </dependency>
  314. <dependency>
  315. <groupId>com.google.protobuf.nano</groupId>
  316. <artifactId>protobuf-javanano</artifactId>
  317. <version>3.0.0-alpha-5</version>
  318. </dependency>
  319. <!-- Our own Tomcat Native fork - completely optional, used for accelerating SSL with OpenSSL. -->
  320. <dependency>
  321. <groupId>${project.groupId}</groupId>
  322. <artifactId>${tcnative.artifactId}</artifactId>
  323. <version>${tcnative.version}</version>
  324. <classifier>${tcnative.classifier}</classifier>
  325. <scope>compile</scope>
  326. <optional>true</optional>
  327. </dependency>
  328. <!-- Conscrypt - needed for running tests, used for acclerating SSL with OpenSSL. -->
  329. <dependency>
  330. <groupId>${conscrypt.groupId}</groupId>
  331. <artifactId>${conscrypt.artifactId}</artifactId>
  332. <classifier>${conscrypt.classifier}</classifier>
  333. <version>${conscrypt.version}</version>
  334. <scope>compile</scope>
  335. <optional>true</optional>
  336. </dependency>
  337. <!--
  338. Bouncy Castle - completely optional, only needed when:
  339. - you generate a temporary self-signed certificate using SelfSignedCertificate, and
  340. - you don't use the JDK which doesn't provide sun.security.x509 package.
  341. -->
  342. <dependency>
  343. <groupId>org.bouncycastle</groupId>
  344. <artifactId>bcpkix-jdk15on</artifactId>
  345. <version>1.54</version>
  346. <scope>compile</scope>
  347. <optional>true</optional>
  348. </dependency>
  349. <!--
  350. Completely optional and only needed for OCSP stapling to construct and
  351. parse OCSP requests and responses.
  352. -->
  353. <dependency>
  354. <groupId>org.bouncycastle</groupId>
  355. <artifactId>bcprov-jdk15on</artifactId>
  356. <version>1.54</version>
  357. <scope>compile</scope>
  358. <optional>true</optional>
  359. </dependency>
  360. <dependency>
  361. <groupId>com.fasterxml</groupId>
  362. <artifactId>aalto-xml</artifactId>
  363. <version>1.0.0</version>
  364. </dependency>
  365. <dependency>
  366. <groupId>com.jcraft</groupId>
  367. <artifactId>jzlib</artifactId>
  368. <version>1.1.3</version>
  369. </dependency>
  370. <dependency>
  371. <groupId>com.ning</groupId>
  372. <artifactId>compress-lzf</artifactId>
  373. <version>1.0.3</version>
  374. </dependency>
  375. <dependency>
  376. <groupId>net.jpountz.lz4</groupId>
  377. <artifactId>lz4</artifactId>
  378. <version>1.3.0</version>
  379. </dependency>
  380. <dependency>
  381. <groupId>com.github.jponge</groupId>
  382. <artifactId>lzma-java</artifactId>
  383. <version>1.3</version>
  384. </dependency>
  385. <!-- Java concurrency tools for the JVM -->
  386. <dependency>
  387. <groupId>org.jctools</groupId>
  388. <artifactId>jctools-core</artifactId>
  389. <version>2.1.1</version>
  390. </dependency>
  391. <dependency>
  392. <groupId>org.rxtx</groupId>
  393. <artifactId>rxtx</artifactId>
  394. <version>2.1.7</version>
  395. </dependency>
  396. <dependency>
  397. <groupId>com.barchart.udt</groupId>
  398. <artifactId>barchart-udt-bundle</artifactId>
  399. <version>2.3.0</version>
  400. </dependency>
  401. <dependency>
  402. <groupId>javax.servlet</groupId>
  403. <artifactId>servlet-api</artifactId>
  404. <version>2.5</version>
  405. </dependency>
  406. <dependency>
  407. <groupId>org.slf4j</groupId>
  408. <artifactId>slf4j-api</artifactId>
  409. <version>1.7.21</version>
  410. </dependency>
  411. <dependency>
  412. <groupId>commons-logging</groupId>
  413. <artifactId>commons-logging</artifactId>
  414. <version>1.2</version>
  415. </dependency>
  416. <dependency>
  417. <groupId>org.apache.logging.log4j</groupId>
  418. <artifactId>log4j-api</artifactId>
  419. <version>${log4j2.version}</version>
  420. </dependency>
  421. <dependency>
  422. <groupId>log4j</groupId>
  423. <artifactId>log4j</artifactId>
  424. <version>1.2.17</version>
  425. <exclusions>
  426. <exclusion>
  427. <artifactId>mail</artifactId>
  428. <groupId>javax.mail</groupId>
  429. </exclusion>
  430. <exclusion>
  431. <artifactId>jms</artifactId>
  432. <groupId>javax.jms</groupId>
  433. </exclusion>
  434. <exclusion>
  435. <artifactId>jmxtools</artifactId>
  436. <groupId>com.sun.jdmk</groupId>
  437. </exclusion>
  438. <exclusion>
  439. <artifactId>jmxri</artifactId>
  440. <groupId>com.sun.jmx</groupId>
  441. </exclusion>
  442. </exclusions>
  443. <optional>true</optional>
  444. </dependency>
  445. <!-- Metrics providers -->
  446. <dependency>
  447. <groupId>com.yammer.metrics</groupId>
  448. <artifactId>metrics-core</artifactId>
  449. <version>2.2.0</version>
  450. </dependency>
  451. <!-- Common test dependencies -->
  452. <dependency>
  453. <groupId>junit</groupId>
  454. <artifactId>junit</artifactId>
  455. <version>4.12</version>
  456. <scope>test</scope>
  457. </dependency>
  458. <dependency>
  459. <groupId>${project.groupId}</groupId>
  460. <artifactId>netty-build</artifactId>
  461. <version>${netty.build.version}</version>
  462. <scope>test</scope>
  463. </dependency>
  464. <dependency>
  465. <groupId>org.hamcrest</groupId>
  466. <artifactId>hamcrest-library</artifactId>
  467. <version>1.3</version>
  468. <scope>test</scope>
  469. </dependency>
  470. <dependency>
  471. <groupId>org.mockito</groupId>
  472. <artifactId>mockito-core</artifactId>
  473. <version>2.18.3</version>
  474. <scope>test</scope>
  475. </dependency>
  476. <dependency>
  477. <groupId>ch.qos.logback</groupId>
  478. <artifactId>logback-classic</artifactId>
  479. <version>1.1.7</version>
  480. <scope>test</scope>
  481. </dependency>
  482. <!-- Test dependencies for jboss marshalling encoder/decoder -->
  483. <dependency>
  484. <groupId>org.jboss.marshalling</groupId>
  485. <artifactId>jboss-marshalling-serial</artifactId>
  486. <version>${jboss.marshalling.version}</version>
  487. <scope>test</scope>
  488. </dependency>
  489. <dependency>
  490. <groupId>org.jboss.marshalling</groupId>
  491. <artifactId>jboss-marshalling-river</artifactId>
  492. <version>${jboss.marshalling.version}</version>
  493. <scope>test</scope>
  494. </dependency>
  495. <!-- Test dependencies for microbench -->
  496. <dependency>
  497. <groupId>com.google.caliper</groupId>
  498. <artifactId>caliper</artifactId>
  499. <version>0.5-rc1</version>
  500. <scope>test</scope>
  501. </dependency>
  502. <!-- Test dependency for Bzip2 compression codec -->
  503. <dependency>
  504. <groupId>org.apache.commons</groupId>
  505. <artifactId>commons-compress</artifactId>
  506. <version>1.12</version>
  507. <scope>test</scope>
  508. </dependency>
  509. <!-- Test dependency used by http/2 hpack -->
  510. <dependency>
  511. <groupId>com.google.code.gson</groupId>
  512. <artifactId>gson</artifactId>
  513. <version>2.7</version>
  514. <scope>test</scope>
  515. </dependency>
  516. <!-- Test suite dependency for generating a compressed heap dump file -->
  517. <dependency>
  518. <groupId>org.tukaani</groupId>
  519. <artifactId>xz</artifactId>
  520. <version>1.5</version>
  521. </dependency>
  522. <!-- Test dependency for resolver-dns -->
  523. <dependency>
  524. <groupId>org.apache.directory.server</groupId>
  525. <artifactId>apacheds-protocol-dns</artifactId>
  526. <version>1.5.7</version>
  527. <scope>test</scope>
  528. </dependency>
  529. <!-- Test dependency for log4j2 tests -->
  530. <dependency>
  531. <groupId>org.apache.logging.log4j</groupId>
  532. <artifactId>log4j-core</artifactId>
  533. <version>${log4j2.version}</version>
  534. <scope>test</scope>
  535. </dependency>
  536. </dependencies>
  537. </dependencyManagement>
  538. <dependencies>
  539. <!-- Enable Javassist support for all test runs -->
  540. <dependency>
  541. <groupId>org.javassist</groupId>
  542. <artifactId>javassist</artifactId>
  543. <scope>test</scope>
  544. </dependency>
  545. <!-- Testing frameworks and related dependencies -->
  546. <dependency>
  547. <groupId>junit</groupId>
  548. <artifactId>junit</artifactId>
  549. <scope>test</scope>
  550. </dependency>
  551. <dependency>
  552. <groupId>${project.groupId}</groupId>
  553. <artifactId>netty-build</artifactId>
  554. <scope>test</scope>
  555. </dependency>
  556. <dependency>
  557. <groupId>org.hamcrest</groupId>
  558. <artifactId>hamcrest-library</artifactId>
  559. <scope>test</scope>
  560. </dependency>
  561. <dependency>
  562. <groupId>ch.qos.logback</groupId>
  563. <artifactId>logback-classic</artifactId>
  564. <scope>test</scope>
  565. </dependency>
  566. </dependencies>
  567. <build>
  568. <extensions>
  569. <extension>
  570. <groupId>kr.motd.maven</groupId>
  571. <artifactId>os-maven-plugin</artifactId>
  572. <version>1.6.0</version>
  573. </extension>
  574. </extensions>
  575. <plugins>
  576. <plugin>
  577. <artifactId>maven-enforcer-plugin</artifactId>
  578. <version>${enforcer.plugin.version}</version>
  579. <executions>
  580. <execution>
  581. <id>enforce-tools</id>
  582. <goals>
  583. <goal>enforce</goal>
  584. </goals>
  585. <configuration>
  586. <rules>
  587. <requireJavaVersion>
  588. <!-- Enforce JDK 1.8+ for compilation. -->
  589. <!-- This is needed because of java.util.zip.Deflater and NIO UDP multicast. -->
  590. <version>[1.8.0,)</version>
  591. </requireJavaVersion>
  592. <requireMavenVersion>
  593. <version>[3.1.1,)</version>
  594. </requireMavenVersion>
  595. <requireProperty>
  596. <regexMessage>
  597. x86_64/AARCH64 JDK must be used.
  598. </regexMessage>
  599. <property>os.detected.arch</property>
  600. <regex>^(x86_64|aarch_64)$</regex>
  601. </requireProperty>
  602. </rules>
  603. </configuration>
  604. </execution>
  605. </executions>
  606. </plugin>
  607. <plugin>
  608. <artifactId>maven-compiler-plugin</artifactId>
  609. <version>3.6.0</version>
  610. <configuration>
  611. <compilerVersion>1.8</compilerVersion>
  612. <fork>true</fork>
  613. <source>${maven.compiler.source}</source>
  614. <target>${maven.compiler.target}</target>
  615. <debug>true</debug>
  616. <optimize>true</optimize>
  617. <showDeprecation>true</showDeprecation>
  618. <showWarnings>true</showWarnings>
  619. <compilerArgument>-Xlint:-options</compilerArgument>
  620. <!-- XXX: maven-release-plugin complains - MRELEASE-715 -->
  621. <!--
  622. <compilerArguments>
  623. <Xlint:-options />
  624. <Xlint:unchecked />
  625. <Xlint:deprecation />
  626. </compilerArguments>
  627. -->
  628. <meminitial>256m</meminitial>
  629. <maxmem>1024m</maxmem>
  630. <excludes>
  631. <exclude>**/package-info.java</exclude>
  632. </excludes>
  633. </configuration>
  634. </plugin>
  635. <plugin>
  636. <!-- ensure that only methods available in java 1.6 can
  637. be used even when compiling with java 1.7+ -->
  638. <groupId>org.codehaus.mojo</groupId>
  639. <artifactId>animal-sniffer-maven-plugin</artifactId>
  640. <version>1.16</version>
  641. <configuration>
  642. <signature>
  643. <groupId>org.codehaus.mojo.signature</groupId>
  644. <artifactId>java16</artifactId>
  645. <version>1.1</version>
  646. </signature>
  647. <ignores>
  648. <ignore>sun.misc.Unsafe</ignore>
  649. <ignore>sun.misc.Cleaner</ignore>
  650. <ignore>sun.nio.ch.DirectBuffer</ignore>
  651. <ignore>java.util.zip.Deflater</ignore>
  652. <!-- Used for NIO -->
  653. <ignore>java.nio.channels.DatagramChannel</ignore>
  654. <ignore>java.nio.channels.MembershipKey</ignore>
  655. <ignore>java.nio.channels.ServerSocketChannel</ignore>
  656. <ignore>java.nio.channels.SocketChannel</ignore>
  657. <ignore>java.net.StandardProtocolFamily</ignore>
  658. <ignore>java.nio.channels.spi.SelectorProvider</ignore>
  659. <!-- Self-signed certificate generation -->
  660. <ignore>sun.security.x509.AlgorithmId</ignore>
  661. <ignore>sun.security.x509.CertificateAlgorithmId</ignore>
  662. <ignore>sun.security.x509.CertificateIssuerName</ignore>
  663. <ignore>sun.security.x509.CertificateSerialNumber</ignore>
  664. <ignore>sun.security.x509.CertificateSubjectName</ignore>
  665. <ignore>sun.security.x509.CertificateValidity</ignore>
  666. <ignore>sun.security.x509.CertificateVersion</ignore>
  667. <ignore>sun.security.x509.CertificateX509Key</ignore>
  668. <ignore>sun.security.x509.X500Name</ignore>
  669. <ignore>sun.security.x509.X509CertInfo</ignore>
  670. <ignore>sun.security.x509.X509CertImpl</ignore>
  671. <!-- SSLSession implementation -->
  672. <ignore>javax.net.ssl.SSLEngine</ignore>
  673. <ignore>javax.net.ssl.X509ExtendedTrustManager</ignore>
  674. <ignore>javax.net.ssl.SSLParameters</ignore>
  675. <ignore>javax.net.ssl.SNIServerName</ignore>
  676. <ignore>javax.net.ssl.SNIHostName</ignore>
  677. <ignore>javax.net.ssl.SNIMatcher</ignore>
  678. <ignore>java.security.AlgorithmConstraints</ignore>
  679. <ignore>java.security.cert.CertificateRevokedException</ignore>
  680. <ignore>java.security.cert.CertPathValidatorException</ignore>
  681. <ignore>java.security.cert.CertPathValidatorException$Reason</ignore>
  682. <ignore>java.security.cert.CertPathValidatorException$BasicReason</ignore>
  683. <ignore>java.util.concurrent.ConcurrentLinkedDeque</ignore>
  684. <ignore>java.util.concurrent.ThreadLocalRandom</ignore>
  685. <!-- Compression -->
  686. <ignore>java.util.zip.CRC32</ignore>
  687. <ignore>java.util.zip.Adler32</ignore>
  688. <!-- NioDatagramChannel implementation -->
  689. <ignore>java.net.ProtocolFamily</ignore>
  690. <!-- JDK 9 -->
  691. <ignore>java.nio.ByteBuffer</ignore>
  692. <ignore>java.nio.CharBuffer</ignore>
  693. <!-- JDK 8 -->
  694. <ignore>java.util.concurrent.atomic.LongAdder</ignore>
  695. <ignore>java.util.function.BiFunction</ignore>
  696. <!-- Resolver -->
  697. <ignore>java.net.InetAddress</ignore>
  698. <!-- NoexecVolumeDetector -->
  699. <ignore>java.nio.file.attribute.PosixFilePermission</ignore>
  700. <ignore>java.nio.file.Files</ignore>
  701. <ignore>java.nio.file.LinkOption</ignore>
  702. <ignore>java.nio.file.Path</ignore>
  703. <ignore>java.io.File</ignore>
  704. </ignores>
  705. <annotations>
  706. <annotation>io.netty.util.internal.SuppressJava6Requirement</annotation>
  707. </annotations>
  708. </configuration>
  709. <executions>
  710. <execution>
  711. <phase>process-classes</phase>
  712. <goals>
  713. <goal>check</goal>
  714. </goals>
  715. </execution>
  716. </executions>
  717. </plugin>
  718. <plugin>
  719. <artifactId>maven-checkstyle-plugin</artifactId>
  720. <version>2.12.1</version>
  721. <executions>
  722. <execution>
  723. <id>check-style</id>
  724. <goals>
  725. <goal>check</goal>
  726. </goals>
  727. <phase>validate</phase>
  728. <configuration>
  729. <consoleOutput>true</consoleOutput>
  730. <logViolationsToConsole>true</logViolationsToConsole>
  731. <failsOnError>true</failsOnError>
  732. <failOnViolation>true</failOnViolation>
  733. <configLocation>io/netty/checkstyle.xml</configLocation>
  734. <includeTestSourceDirectory>true</includeTestSourceDirectory>
  735. </configuration>
  736. </execution>
  737. </executions>
  738. <dependencies>
  739. <dependency>
  740. <groupId>${project.groupId}</groupId>
  741. <artifactId>netty-build</artifactId>
  742. <version>${netty.build.version}</version>
  743. </dependency>
  744. </dependencies>
  745. </plugin>
  746. <plugin>
  747. <groupId>org.codehaus.mojo</groupId>
  748. <artifactId>xml-maven-plugin</artifactId>
  749. <version>1.0.1</version>
  750. <executions>
  751. <execution>
  752. <id>check-style</id>
  753. <goals>
  754. <goal>check-format</goal>
  755. </goals>
  756. <phase>validate</phase>
  757. </execution>
  758. </executions>
  759. <configuration>
  760. <formatFileSets>
  761. <formatFileSet>
  762. <directory>${project.basedir}</directory>
  763. <includes>
  764. <include>**/pom.xml</include>
  765. </includes>
  766. </formatFileSet>
  767. </formatFileSets>
  768. <useDefaultFormatFileSet>false</useDefaultFormatFileSet>
  769. </configuration>
  770. </plugin>
  771. <!-- Download the npn-boot.jar in advance to add it to the boot classpath. -->
  772. <plugin>
  773. <artifactId>maven-dependency-plugin</artifactId>
  774. <executions>
  775. <execution>
  776. <id>get-jetty-alpn-agent</id>
  777. <phase>validate</phase>
  778. <goals>
  779. <goal>get</goal>
  780. </goals>
  781. <configuration>
  782. <groupId>org.mortbay.jetty.alpn</groupId>
  783. <artifactId>jetty-alpn-agent</artifactId>
  784. <version>${jetty.alpnAgent.version}</version>
  785. </configuration>
  786. </execution>
  787. </executions>
  788. </plugin>
  789. <plugin>
  790. <artifactId>maven-surefire-plugin</artifactId>
  791. <configuration>
  792. <includes>
  793. <include>**/*Test*.java</include>
  794. <include>**/*Benchmark*.java</include>
  795. </includes>
  796. <excludes>
  797. <exclude>**/Abstract*</exclude>
  798. <exclude>**/*TestUtil*</exclude>
  799. </excludes>
  800. <runOrder>random</runOrder>
  801. <systemPropertyVariables>
  802. <logback.configurationFile>${logging.config}</logback.configurationFile>
  803. <logLevel>${logging.logLevel}</logLevel>
  804. </systemPropertyVariables>
  805. <argLine>${argLine.common} ${argLine.printGC} ${argLine.alpnAgent} ${argLine.leak} ${argLine.coverage} ${argLine.noUnsafe} ${argLine.java9} ${argLine.javaProperties}</argLine>
  806. <properties>
  807. <property>
  808. <name>listener</name>
  809. <value>io.netty.build.junit.TimedOutTestsListener</value>
  810. </property>
  811. </properties>
  812. <jvm>${testJavaHome}/bin/java</jvm>
  813. <!-- Ensure the whole stacktrace is preserved when an exception is thrown. See https://issues.apache.org/jira/browse/SUREFIRE-1457 -->
  814. <trimStackTrace>false</trimStackTrace>
  815. </configuration>
  816. </plugin>
  817. <!-- always produce osgi bundles -->
  818. <plugin>
  819. <groupId>org.apache.felix</groupId>
  820. <artifactId>maven-bundle-plugin</artifactId>
  821. <version>2.5.4</version>
  822. <executions>
  823. <execution>
  824. <id>generate-manifest</id>
  825. <phase>process-classes</phase>
  826. <goals>
  827. <goal>manifest</goal>
  828. </goals>
  829. <configuration>
  830. <supportedProjectTypes>
  831. <supportedProjectType>jar</supportedProjectType>
  832. <supportedProjectType>bundle</supportedProjectType>
  833. </supportedProjectTypes>
  834. <instructions>
  835. <Export-Package>${project.groupId}.*</Export-Package>
  836. <!-- enforce JVM vendor package as optional -->
  837. <Import-Package>sun.misc.*;resolution:=optional,sun.nio.ch;resolution:=optional,sun.security.*;resolution:=optional,org.eclipse.jetty.npn;version="[1,2)";resolution:=optional,org.eclipse.jetty.alpn;version="[1,2)";resolution:=optional,*</Import-Package>
  838. <!-- override "internal" private package convention -->
  839. <Private-Package>!*</Private-Package>
  840. </instructions>
  841. </configuration>
  842. </execution>
  843. </executions>
  844. </plugin>
  845. <plugin>
  846. <groupId>org.codehaus.mojo</groupId>
  847. <artifactId>build-helper-maven-plugin</artifactId>
  848. <version>1.10</version>
  849. <executions>
  850. <execution>
  851. <id>parse-version</id>
  852. <goals>
  853. <goal>parse-version</goal>
  854. </goals>
  855. </execution>
  856. </executions>
  857. </plugin>
  858. <plugin>
  859. <artifactId>maven-source-plugin</artifactId>
  860. <version>3.0.1</version>
  861. <!-- Eclipse-related OSGi manifests
  862. See https://github.com/netty/netty/issues/3886
  863. More information: http://rajakannappan.blogspot.ie/2010/03/automating-eclipse-source-bundle.html -->
  864. <configuration>
  865. <archive>
  866. <manifestEntries>
  867. <Bundle-ManifestVersion>2</Bundle-ManifestVersion>
  868. <Bundle-Name>${project.name}</Bundle-Name>
  869. <Bundle-SymbolicName>${project.groupId}.${project.artifactId}.source</Bundle-SymbolicName>
  870. <Bundle-Vendor>${project.organization.name}</Bundle-Vendor>
  871. <Bundle-Version>${parsedVersion.osgiVersion}</Bundle-Version>
  872. <Eclipse-SourceBundle>${project.groupId}.${project.artifactId};version="${parsedVersion.osgiVersion}";roots:="."</Eclipse-SourceBundle>
  873. </manifestEntries>
  874. </archive>
  875. </configuration>
  876. <executions>
  877. <!--
  878. ~ This workaround prevents Maven from executing the 'generate-sources' phase twice.
  879. ~ See http://jira.codehaus.org/browse/MSOURCES-13
  880. ~ and http://blog.peterlynch.ca/2010/05/maven-how-to-prevent-generate-sources.html
  881. -->
  882. <execution>
  883. <id>attach-sources</id>
  884. <phase>invalid</phase>
  885. <goals>
  886. <goal>jar</goal>
  887. </goals>
  888. </execution>
  889. <execution>
  890. <id>attach-sources-no-fork</id>
  891. <phase>package</phase>
  892. <goals>
  893. <goal>jar-no-fork</goal>
  894. </goals>
  895. </execution>
  896. </executions>
  897. </plugin>
  898. <plugin>
  899. <artifactId>maven-javadoc-plugin</artifactId>
  900. <version>2.10.4</version>
  901. <configuration>
  902. <detectOfflineLinks>false</detectOfflineLinks>
  903. <breakiterator>true</breakiterator>
  904. <version>false</version>
  905. <author>false</author>
  906. <keywords>true</keywords>
  907. </configuration>
  908. </plugin>
  909. <plugin>
  910. <artifactId>maven-deploy-plugin</artifactId>
  911. <version>2.8.2</version>
  912. <configuration>
  913. <retryFailedDeploymentCount>10</retryFailedDeploymentCount>
  914. </configuration>
  915. </plugin>
  916. <!-- After artifacts were deployed from linux and macos we need to execute the following on macOS (in the root of the project).
  917. mvn -Psonatype-oss-release,full,uber-staging -pl transport-native-kqueue,transport-native-unix-common,all,tarball clean package gpg:sign org.sonatype.plugins:nexus-staging-maven-plugin:deploy -DstagingRepositoryId=${netty-id} -DnexusUrl=https://oss.sonatype.org -DserverId=sonatype-nexus-staging
  918. -->
  919. <plugin>
  920. <artifactId>maven-release-plugin</artifactId>
  921. <!-- Downgrade to 2.4.1 if release fails -->
  922. <version>2.5.3</version>
  923. <configuration>
  924. <useReleaseProfile>false</useReleaseProfile>
  925. <arguments>-P restricted-release,sonatype-oss-release,full</arguments>
  926. <autoVersionSubmodules>true</autoVersionSubmodules>
  927. <allowTimestampedSnapshots>false</allowTimestampedSnapshots>
  928. <tagNameFormat>netty-@{project.version}</tagNameFormat>
  929. </configuration>
  930. <dependencies>
  931. <dependency>
  932. <groupId>org.apache.maven.scm</groupId>
  933. <artifactId>maven-scm-api</artifactId>
  934. <version>1.9.4</version>
  935. </dependency>
  936. <dependency>
  937. <groupId>org.apache.maven.scm</groupId>
  938. <artifactId>maven-scm-provider-gitexe</artifactId>
  939. <version>1.9.4</version>
  940. </dependency>
  941. </dependencies>
  942. </plugin>
  943. <!-- Ensure to put maven-antrun-plugin at the end of the plugin list
  944. so that they are run lastly in the same phase. -->
  945. <plugin>
  946. <artifactId>maven-antrun-plugin</artifactId>
  947. <executions>
  948. <!-- Generate the version properties for all artifacts. -->
  949. <execution>
  950. <id>write-version-properties</id>
  951. <phase>initialize</phase>
  952. <goals>
  953. <goal>run</goal>
  954. </goals>
  955. <configuration>
  956. <target>
  957. <taskdef resource="net/sf/antcontrib/antlib.xml" />
  958. <!-- Get the information about the latest commit -->
  959. <exec executable="git" outputproperty="gitOutput.lastCommit" resultproperty="gitExitCode.lastCommit" failonerror="false" failifexecutionfails="false">
  960. <arg value="log" />
  961. <arg value="-1" />
  962. <arg value="--format=format:%h %H %cd" />
  963. <arg value="--date=iso" />
  964. </exec>
  965. <propertyregex property="shortCommitHash" input="${gitOutput.lastCommit}" regexp="^([0-9a-f]+) .*$" select="\1" casesensitive="true" defaultValue="0" />
  966. <propertyregex property="longCommitHash" input="${gitOutput.lastCommit}" regexp="^[0-9a-f]+ ([0-9a-f]{40}) .*$" select="\1" casesensitive="true" defaultValue="0000000000000000000000000000000000000000" />
  967. <propertyregex property="commitDate" input="${gitOutput.lastCommit}" regexp="^[0-9a-f]+ [0-9a-f]{40} (.*)$" select="\1" casesensitive="true" defaultValue="1970-01-01 00:00:00 +0000" />
  968. <!-- Get the information abount whether the repository is clean or dirty -->
  969. <exec executable="git" outputproperty="gitOutput.repoStatus" resultproperty="gitExitCode.repoStatus" failonerror="false" failifexecutionfails="false">
  970. <arg value="status" />
  971. <arg value="--porcelain" />
  972. </exec>
  973. <if>
  974. <equals arg2="0" arg1="${gitExitCode.repoStatus}" />
  975. <then>
  976. <if>
  977. <equals arg2="" arg1="${gitOutput.repoStatus}" />
  978. <then>
  979. <property name="repoStatus" value="clean" />
  980. </then>
  981. <else>
  982. <property name="repoStatus" value="dirty" />
  983. </else>
  984. </if>
  985. </then>
  986. <else>
  987. <property name="repoStatus" value="unknown" />
  988. </else>
  989. </if>
  990. <!-- Print the obtained commit information. -->
  991. <echo>Current commit: ${shortCommitHash} on ${commitDate}</echo>
  992. <!-- Generate the .properties file. -->
  993. <!--
  994. <property name="metaInfDir" value="${project.basedir}/src/main/resources/META-INF" />
  995. -->
  996. <property name="metaInfDir" value="${project.build.outputDirectory}/META-INF" />
  997. <property name="versionPropFile" value="${metaInfDir}/${project.groupId}.versions.properties" />
  998. <mkdir dir="${metaInfDir}" />
  999. <delete file="${versionPropFile}" quiet="true" />
  1000. <propertyfile file="${versionPropFile}" comment="Generated by netty-parent/pom.xml">
  1001. <entry key="${project.artifactId}.version" value="${project.version}" />
  1002. <entry key="${project.artifactId}.buildDate" type="date" value="now" pattern="yyyy-MM-dd HH:mm:ss Z" />
  1003. <entry key="${project.artifactId}.commitDate" value="${commitDate}" />
  1004. <entry key="${project.artifactId}.shortCommitHash" value="${shortCommitHash}" />
  1005. <entry key="${project.artifactId}.longCommitHash" value="${longCommitHash}" />
  1006. <entry key="${project.artifactId}.repoStatus" value="${repoStatus}" />
  1007. </propertyfile>
  1008. </target>
  1009. </configuration>
  1010. </execution>
  1011. </executions>
  1012. <dependencies>
  1013. <dependency>
  1014. <groupId>org.apache.ant</groupId>
  1015. <artifactId>ant</artifactId>
  1016. <version>1.9.7</version>
  1017. </dependency>
  1018. <dependency>
  1019. <groupId>org.apache.ant</groupId>
  1020. <artifactId>ant-launcher</artifactId>
  1021. <version>1.9.7</version>
  1022. </dependency>
  1023. <dependency>
  1024. <groupId>ant-contrib</groupId>
  1025. <artifactId>ant-contrib</artifactId>
  1026. <version>1.0b3</version>
  1027. <exclusions>
  1028. <exclusion>
  1029. <groupId>ant</groupId>
  1030. <artifactId>ant</artifactId>
  1031. </exclusion>
  1032. </exclusions>
  1033. </dependency>
  1034. </dependencies>
  1035. </plugin>
  1036. <plugin>
  1037. <groupId>org.apache.maven.plugins</groupId>
  1038. <artifactId>maven-remote-resources-plugin</artifactId>
  1039. <version>1.5</version>
  1040. </plugin>
  1041. <plugin>
  1042. <groupId>de.thetaphi</groupId>
  1043. <artifactId>forbiddenapis</artifactId>
  1044. <version>2.2</version>
  1045. </plugin>
  1046. </plugins>
  1047. <pluginManagement>
  1048. <plugins>
  1049. <!-- keep surefire and failsafe in sync -->
  1050. <plugin>
  1051. <artifactId>maven-surefire-plugin</artifactId>
  1052. <version>2.19.1</version>
  1053. </plugin>
  1054. <!-- keep surefire and failsafe in sync -->
  1055. <plugin>
  1056. <artifactId>maven-failsafe-plugin</artifactId>
  1057. <version>2.19.1</version>
  1058. </plugin>
  1059. <plugin>
  1060. <artifactId>maven-clean-plugin</artifactId>
  1061. <version>3.0.0</version>
  1062. </plugin>
  1063. <plugin>
  1064. <artifactId>maven-resources-plugin</artifactId>
  1065. <version>3.0.1</version>
  1066. </plugin>
  1067. <plugin>
  1068. <groupId>org.ops4j.pax.exam</groupId>
  1069. <artifactId>maven-paxexam-plugin</artifactId>
  1070. <version>1.2.4</version>
  1071. </plugin>
  1072. <plugin>
  1073. <artifactId>maven-jar-plugin</artifactId>
  1074. <version>3.0.2</version>
  1075. <executions>
  1076. <execution>
  1077. <id>default-jar</id>
  1078. <configuration>
  1079. <archive>
  1080. <manifest>
  1081. <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
  1082. </manifest>
  1083. <manifestEntries>
  1084. <Automatic-Module-Name>${javaModuleName}</Automatic-Module-Name>
  1085. </manifestEntries>
  1086. <index>true</index>
  1087. <manifestFile>${project.build.outputDirectory}/META-INF/MANIFEST.MF</manifestFile>
  1088. </archive>
  1089. </configuration>
  1090. </execution>
  1091. </executions>
  1092. </plugin>
  1093. <plugin>
  1094. <artifactId>maven-dependency-plugin</artifactId>
  1095. <version>2.10</version>
  1096. </plugin>
  1097. <plugin>
  1098. <artifactId>maven-assembly-plugin</artifactId>
  1099. <version>2.6</version>
  1100. </plugin>
  1101. <plugin>
  1102. <!-- Do NOT upgrade -->
  1103. <artifactId>maven-jxr-plugin</artifactId>
  1104. <version>2.2</version>
  1105. </plugin>
  1106. <plugin>
  1107. <artifactId>maven-antrun-plugin</artifactId>
  1108. <version>1.8</version>
  1109. <dependencies>
  1110. <dependency>
  1111. <groupId>ant-contrib</groupId>
  1112. <artifactId>ant-contrib</artifactId>
  1113. <version>1.0b3</version>
  1114. <exclusions>
  1115. <exclusion>
  1116. <groupId>ant</groupId>
  1117. <artifactId>ant</artifactId>
  1118. </exclusion>
  1119. </exclusions>
  1120. </dependency>
  1121. </dependencies>
  1122. </plugin>
  1123. <plugin>
  1124. <groupId>org.codehaus.mojo</groupId>
  1125. <artifactId>build-helper-maven-plugin</artifactId>
  1126. <version>1.10</version>
  1127. </plugin>
  1128. <plugin>
  1129. <groupId>org.fusesource.hawtjni</groupId>
  1130. <artifactId>maven-hawtjni-plugin</artifactId>
  1131. <version>1.14</version>
  1132. </plugin>
  1133. <plugin>
  1134. <groupId>kr.motd.maven</groupId>
  1135. <artifactId>exec-maven-plugin</artifactId>
  1136. <version>1.0.0.Final</version>
  1137. </plugin>
  1138. <plugin>
  1139. <groupId>org.apache.maven.plugins</groupId>
  1140. <artifactId>maven-shade-plugin</artifactId>
  1141. <version>3.1.0</version>
  1142. </plugin>
  1143. <!-- Workaround for the 'M2E plugin execution not covered' problem.
  1144. See: http://wiki.eclipse.org/M2E_plugin_execution_not_covered -->
  1145. <plugin>
  1146. <groupId>org.eclipse.m2e</groupId>
  1147. <artifactId>lifecycle-mapping</artifactId>
  1148. <version>1.0.0</version>
  1149. <configuration>
  1150. <lifecycleMappingMetadata>
  1151. <pluginExecutions>
  1152. <pluginExecution>
  1153. <pluginExecutionFilter>
  1154. <groupId>org.apache.maven.plugins</groupId>
  1155. <artifactId>maven-antrun-plugin</artifactId>
  1156. <versionRange>[1.7,)</versionRange>
  1157. <goals>
  1158. <goal>run</goal>
  1159. </goals>
  1160. </pluginExecutionFilter>
  1161. <action>
  1162. <ignore />
  1163. </action>
  1164. </pluginExecution>
  1165. <pluginExecution>
  1166. <pluginExecutionFilter>
  1167. <groupId>org.apache.maven.plugins</groupId>
  1168. <artifactId>maven-checkstyle-plugin</artifactId>
  1169. <versionRange>[1.0,)</versionRange>
  1170. <goals>
  1171. <goal>check</goal>
  1172. </goals>
  1173. </pluginExecutionFilter>
  1174. <action>
  1175. <ignore />
  1176. </action>
  1177. </pluginExecution>
  1178. <pluginExecution>
  1179. <pluginExecutionFilter>
  1180. <groupId>org.apache.maven.plugins</groupId>
  1181. <artifactId>maven-enforcer-plugin</artifactId>
  1182. <versionRange>[1.0,)</versionRange>
  1183. <goals>
  1184. <goal>enforce</goal>
  1185. </goals>
  1186. </pluginExecutionFilter>
  1187. <action>
  1188. <ignore />
  1189. </action>
  1190. </pluginExecution>
  1191. <pluginExecution>
  1192. <pluginExecutionFilter>
  1193. <groupId>org.apache.maven.plugins</groupId>
  1194. <artifactId>maven-clean-plugin</artifactId>
  1195. <versionRange>[1.0,)</versionRange>
  1196. <goals>
  1197. <goal>clean</goal>
  1198. </goals>
  1199. </pluginExecutionFilter>
  1200. <action>
  1201. <ignore />
  1202. </action>
  1203. </pluginExecution>
  1204. <pluginExecution>
  1205. <pluginExecutionFilter>
  1206. <groupId>org.apache.felix</groupId>
  1207. <artifactId>maven-bundle-plugin</artifactId>
  1208. <versionRange>[2.4,)</versionRange>
  1209. <goals>
  1210. <goal>manifest</goal>
  1211. </goals>
  1212. </pluginExecutionFilter>
  1213. <action>
  1214. <ignore />
  1215. </action>
  1216. </pluginExecution>
  1217. <pluginExecution>
  1218. <pluginExecutionFilter>
  1219. <groupId>org.fusesource.hawtjni</groupId>
  1220. <artifactId>maven-hawtjni-plugin</artifactId>
  1221. <versionRange>[1.10,)</versionRange>
  1222. <goals>
  1223. <goal>generate</goal>
  1224. <goal>build</goal>
  1225. </goals>
  1226. </pluginExecutionFilter>
  1227. <action>
  1228. <ignore />
  1229. </action>
  1230. </pluginExecution>
  1231. <pluginExecution>
  1232. <pluginExecutionFilter>
  1233. <groupId>org.apache.maven.plugins</groupId>
  1234. <artifactId>maven-dependency-plugin</artifactId>
  1235. <versionRange>[2.8,)</versionRange>
  1236. <goals>
  1237. <goal>get</goal>
  1238. <goal>copy</goal>
  1239. <goal>properties</goal>
  1240. </goals>
  1241. </pluginExecutionFilter>
  1242. <action>
  1243. <ignore />
  1244. </action>
  1245. </pluginExecution>
  1246. </pluginExecutions>
  1247. </lifecycleMappingMetadata>
  1248. </configuration>
  1249. </plugin>
  1250. <plugin>
  1251. <groupId>org.apache.maven.plugins</groupId>
  1252. <artifactId>maven-remote-resources-plugin</artifactId>
  1253. <version>1.5</version>
  1254. <configuration>
  1255. <resourceBundles>
  1256. <resourceBundle>io.netty:netty-dev-tools:${project.version}</resourceBundle>
  1257. </resourceBundles>
  1258. <outputDirectory>${netty.dev.tools.directory}</outputDirectory>
  1259. <!-- don't include netty-dev-tools in artifacts -->
  1260. <attachToMain>false</attachToMain>
  1261. <attachToTest>false</attachToTest>
  1262. </configuration>
  1263. <executions>
  1264. <execution>
  1265. <goals>
  1266. <goal>process</goal>
  1267. </goals>
  1268. </execution>
  1269. </executions>
  1270. </plugin>
  1271. <plugin>
  1272. <groupId>de.thetaphi</groupId>
  1273. <artifactId>forbiddenapis</artifactId>
  1274. <version>2.2</version>
  1275. <executions>
  1276. <execution>
  1277. <id>check-forbidden-apis</id>
  1278. <configuration>
  1279. <targetVersion>${maven.compiler.target}</targetVersion>
  1280. <!-- allow undocumented classes like sun.misc.Unsafe: -->
  1281. <internalRuntimeForbidden>false</internalRuntimeForbidden>
  1282. <!-- if the used Java version is too new, don't fail, just do nothing: -->
  1283. <failOnUnsupportedJava>false</failOnUnsupportedJava>
  1284. <bundledSignatures>
  1285. <!-- This will automatically choose the right signatures based on 'targetVersion': -->
  1286. <!-- enabling these should be done in the future -->
  1287. <!-- bundledSignature>jdk-unsafe</bundledSignature -->
  1288. <!-- bundledSignature>jdk-deprecated</bundledSignature -->
  1289. <!-- bundledSignature>jdk-system-out</bundledSignature -->
  1290. </bundledSignatures>
  1291. <signaturesFiles>
  1292. <signaturesFile>${netty.dev.tools.directory}/forbidden/signatures.txt</signaturesFile>
  1293. </signaturesFiles>
  1294. <suppressAnnotations><annotation>**.SuppressForbidden</annotation></suppressAnnotations>
  1295. </configuration>
  1296. <phase>compile</phase>
  1297. <goals>
  1298. <goal>check</goal>
  1299. </goals>
  1300. </execution>
  1301. <execution>
  1302. <id>check-forbidden-test-apis</id>
  1303. <configuration>
  1304. <targetVersion>${maven.compiler.target}</targetVersion>
  1305. <!-- allow undocumented classes like sun.misc.Unsafe: -->
  1306. <internalRuntimeForbidden>true</internalRuntimeForbidden>
  1307. <!-- if the used Java version is too new, don't fail, just do nothing: -->
  1308. <failOnUnsupportedJava>false</failOnUnsupportedJava>
  1309. <bundledSignatures>
  1310. <!-- This will automatically choose the right signatures based on 'targetVersion': -->
  1311. <!-- enabling these should be done in the future -->
  1312. <!-- bundledSignature>jdk-unsafe</bundledSignature -->
  1313. <!-- bundledSignature>jdk-deprecated</bundledSignature -->
  1314. </bundledSignatures>
  1315. <signaturesFiles>
  1316. <signaturesFile>${netty.dev.tools.directory}/forbidden/signatures.txt</signaturesFile>
  1317. </signaturesFiles>
  1318. <suppressAnnotations><annotation>**.SuppressForbidden</annotation></suppressAnnotations>
  1319. </configuration>
  1320. <phase>test-compile</phase>
  1321. <goals>
  1322. <goal>testCheck</goal>
  1323. </goals>
  1324. </execution>
  1325. </executions>
  1326. </plugin>
  1327. </plugins>
  1328. </pluginManagement>
  1329. </build>
  1330. </project>