| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478 |
- <?xml version="1.0" encoding="UTF-8"?>
- <!--
- ~ Copyright 2012 The Netty Project
- ~
- ~ The Netty Project licenses this file to you under the Apache License,
- ~ version 2.0 (the "License"); you may not use this file except in compliance
- ~ with the License. You may obtain a copy of the License at:
- ~
- ~ http://www.apache.org/licenses/LICENSE-2.0
- ~
- ~ Unless required by applicable law or agreed to in writing, software
- ~ distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- ~ WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- ~ License for the specific language governing permissions and limitations
- ~ under the License.
- -->
- <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">
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.sonatype.oss</groupId>
- <artifactId>oss-parent</artifactId>
- <version>9</version>
- </parent>
- <groupId>io.netty</groupId>
- <artifactId>netty-parent</artifactId>
- <packaging>pom</packaging>
- <version>4.1.48.Final</version>
- <name>Netty</name>
- <url>https://netty.io/</url>
- <description>
- Netty is an asynchronous event-driven network application framework for
- rapid development of maintainable high performance protocol servers and
- clients.
- </description>
- <organization>
- <name>The Netty Project</name>
- <url>https://netty.io/</url>
- </organization>
- <licenses>
- <license>
- <name>Apache License, Version 2.0</name>
- <url>http://www.apache.org/licenses/LICENSE-2.0</url>
- </license>
- </licenses>
- <inceptionYear>2008</inceptionYear>
- <scm>
- <url>https://github.com/netty/netty</url>
- <connection>scm:git:git://github.com/netty/netty.git</connection>
- <developerConnection>scm:git:ssh://git@github.com/netty/netty.git</developerConnection>
- <tag>netty-4.1.48.Final</tag>
- </scm>
- <developers>
- <developer>
- <id>netty.io</id>
- <name>The Netty Project Contributors</name>
- <email>netty@googlegroups.com</email>
- <url>https://netty.io/</url>
- <organization>The Netty Project</organization>
- <organizationUrl>https://netty.io/</organizationUrl>
- </developer>
- </developers>
- <profiles>
- <profile>
- <id>not_x86_64</id>
- <activation>
- <os>
- <arch>!x86_64</arch>
- </os>
- </activation>
- <properties>
- <!-- Use no classifier as we only support x86_64 atm-->
- <tcnative.classifier />
- <skipShadingTestsuite>true</skipShadingTestsuite>
- </properties>
- </profile>
- <!-- Detect if we use GraalVM and if so enable the native image testsuite -->
- <profile>
- <id>graal</id>
- <activation>
- <file>
- <!-- GraalVM Component Updater should exists when using GraalVM-->
- <exists>${java.home}/bin/gu</exists>
- </file>
- </activation>
- <properties>
- <skipNativeImageTestsuite>false</skipNativeImageTestsuite>
- <forbiddenapis.skip>true</forbiddenapis.skip>
- <testJvm />
- </properties>
- </profile>
- <!-- JDK13 -->
- <profile>
- <id>java13</id>
- <activation>
- <jdk>13</jdk>
- </activation>
- <properties>
- <!-- Not use alpn agent as Java11 supports alpn out of the box -->
- <argLine.alpnAgent />
- <forbiddenapis.skip>true</forbiddenapis.skip>
- <!-- Needed because of https://issues.apache.org/jira/browse/MENFORCER-275 -->
- <enforcer.plugin.version>3.0.0-M1</enforcer.plugin.version>
- <!-- 1.4.x does not work in Java10+ -->
- <jboss.marshalling.version>2.0.5.Final</jboss.marshalling.version>
- <!-- This is the minimum supported by Java12 -->
- <maven.compiler.source>1.7</maven.compiler.source>
- <maven.compiler.target>1.7</maven.compiler.target>
- <!-- pax-exam does not work on latest Java12 EA 22 build -->
- <skipOsgiTestsuite>true</skipOsgiTestsuite>
- </properties>
- </profile>
- <!-- JDK12 -->
- <profile>
- <id>java12</id>
- <activation>
- <jdk>12</jdk>
- </activation>
- <properties>
- <argLine.java9.extras />
- <!-- Export some stuff which is used during our tests -->
- <argLine.java9>--illegal-access=deny ${argLine.java9.extras}</argLine.java9>
- <!-- Not use alpn agent as Java11 supports alpn out of the box -->
- <argLine.alpnAgent />
- <forbiddenapis.skip>true</forbiddenapis.skip>
- <!-- Needed because of https://issues.apache.org/jira/browse/MENFORCER-275 -->
- <enforcer.plugin.version>3.0.0-M1</enforcer.plugin.version>
- <!-- 1.4.x does not work in Java10+ -->
- <jboss.marshalling.version>2.0.5.Final</jboss.marshalling.version>
- <!-- This is the minimum supported by Java12 -->
- <maven.compiler.source>1.7</maven.compiler.source>
- <maven.compiler.target>1.7</maven.compiler.target>
- <!-- pax-exam does not work on latest Java12 EA 22 build -->
- <skipOsgiTestsuite>true</skipOsgiTestsuite>
- </properties>
- </profile>
- <!-- JDK11 -->
- <profile>
- <id>java11</id>
- <activation>
- <jdk>11</jdk>
- </activation>
- <properties>
- <argLine.java9.extras />
- <!-- Export some stuff which is used during our tests -->
- <argLine.java9>--illegal-access=deny ${argLine.java9.extras}</argLine.java9>
- <!-- Not use alpn agent as Java11 supports alpn out of the box -->
- <argLine.alpnAgent />
- <forbiddenapis.skip>true</forbiddenapis.skip>
- <!-- Needed because of https://issues.apache.org/jira/browse/MENFORCER-275 -->
- <enforcer.plugin.version>3.0.0-M1</enforcer.plugin.version>
- <!-- 1.4.x does not work in Java10+ -->
- <jboss.marshalling.version>2.0.5.Final</jboss.marshalling.version>
- <!-- pax-exam does not work on latest Java11 build -->
- <skipOsgiTestsuite>true</skipOsgiTestsuite>
- </properties>
- </profile>
- <!-- JDK10 -->
- <profile>
- <id>java10</id>
- <activation>
- <jdk>10</jdk>
- </activation>
- <properties>
- <argLine.java9.extras />
- <!-- Export some stuff which is used during our tests -->
- <argLine.java9>--illegal-access=deny --add-modules java.xml.bind ${argLine.java9.extras}</argLine.java9>
- <!-- Not use alpn agent as Java10 supports alpn out of the box -->
- <argLine.alpnAgent />
- <forbiddenapis.skip>true</forbiddenapis.skip>
- <!-- Needed because of https://issues.apache.org/jira/browse/MENFORCER-275 -->
- <enforcer.plugin.version>3.0.0-M1</enforcer.plugin.version>
- <!-- 1.4.x does not work in Java10+ -->
- <jboss.marshalling.version>2.0.5.Final</jboss.marshalling.version>
- </properties>
- </profile>
- <!-- JDK9 -->
- <profile>
- <id>java9</id>
- <properties>
- <argLine.java9.extras />
- <!-- Export some stuff which is used during our tests -->
- <argLine.java9>--illegal-access=deny --add-modules java.xml.bind ${argLine.java9.extras}</argLine.java9>
- <!-- Not use alpn agent as Java9 supports alpn out of the box -->
- <argLine.alpnAgent />
- <!-- Skip as maven plugin not works with Java9 yet -->
- <forbiddenapis.skip>true</forbiddenapis.skip>
- <!-- Needed because of https://issues.apache.org/jira/browse/MENFORCER-275 -->
- <enforcer.plugin.version>3.0.0-M1</enforcer.plugin.version>
- </properties>
- <activation>
- <jdk>9</jdk>
- </activation>
- </profile>
- <profile>
- <id>boringssl</id>
- <properties>
- <tcnative.artifactId>netty-tcnative-boringssl-static</tcnative.artifactId>
- <tcnative.classifier />
- </properties>
- </profile>
- <profile>
- <id>leak</id>
- <properties>
- <argLine.leak>-Dio.netty.leakDetectionLevel=paranoid -Dio.netty.leakDetection.targetRecords=32</argLine.leak>
- </properties>
- </profile>
- <profile>
- <id>noPrintGC</id>
- <properties>
- <argLine.printGC>-D_</argLine.printGC>
- </properties>
- </profile>
- <profile>
- <id>noUnsafe</id>
- <properties>
- <argLine.noUnsafe>-Dio.netty.noUnsafe=true</argLine.noUnsafe>
- </properties>
- </profile>
- <profile>
- <id>coverage</id>
- <properties>
- <argLine.coverage>${jacoco.argLine}</argLine.coverage>
- </properties>
- <build>
- <plugins>
- <plugin>
- <groupId>org.jacoco</groupId>
- <artifactId>jacoco-maven-plugin</artifactId>
- <version>0.7.7.201606060606</version>
- <executions>
- <execution>
- <id>jacoco-prepare-agent</id>
- <goals>
- <goal>prepare-agent</goal>
- </goals>
- <configuration>
- <propertyName>jacoco.argLine</propertyName>
- </configuration>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
- </profile>
- <profile>
- <id>jdk8</id>
- <activation>
- <jdk>[1.8,)</jdk>
- </activation>
- <properties>
- <!-- Our Javadoc has poor enough quality to fail the build thanks to JDK8 javadoc which got more strict. -->
- <maven.javadoc.failOnError>false</maven.javadoc.failOnError>
- </properties>
- </profile>
- <profile>
- <!--
- This profile exists because either ALPN or NPN can exits on the class path at once, but not both.
- The JDK version is typically used to distinguish which should be used but there is some overlap
- where both could be used. ALPN is the default and this profile is enabled with a -Dforcenpn=true arugument
- -->
- <id>forcenpn</id>
- <activation>
- <property>
- <name>forcenpn</name>
- <value>true</value>
- </property>
- </activation>
- <properties>
- <jetty.alpnAgent.option>forceNpn=true</jetty.alpnAgent.option>
- </properties>
- </profile>
- </profiles>
- <properties>
- <maven.compiler.source>1.6</maven.compiler.source>
- <maven.compiler.target>1.6</maven.compiler.target>
- <netty.dev.tools.directory>${project.build.directory}/dev-tools</netty.dev.tools.directory>
- <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
- <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
- <netty.build.version>26</netty.build.version>
- <jboss.marshalling.version>1.4.11.Final</jboss.marshalling.version>
- <jetty.alpnAgent.version>2.0.8</jetty.alpnAgent.version>
- <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>
- <argLine.common>
- -server
- -dsa -da -ea:io.netty...
- -XX:+HeapDumpOnOutOfMemoryError
- </argLine.common>
- <!-- Default to ALPN. See forcenpn profile to force NPN -->
- <argLine.alpnAgent>-javaagent:${jetty.alpnAgent.path}=${jetty.alpnAgent.option}</argLine.alpnAgent>
- <argLine.leak>-D_</argLine.leak> <!-- Overridden when 'leak' profile is active -->
- <argLine.noUnsafe>-D_</argLine.noUnsafe> <!-- Overridden when 'noUnsafe' profile is active -->
- <argLine.coverage>-D_</argLine.coverage> <!-- Overridden when 'coverage' profile is active -->
- <argLine.printGC>-XX:+PrintGCDetails</argLine.printGC>
- <argLine.java9 /> <!-- Overridden when 'java9' profile is active -->
- <argLine.javaProperties>-D_</argLine.javaProperties>
- <!-- Configure the os-maven-plugin extension to expand the classifier on -->
- <!-- Fedora-"like" systems. This is currently only used for the netty-tcnative dependency -->
- <osmaven.version>1.6.2</osmaven.version>
- <!-- keep in sync with PlatformDependent#ALLOWED_LINUX_OS_CLASSIFIERS -->
- <os.detection.classifierWithLikes>fedora,suse,arch</os.detection.classifierWithLikes>
- <tcnative.artifactId>netty-tcnative</tcnative.artifactId>
- <tcnative.version>2.0.29.Final</tcnative.version>
- <tcnative.classifier>${os.detected.classifier}</tcnative.classifier>
- <conscrypt.groupId>org.conscrypt</conscrypt.groupId>
- <conscrypt.artifactId>conscrypt-openjdk-uber</conscrypt.artifactId>
- <conscrypt.version>1.3.0</conscrypt.version>
- <conscrypt.classifier />
- <jni.classifier>${os.detected.name}-${os.detected.arch}</jni.classifier>
- <logging.config>${project.basedir}/../common/src/test/resources/logback-test.xml</logging.config>
- <logging.logLevel>debug</logging.logLevel>
- <log4j2.version>2.6.2</log4j2.version>
- <enforcer.plugin.version>1.4.1</enforcer.plugin.version>
- <testJavaHome>${java.home}</testJavaHome>
- <testJvm>${testJavaHome}/bin/java</testJvm>
- <skipOsgiTestsuite>false</skipOsgiTestsuite>
- <skipAutobahnTestsuite>false</skipAutobahnTestsuite>
- <skipHttp2Testsuite>false</skipHttp2Testsuite>
- <skipJapicmp>false</skipJapicmp>
- <graalvm.version>19.0.0</graalvm.version>
- <!-- By default skip native testsuite as it requires a custom environment with graalvm installed -->
- <skipNativeImageTestsuite>true</skipNativeImageTestsuite>
- <skipShadingTestsuite>false</skipShadingTestsuite>
- </properties>
- <modules>
- <module>all</module>
- <module>dev-tools</module>
- <module>common</module>
- <module>buffer</module>
- <module>codec</module>
- <module>codec-dns</module>
- <module>codec-haproxy</module>
- <module>codec-http</module>
- <module>codec-http2</module>
- <module>codec-memcache</module>
- <module>codec-mqtt</module>
- <module>codec-redis</module>
- <module>codec-smtp</module>
- <module>codec-socks</module>
- <module>codec-stomp</module>
- <module>codec-xml</module>
- <module>resolver</module>
- <module>resolver-dns</module>
- <module>resolver-dns-native-macos</module>
- <module>tarball</module>
- <module>transport</module>
- <module>transport-native-unix-common-tests</module>
- <module>transport-native-unix-common</module>
- <module>transport-native-epoll</module>
- <module>transport-native-kqueue</module>
- <module>transport-rxtx</module>
- <module>transport-sctp</module>
- <module>transport-udt</module>
- <module>handler</module>
- <module>handler-proxy</module>
- <module>example</module>
- <module>testsuite</module>
- <module>testsuite-autobahn</module>
- <module>testsuite-http2</module>
- <module>testsuite-osgi</module>
- <module>testsuite-shading</module>
- <module>testsuite-native-image</module>
- <module>transport-blockhound-tests</module>
- <module>microbench</module>
- <module>bom</module>
- </modules>
- <dependencyManagement>
- <dependencies>
- <dependency>
- <groupId>${project.groupId}</groupId>
- <artifactId>netty-dev-tools</artifactId>
- <version>${project.version}</version>
- </dependency>
- <!-- Needed for java11 and later as javax.activation is not part of the JDK anymore -->
- <dependency>
- <groupId>com.sun.activation</groupId>
- <artifactId>javax.activation</artifactId>
- <version>1.2.0</version>
- </dependency>
- <!-- Byte code generator - completely optional -->
- <dependency>
- <groupId>org.javassist</groupId>
- <artifactId>javassist</artifactId>
- <version>3.20.0-GA</version>
- <scope>compile</scope>
- <optional>true</optional>
- </dependency>
- <!-- JBoss Marshalling - completely optional -->
- <dependency>
- <groupId>org.jboss.marshalling</groupId>
- <artifactId>jboss-marshalling</artifactId>
- <version>${jboss.marshalling.version}</version>
- <scope>compile</scope>
- <optional>true</optional>
- </dependency>
- <!-- SPDY and HTTP/2 - completely optional -->
- <dependency>
- <groupId>org.eclipse.jetty.npn</groupId>
- <artifactId>npn-api</artifactId>
- <version>1.1.1.v20141010</version>
- <scope>provided</scope> <!-- Provided by npn-boot -->
- </dependency>
- <dependency>
- <groupId>org.eclipse.jetty.alpn</groupId>
- <artifactId>alpn-api</artifactId>
- <version>1.1.2.v20150522</version>
- <scope>provided</scope> <!-- Provided by alpn-boot -->
- </dependency>
- <!-- Google Protocol Buffers - completely optional -->
- <dependency>
- <groupId>com.google.protobuf</groupId>
- <artifactId>protobuf-java</artifactId>
- <version>2.6.1</version>
- </dependency>
- <dependency>
- <groupId>com.google.protobuf.nano</groupId>
- <artifactId>protobuf-javanano</artifactId>
- <version>3.0.0-alpha-5</version>
- </dependency>
- <!-- Our own Tomcat Native fork - completely optional, used for accelerating SSL with OpenSSL. -->
- <dependency>
- <groupId>${project.groupId}</groupId>
- <artifactId>${tcnative.artifactId}</artifactId>
- <version>${tcnative.version}</version>
- <classifier>${tcnative.classifier}</classifier>
- <scope>compile</scope>
- <optional>true</optional>
- </dependency>
- <!-- Conscrypt - needed for running tests, used for acclerating SSL with OpenSSL. -->
- <dependency>
- <groupId>${conscrypt.groupId}</groupId>
- <artifactId>${conscrypt.artifactId}</artifactId>
- <classifier>${conscrypt.classifier}</classifier>
- <version>${conscrypt.version}</version>
- <scope>compile</scope>
- <optional>true</optional>
- </dependency>
- <!--
- Bouncy Castle - completely optional, only needed when:
- - you generate a temporary self-signed certificate using SelfSignedCertificate, and
- - you don't use the JDK which doesn't provide sun.security.x509 package.
- -->
- <dependency>
- <groupId>org.bouncycastle</groupId>
- <artifactId>bcpkix-jdk15on</artifactId>
- <version>1.54</version>
- <scope>compile</scope>
- <optional>true</optional>
- </dependency>
- <!--
- Completely optional and only needed for OCSP stapling to construct and
- parse OCSP requests and responses.
- -->
- <dependency>
- <groupId>org.bouncycastle</groupId>
- <artifactId>bcprov-jdk15on</artifactId>
- <version>1.54</version>
- <scope>compile</scope>
- <optional>true</optional>
- </dependency>
- <dependency>
- <groupId>com.fasterxml</groupId>
- <artifactId>aalto-xml</artifactId>
- <version>1.0.0</version>
- </dependency>
- <dependency>
- <groupId>com.jcraft</groupId>
- <artifactId>jzlib</artifactId>
- <version>1.1.3</version>
- </dependency>
- <dependency>
- <groupId>com.ning</groupId>
- <artifactId>compress-lzf</artifactId>
- <version>1.0.3</version>
- </dependency>
- <dependency>
- <groupId>net.jpountz.lz4</groupId>
- <artifactId>lz4</artifactId>
- <version>1.3.0</version>
- </dependency>
- <dependency>
- <groupId>com.github.jponge</groupId>
- <artifactId>lzma-java</artifactId>
- <version>1.3</version>
- </dependency>
- <!-- Java concurrency tools for the JVM -->
- <dependency>
- <groupId>org.jctools</groupId>
- <artifactId>jctools-core</artifactId>
- <version>3.0.0</version>
- </dependency>
- <dependency>
- <groupId>org.rxtx</groupId>
- <artifactId>rxtx</artifactId>
- <version>2.1.7</version>
- </dependency>
- <dependency>
- <groupId>com.barchart.udt</groupId>
- <artifactId>barchart-udt-bundle</artifactId>
- <version>2.3.0</version>
- </dependency>
- <dependency>
- <groupId>javax.servlet</groupId>
- <artifactId>servlet-api</artifactId>
- <version>2.5</version>
- </dependency>
- <dependency>
- <groupId>org.slf4j</groupId>
- <artifactId>slf4j-api</artifactId>
- <version>1.7.21</version>
- </dependency>
- <dependency>
- <groupId>commons-logging</groupId>
- <artifactId>commons-logging</artifactId>
- <version>1.2</version>
- </dependency>
- <dependency>
- <groupId>org.apache.logging.log4j</groupId>
- <artifactId>log4j-api</artifactId>
- <version>${log4j2.version}</version>
- </dependency>
- <dependency>
- <groupId>log4j</groupId>
- <artifactId>log4j</artifactId>
- <version>1.2.17</version>
- <exclusions>
- <exclusion>
- <artifactId>mail</artifactId>
- <groupId>javax.mail</groupId>
- </exclusion>
- <exclusion>
- <artifactId>jms</artifactId>
- <groupId>javax.jms</groupId>
- </exclusion>
- <exclusion>
- <artifactId>jmxtools</artifactId>
- <groupId>com.sun.jdmk</groupId>
- </exclusion>
- <exclusion>
- <artifactId>jmxri</artifactId>
- <groupId>com.sun.jmx</groupId>
- </exclusion>
- </exclusions>
- <optional>true</optional>
- </dependency>
- <!-- Metrics providers -->
- <dependency>
- <groupId>com.yammer.metrics</groupId>
- <artifactId>metrics-core</artifactId>
- <version>2.2.0</version>
- </dependency>
- <!-- Common test dependencies -->
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- <version>4.12</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>${project.groupId}</groupId>
- <artifactId>netty-build</artifactId>
- <version>${netty.build.version}</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.hamcrest</groupId>
- <artifactId>hamcrest-library</artifactId>
- <version>1.3</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.mockito</groupId>
- <artifactId>mockito-core</artifactId>
- <version>2.18.3</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>ch.qos.logback</groupId>
- <artifactId>logback-classic</artifactId>
- <version>1.1.7</version>
- <scope>test</scope>
- </dependency>
- <!-- Test dependencies for jboss marshalling encoder/decoder -->
- <dependency>
- <groupId>org.jboss.marshalling</groupId>
- <artifactId>jboss-marshalling-serial</artifactId>
- <version>${jboss.marshalling.version}</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.jboss.marshalling</groupId>
- <artifactId>jboss-marshalling-river</artifactId>
- <version>${jboss.marshalling.version}</version>
- <scope>test</scope>
- </dependency>
- <!-- Test dependencies for microbench -->
- <dependency>
- <groupId>com.google.caliper</groupId>
- <artifactId>caliper</artifactId>
- <version>0.5-rc1</version>
- <scope>test</scope>
- </dependency>
- <!-- Test dependency for Bzip2 compression codec -->
- <dependency>
- <groupId>org.apache.commons</groupId>
- <artifactId>commons-compress</artifactId>
- <version>1.19</version>
- <scope>test</scope>
- </dependency>
- <!-- Test dependency used by http/2 hpack -->
- <dependency>
- <groupId>com.google.code.gson</groupId>
- <artifactId>gson</artifactId>
- <version>2.7</version>
- <scope>test</scope>
- </dependency>
- <!-- Test suite dependency for generating a compressed heap dump file -->
- <dependency>
- <groupId>org.tukaani</groupId>
- <artifactId>xz</artifactId>
- <version>1.5</version>
- </dependency>
- <!-- Test dependency for resolver-dns -->
- <dependency>
- <groupId>org.apache.directory.server</groupId>
- <artifactId>apacheds-protocol-dns</artifactId>
- <version>1.5.7</version>
- <scope>test</scope>
- </dependency>
- <!-- Test dependency for log4j2 tests -->
- <dependency>
- <groupId>org.apache.logging.log4j</groupId>
- <artifactId>log4j-core</artifactId>
- <version>${log4j2.version}</version>
- <scope>test</scope>
- </dependency>
- <!-- BlockHound integration -->
- <dependency>
- <groupId>io.projectreactor.tools</groupId>
- <artifactId>blockhound</artifactId>
- <version>1.0.2.RELEASE</version>
- </dependency>
- </dependencies>
- </dependencyManagement>
- <dependencies>
- <!-- Enable Javassist support for all test runs -->
- <dependency>
- <groupId>org.javassist</groupId>
- <artifactId>javassist</artifactId>
- <scope>test</scope>
- </dependency>
- <!-- Testing frameworks and related dependencies -->
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>${project.groupId}</groupId>
- <artifactId>netty-build</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.hamcrest</groupId>
- <artifactId>hamcrest-library</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>ch.qos.logback</groupId>
- <artifactId>logback-classic</artifactId>
- <scope>test</scope>
- </dependency>
- </dependencies>
- <build>
- <extensions>
- <extension>
- <groupId>kr.motd.maven</groupId>
- <artifactId>os-maven-plugin</artifactId>
- <version>${osmaven.version}</version>
- </extension>
- </extensions>
- <plugins>
- <plugin>
- <groupId>com.github.siom79.japicmp</groupId>
- <artifactId>japicmp-maven-plugin</artifactId>
- <version>0.14.3</version>
- <configuration>
- <parameter>
- <ignoreMissingOldVersion>true</ignoreMissingOldVersion>
- <breakBuildOnBinaryIncompatibleModifications>true</breakBuildOnBinaryIncompatibleModifications>
- <breakBuildOnSourceIncompatibleModifications>true</breakBuildOnSourceIncompatibleModifications>
- <oldVersionPattern>\d+\.\d+\.\d+\.Final</oldVersionPattern>
- <ignoreMissingClassesByRegularExpressions>
- <!-- ignore everything which is not part of netty itself as the plugin can not handle optional dependencies -->
- <ignoreMissingClassesByRegularExpression>^(?!io\.netty\.).*</ignoreMissingClassesByRegularExpression>
- <ignoreMissingClassesByRegularExpression>^io\.netty\.internal\.tcnative\..*</ignoreMissingClassesByRegularExpression>
- </ignoreMissingClassesByRegularExpressions>
- <excludes>
- <exclude>@io.netty.util.internal.UnstableApi</exclude>
- <exclude>io.netty.util.internal.shaded</exclude>
- </excludes>
- </parameter>
- <skip>${skipJapicmp}</skip>
- </configuration>
- <executions>
- <execution>
- <phase>verify</phase>
- <goals>
- <goal>cmp</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
- <plugin>
- <artifactId>maven-enforcer-plugin</artifactId>
- <version>${enforcer.plugin.version}</version>
- <executions>
- <execution>
- <id>enforce-tools</id>
- <goals>
- <goal>enforce</goal>
- </goals>
- <configuration>
- <rules>
- <requireJavaVersion>
- <!-- Enforce JDK 1.8+ for compilation. -->
- <!-- This is needed because of java.util.zip.Deflater and NIO UDP multicast. -->
- <version>[1.8.0,)</version>
- </requireJavaVersion>
- <requireMavenVersion>
- <version>[3.1.1,)</version>
- </requireMavenVersion>
- <requireProperty>
- <regexMessage>
- x86_64/AARCH64/PPCLE64/s390x_64 JDK must be used.
- </regexMessage>
- <property>os.detected.arch</property>
- <regex>^(x86_64|aarch_64|ppcle_64|s390_64)$</regex>
- </requireProperty>
- </rules>
- </configuration>
- </execution>
- </executions>
- </plugin>
- <plugin>
- <artifactId>maven-compiler-plugin</artifactId>
- <version>3.8.0</version>
- <configuration>
- <compilerVersion>1.8</compilerVersion>
- <fork>true</fork>
- <source>${maven.compiler.source}</source>
- <target>${maven.compiler.target}</target>
- <debug>true</debug>
- <optimize>true</optimize>
- <showDeprecation>true</showDeprecation>
- <showWarnings>true</showWarnings>
- <compilerArgument>-Xlint:-options</compilerArgument>
- <!-- XXX: maven-release-plugin complains - MRELEASE-715 -->
- <!--
- <compilerArguments>
- <Xlint:-options />
- <Xlint:unchecked />
- <Xlint:deprecation />
- </compilerArguments>
- -->
- <meminitial>256m</meminitial>
- <maxmem>1024m</maxmem>
- <excludes>
- <exclude>**/package-info.java</exclude>
- </excludes>
- </configuration>
- </plugin>
- <plugin>
- <!-- ensure that only methods available in java 1.6 can
- be used even when compiling with java 1.7+ -->
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>animal-sniffer-maven-plugin</artifactId>
- <version>1.16</version>
- <configuration>
- <signature>
- <groupId>org.codehaus.mojo.signature</groupId>
- <artifactId>java16</artifactId>
- <version>1.1</version>
- </signature>
- <ignores>
- <ignore>java.nio.ByteBuffer</ignore>
- </ignores>
- <annotations>
- <annotation>io.netty.util.internal.SuppressJava6Requirement</annotation>
- </annotations>
- </configuration>
- <executions>
- <execution>
- <phase>process-classes</phase>
- <goals>
- <goal>check</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
- <plugin>
- <artifactId>maven-checkstyle-plugin</artifactId>
- <version>3.1.0</version>
- <executions>
- <execution>
- <id>check-style</id>
- <goals>
- <goal>check</goal>
- </goals>
- <phase>validate</phase>
- <configuration>
- <consoleOutput>true</consoleOutput>
- <logViolationsToConsole>true</logViolationsToConsole>
- <failsOnError>true</failsOnError>
- <failOnViolation>true</failOnViolation>
- <configLocation>io/netty/checkstyle.xml</configLocation>
- <sourceDirectories>
- <sourceDirectory>${project.build.sourceDirectory}</sourceDirectory>
- <sourceDirectory>${project.build.testSourceDirectory}</sourceDirectory>
- </sourceDirectories>
- </configuration>
- </execution>
- </executions>
- <dependencies>
- <dependency>
- <groupId>com.puppycrawl.tools</groupId>
- <artifactId>checkstyle</artifactId>
- <version>8.29</version>
- </dependency>
- <dependency>
- <groupId>${project.groupId}</groupId>
- <artifactId>netty-build</artifactId>
- <version>${netty.build.version}</version>
- </dependency>
- </dependencies>
- </plugin>
- <plugin>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>xml-maven-plugin</artifactId>
- <version>1.0.1</version>
- <executions>
- <execution>
- <id>check-style</id>
- <goals>
- <goal>check-format</goal>
- </goals>
- <phase>validate</phase>
- </execution>
- </executions>
- <configuration>
- <formatFileSets>
- <formatFileSet>
- <directory>${project.basedir}</directory>
- <includes>
- <include>**/pom.xml</include>
- </includes>
- </formatFileSet>
- </formatFileSets>
- <useDefaultFormatFileSet>false</useDefaultFormatFileSet>
- </configuration>
- </plugin>
- <!-- Download the npn-boot.jar in advance to add it to the boot classpath. -->
- <plugin>
- <artifactId>maven-dependency-plugin</artifactId>
- <executions>
- <execution>
- <id>get-jetty-alpn-agent</id>
- <phase>validate</phase>
- <goals>
- <goal>get</goal>
- </goals>
- <configuration>
- <groupId>org.mortbay.jetty.alpn</groupId>
- <artifactId>jetty-alpn-agent</artifactId>
- <version>${jetty.alpnAgent.version}</version>
- </configuration>
- </execution>
- </executions>
- </plugin>
- <plugin>
- <artifactId>maven-surefire-plugin</artifactId>
- <configuration>
- <includes>
- <include>**/*Test*.java</include>
- <include>**/*Benchmark*.java</include>
- </includes>
- <excludes>
- <exclude>**/Abstract*</exclude>
- <exclude>**/*TestUtil*</exclude>
- </excludes>
- <runOrder>random</runOrder>
- <systemPropertyVariables>
- <logback.configurationFile>${logging.config}</logback.configurationFile>
- <logLevel>${logging.logLevel}</logLevel>
- </systemPropertyVariables>
- <argLine>${argLine.common} ${argLine.printGC} ${argLine.alpnAgent} ${argLine.leak} ${argLine.coverage} ${argLine.noUnsafe} ${argLine.java9} ${argLine.javaProperties}</argLine>
- <properties>
- <property>
- <name>listener</name>
- <value>io.netty.build.junit.TimedOutTestsListener</value>
- </property>
- </properties>
- <jvm>${testJvm}</jvm>
- <!-- Ensure the whole stacktrace is preserved when an exception is thrown. See https://issues.apache.org/jira/browse/SUREFIRE-1457 -->
- <trimStackTrace>false</trimStackTrace>
- </configuration>
- </plugin>
- <!-- always produce osgi bundles -->
- <plugin>
- <groupId>org.apache.felix</groupId>
- <artifactId>maven-bundle-plugin</artifactId>
- <version>2.5.4</version>
- <executions>
- <execution>
- <id>generate-manifest</id>
- <phase>process-classes</phase>
- <goals>
- <goal>manifest</goal>
- </goals>
- <configuration>
- <supportedProjectTypes>
- <supportedProjectType>jar</supportedProjectType>
- <supportedProjectType>bundle</supportedProjectType>
- </supportedProjectTypes>
- <instructions>
- <Export-Package>${project.groupId}.*</Export-Package>
- <!-- enforce JVM vendor package as optional -->
- <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>
- <!-- override "internal" private package convention -->
- <Private-Package>!*</Private-Package>
- </instructions>
- </configuration>
- </execution>
- </executions>
- </plugin>
- <plugin>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>build-helper-maven-plugin</artifactId>
- <version>1.10</version>
- <executions>
- <execution>
- <id>parse-version</id>
- <goals>
- <goal>parse-version</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
- <plugin>
- <artifactId>maven-source-plugin</artifactId>
- <version>3.2.0</version>
- <!-- Eclipse-related OSGi manifests
- See https://github.com/netty/netty/issues/3886
- More information: http://rajakannappan.blogspot.ie/2010/03/automating-eclipse-source-bundle.html -->
- <configuration>
- <archive>
- <manifestEntries>
- <Bundle-ManifestVersion>2</Bundle-ManifestVersion>
- <Bundle-Name>${project.name}</Bundle-Name>
- <Bundle-SymbolicName>${project.groupId}.${project.artifactId}.source</Bundle-SymbolicName>
- <Bundle-Vendor>${project.organization.name}</Bundle-Vendor>
- <Bundle-Version>${parsedVersion.osgiVersion}</Bundle-Version>
- <Eclipse-SourceBundle>${project.groupId}.${project.artifactId};version="${parsedVersion.osgiVersion}";roots:="."</Eclipse-SourceBundle>
- </manifestEntries>
- </archive>
- </configuration>
- <executions>
- <execution>
- <id>attach-sources</id>
- <phase>prepare-package</phase>
- <goals>
- <goal>jar-no-fork</goal>
- </goals>
- </execution>
- <execution>
- <id>attach-test-sources</id>
- <phase>prepare-package</phase>
- <goals>
- <goal>test-jar-no-fork</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
- <plugin>
- <artifactId>maven-javadoc-plugin</artifactId>
- <version>2.10.4</version>
- <configuration>
- <detectOfflineLinks>false</detectOfflineLinks>
- <breakiterator>true</breakiterator>
- <version>false</version>
- <author>false</author>
- <keywords>true</keywords>
- </configuration>
- </plugin>
- <plugin>
- <artifactId>maven-deploy-plugin</artifactId>
- <version>2.8.2</version>
- <configuration>
- <retryFailedDeploymentCount>10</retryFailedDeploymentCount>
- </configuration>
- </plugin>
- <!-- After artifacts were deployed from linux and macos we need to execute the following on macOS (in the root of the project).
- 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
- -->
- <plugin>
- <artifactId>maven-release-plugin</artifactId>
- <!-- Downgrade to 2.4.1 if release fails -->
- <version>2.5.3</version>
- <configuration>
- <useReleaseProfile>false</useReleaseProfile>
- <arguments>-P restricted-release,sonatype-oss-release,full</arguments>
- <autoVersionSubmodules>true</autoVersionSubmodules>
- <allowTimestampedSnapshots>false</allowTimestampedSnapshots>
- <tagNameFormat>netty-@{project.version}</tagNameFormat>
- </configuration>
- <dependencies>
- <dependency>
- <groupId>org.apache.maven.scm</groupId>
- <artifactId>maven-scm-api</artifactId>
- <version>1.9.4</version>
- </dependency>
- <dependency>
- <groupId>org.apache.maven.scm</groupId>
- <artifactId>maven-scm-provider-gitexe</artifactId>
- <version>1.9.4</version>
- </dependency>
- </dependencies>
- </plugin>
- <!-- Ensure to put maven-antrun-plugin at the end of the plugin list
- so that they are run lastly in the same phase. -->
- <plugin>
- <artifactId>maven-antrun-plugin</artifactId>
- <executions>
- <!-- Generate the version properties for all artifacts. -->
- <execution>
- <id>write-version-properties</id>
- <phase>initialize</phase>
- <goals>
- <goal>run</goal>
- </goals>
- <configuration>
- <target>
- <taskdef resource="net/sf/antcontrib/antlib.xml" />
- <!-- Get the information about the latest commit -->
- <exec executable="git" outputproperty="gitOutput.lastCommit" resultproperty="gitExitCode.lastCommit" failonerror="false" failifexecutionfails="false">
- <arg value="log" />
- <arg value="-1" />
- <arg value="--format=format:%h %H %cd" />
- <arg value="--date=iso" />
- </exec>
- <propertyregex property="shortCommitHash" input="${gitOutput.lastCommit}" regexp="^([0-9a-f]+) .*$" select="\1" casesensitive="true" defaultValue="0" />
- <propertyregex property="longCommitHash" input="${gitOutput.lastCommit}" regexp="^[0-9a-f]+ ([0-9a-f]{40}) .*$" select="\1" casesensitive="true" defaultValue="0000000000000000000000000000000000000000" />
- <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" />
- <!-- Get the information abount whether the repository is clean or dirty -->
- <exec executable="git" outputproperty="gitOutput.repoStatus" resultproperty="gitExitCode.repoStatus" failonerror="false" failifexecutionfails="false">
- <arg value="status" />
- <arg value="--porcelain" />
- </exec>
- <if>
- <equals arg2="0" arg1="${gitExitCode.repoStatus}" />
- <then>
- <if>
- <equals arg2="" arg1="${gitOutput.repoStatus}" />
- <then>
- <property name="repoStatus" value="clean" />
- </then>
- <else>
- <property name="repoStatus" value="dirty" />
- </else>
- </if>
- </then>
- <else>
- <property name="repoStatus" value="unknown" />
- </else>
- </if>
- <!-- Print the obtained commit information. -->
- <echo>Current commit: ${shortCommitHash} on ${commitDate}</echo>
- <!-- Generate the .properties file. -->
- <!--
- <property name="metaInfDir" value="${project.basedir}/src/main/resources/META-INF" />
- -->
- <property name="metaInfDir" value="${project.build.outputDirectory}/META-INF" />
- <property name="versionPropFile" value="${metaInfDir}/${project.groupId}.versions.properties" />
- <mkdir dir="${metaInfDir}" />
- <delete file="${versionPropFile}" quiet="true" />
- <propertyfile file="${versionPropFile}" comment="Generated by netty-parent/pom.xml">
- <entry key="${project.artifactId}.version" value="${project.version}" />
- <entry key="${project.artifactId}.buildDate" type="date" value="now" pattern="yyyy-MM-dd HH:mm:ss Z" />
- <entry key="${project.artifactId}.commitDate" value="${commitDate}" />
- <entry key="${project.artifactId}.shortCommitHash" value="${shortCommitHash}" />
- <entry key="${project.artifactId}.longCommitHash" value="${longCommitHash}" />
- <entry key="${project.artifactId}.repoStatus" value="${repoStatus}" />
- </propertyfile>
- </target>
- </configuration>
- </execution>
- </executions>
- <dependencies>
- <dependency>
- <groupId>org.apache.ant</groupId>
- <artifactId>ant</artifactId>
- <version>1.9.7</version>
- </dependency>
- <dependency>
- <groupId>org.apache.ant</groupId>
- <artifactId>ant-launcher</artifactId>
- <version>1.9.7</version>
- </dependency>
- <dependency>
- <groupId>ant-contrib</groupId>
- <artifactId>ant-contrib</artifactId>
- <version>1.0b3</version>
- <exclusions>
- <exclusion>
- <groupId>ant</groupId>
- <artifactId>ant</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
- </dependencies>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-remote-resources-plugin</artifactId>
- <version>1.5</version>
- </plugin>
- <plugin>
- <groupId>de.thetaphi</groupId>
- <artifactId>forbiddenapis</artifactId>
- <version>2.2</version>
- </plugin>
- </plugins>
- <pluginManagement>
- <plugins>
- <!-- keep surefire and failsafe in sync -->
- <plugin>
- <artifactId>maven-surefire-plugin</artifactId>
- <version>2.22.1</version>
- </plugin>
- <!-- keep surefire and failsafe in sync -->
- <plugin>
- <artifactId>maven-failsafe-plugin</artifactId>
- <version>2.22.1</version>
- </plugin>
- <plugin>
- <artifactId>maven-clean-plugin</artifactId>
- <version>3.0.0</version>
- </plugin>
- <plugin>
- <artifactId>maven-resources-plugin</artifactId>
- <version>3.0.1</version>
- </plugin>
- <plugin>
- <groupId>org.ops4j.pax.exam</groupId>
- <artifactId>maven-paxexam-plugin</artifactId>
- <version>1.2.4</version>
- </plugin>
- <plugin>
- <artifactId>maven-jar-plugin</artifactId>
- <version>3.0.2</version>
- <executions>
- <execution>
- <id>default-jar</id>
- <configuration>
- <archive>
- <manifest>
- <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
- </manifest>
- <manifestEntries>
- <Automatic-Module-Name>${javaModuleName}</Automatic-Module-Name>
- </manifestEntries>
- <index>true</index>
- <manifestFile>${project.build.outputDirectory}/META-INF/MANIFEST.MF</manifestFile>
- </archive>
- </configuration>
- </execution>
- <execution>
- <goals>
- <goal>test-jar</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
- <plugin>
- <artifactId>maven-dependency-plugin</artifactId>
- <version>2.10</version>
- </plugin>
- <plugin>
- <artifactId>maven-assembly-plugin</artifactId>
- <version>2.6</version>
- </plugin>
- <plugin>
- <!-- Do NOT upgrade -->
- <artifactId>maven-jxr-plugin</artifactId>
- <version>2.2</version>
- </plugin>
- <plugin>
- <artifactId>maven-antrun-plugin</artifactId>
- <version>1.8</version>
- <dependencies>
- <dependency>
- <groupId>ant-contrib</groupId>
- <artifactId>ant-contrib</artifactId>
- <version>1.0b3</version>
- <exclusions>
- <exclusion>
- <groupId>ant</groupId>
- <artifactId>ant</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
- </dependencies>
- </plugin>
- <plugin>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>build-helper-maven-plugin</artifactId>
- <version>1.10</version>
- </plugin>
- <plugin>
- <groupId>org.fusesource.hawtjni</groupId>
- <artifactId>maven-hawtjni-plugin</artifactId>
- <version>1.14</version>
- </plugin>
- <plugin>
- <groupId>kr.motd.maven</groupId>
- <artifactId>exec-maven-plugin</artifactId>
- <version>1.0.0.Final</version>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-shade-plugin</artifactId>
- <version>3.2.1</version>
- </plugin>
- <!-- Workaround for the 'M2E plugin execution not covered' problem.
- See: http://wiki.eclipse.org/M2E_plugin_execution_not_covered -->
- <plugin>
- <groupId>org.eclipse.m2e</groupId>
- <artifactId>lifecycle-mapping</artifactId>
- <version>1.0.0</version>
- <configuration>
- <lifecycleMappingMetadata>
- <pluginExecutions>
- <pluginExecution>
- <pluginExecutionFilter>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-antrun-plugin</artifactId>
- <versionRange>[1.7,)</versionRange>
- <goals>
- <goal>run</goal>
- </goals>
- </pluginExecutionFilter>
- <action>
- <ignore />
- </action>
- </pluginExecution>
- <pluginExecution>
- <pluginExecutionFilter>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-checkstyle-plugin</artifactId>
- <versionRange>[1.0,)</versionRange>
- <goals>
- <goal>check</goal>
- </goals>
- </pluginExecutionFilter>
- <action>
- <ignore />
- </action>
- </pluginExecution>
- <pluginExecution>
- <pluginExecutionFilter>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-enforcer-plugin</artifactId>
- <versionRange>[1.0,)</versionRange>
- <goals>
- <goal>enforce</goal>
- </goals>
- </pluginExecutionFilter>
- <action>
- <ignore />
- </action>
- </pluginExecution>
- <pluginExecution>
- <pluginExecutionFilter>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-clean-plugin</artifactId>
- <versionRange>[1.0,)</versionRange>
- <goals>
- <goal>clean</goal>
- </goals>
- </pluginExecutionFilter>
- <action>
- <ignore />
- </action>
- </pluginExecution>
- <pluginExecution>
- <pluginExecutionFilter>
- <groupId>org.apache.felix</groupId>
- <artifactId>maven-bundle-plugin</artifactId>
- <versionRange>[2.4,)</versionRange>
- <goals>
- <goal>manifest</goal>
- </goals>
- </pluginExecutionFilter>
- <action>
- <ignore />
- </action>
- </pluginExecution>
- <pluginExecution>
- <pluginExecutionFilter>
- <groupId>org.fusesource.hawtjni</groupId>
- <artifactId>maven-hawtjni-plugin</artifactId>
- <versionRange>[1.10,)</versionRange>
- <goals>
- <goal>generate</goal>
- <goal>build</goal>
- </goals>
- </pluginExecutionFilter>
- <action>
- <ignore />
- </action>
- </pluginExecution>
- <pluginExecution>
- <pluginExecutionFilter>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-dependency-plugin</artifactId>
- <versionRange>[2.8,)</versionRange>
- <goals>
- <goal>get</goal>
- <goal>copy</goal>
- <goal>properties</goal>
- </goals>
- </pluginExecutionFilter>
- <action>
- <ignore />
- </action>
- </pluginExecution>
- </pluginExecutions>
- </lifecycleMappingMetadata>
- </configuration>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-remote-resources-plugin</artifactId>
- <version>1.5</version>
- <configuration>
- <resourceBundles>
- <resourceBundle>io.netty:netty-dev-tools:${project.version}</resourceBundle>
- </resourceBundles>
- <outputDirectory>${netty.dev.tools.directory}</outputDirectory>
- <!-- don't include netty-dev-tools in artifacts -->
- <attachToMain>false</attachToMain>
- <attachToTest>false</attachToTest>
- </configuration>
- <executions>
- <execution>
- <goals>
- <goal>process</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
- <plugin>
- <groupId>de.thetaphi</groupId>
- <artifactId>forbiddenapis</artifactId>
- <version>2.2</version>
- <executions>
- <execution>
- <id>check-forbidden-apis</id>
- <configuration>
- <targetVersion>${maven.compiler.target}</targetVersion>
- <!-- allow undocumented classes like sun.misc.Unsafe: -->
- <internalRuntimeForbidden>false</internalRuntimeForbidden>
- <!-- if the used Java version is too new, don't fail, just do nothing: -->
- <failOnUnsupportedJava>false</failOnUnsupportedJava>
- <bundledSignatures>
- <!-- This will automatically choose the right signatures based on 'targetVersion': -->
- <!-- enabling these should be done in the future -->
- <!-- bundledSignature>jdk-unsafe</bundledSignature -->
- <!-- bundledSignature>jdk-deprecated</bundledSignature -->
- <!-- bundledSignature>jdk-system-out</bundledSignature -->
- </bundledSignatures>
- <signaturesFiles>
- <signaturesFile>${netty.dev.tools.directory}/forbidden/signatures.txt</signaturesFile>
- </signaturesFiles>
- <suppressAnnotations><annotation>**.SuppressForbidden</annotation></suppressAnnotations>
- </configuration>
- <phase>compile</phase>
- <goals>
- <goal>check</goal>
- </goals>
- </execution>
- <execution>
- <id>check-forbidden-test-apis</id>
- <configuration>
- <targetVersion>${maven.compiler.target}</targetVersion>
- <!-- allow undocumented classes like sun.misc.Unsafe: -->
- <internalRuntimeForbidden>true</internalRuntimeForbidden>
- <!-- if the used Java version is too new, don't fail, just do nothing: -->
- <failOnUnsupportedJava>false</failOnUnsupportedJava>
- <bundledSignatures>
- <!-- This will automatically choose the right signatures based on 'targetVersion': -->
- <!-- enabling these should be done in the future -->
- <!-- bundledSignature>jdk-unsafe</bundledSignature -->
- <!-- bundledSignature>jdk-deprecated</bundledSignature -->
- </bundledSignatures>
- <signaturesFiles>
- <signaturesFile>${netty.dev.tools.directory}/forbidden/signatures.txt</signaturesFile>
- </signaturesFiles>
- <suppressAnnotations><annotation>**.SuppressForbidden</annotation></suppressAnnotations>
- </configuration>
- <phase>test-compile</phase>
- <goals>
- <goal>testCheck</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </pluginManagement>
- </build>
- </project>
|