netty-parent-4.1.31.Final.pom 53 KB

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