| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176 |
- <?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.0.36.Final</version>
- <name>Netty</name>
- <url>http://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>http://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.0.36.Final</tag>
- </scm>
- <developers>
- <developer>
- <id>netty.io</id>
- <name>The Netty Project Contributors</name>
- <email>netty@googlegroups.com</email>
- <url>http://netty.io/</url>
- <organization>The Netty Project</organization>
- <organizationUrl>http://netty.io/</organizationUrl>
- </developer>
- </developers>
- <profiles>
- <profile>
- <id>leak</id>
- <properties>
- <argLine.leak>-Dio.netty.leakDetectionLevel=paranoid -Dio.netty.leakDetection.maxRecord=32</argLine.leak>
- </properties>
- </profile>
- <profile>
- <id>noUnsafe</id>
- <properties>
- <argLine.noUnsafe>-Dio.netty.noUnsafe</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.5.201505241946</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>
- <id>linux</id>
- <activation>
- <os>
- <family>linux</family>
- </os>
- </activation>
- <modules>
- <module>transport-native-epoll</module>
- </modules>
- </profile>
- <!--
- Netty must be released from RHEL 6.7 x86_64 or compatible so that:
- 1) we ship x86_64 version of epoll transport officially, and
- 2) we ensure the ABI compatibility with older GLIBC versions.
- The shared library built on a distribution with newer GLIBC
- will not run on older distributions.
- -->
- <profile>
- <id>restricted-release</id>
- <build>
- <plugins>
- <plugin>
- <artifactId>maven-enforcer-plugin</artifactId>
- <executions>
- <execution>
- <id>enforce-release-environment</id>
- <goals>
- <goal>enforce</goal>
- </goals>
- <configuration>
- <rules>
- <requireJavaVersion>
- <!-- Enforce JDK 1.7 (and not 1.8+) for compilation. -->
- <!-- See: https://github.com/netty/netty/issues/3548 -->
- <version>[1.7.0, 1.8.0)</version>
- </requireJavaVersion>
- <requireProperty>
- <regexMessage>
- Release process must be performed on linux-x86_64.
- </regexMessage>
- <property>os.detected.classifier</property>
- <regex>^linux-x86_64-fedora$</regex>
- </requireProperty>
- <requireFilesContent>
- <message>
- Release process must be performed on RHEL 6.7 or its derivatives.
- </message>
- <files>
- <file>/etc/redhat-release</file>
- </files>
- <content>release 6.7</content>
- </requireFilesContent>
- </rules>
- </configuration>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
- </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>
- <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
- <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
- <netty.build.version>22</netty.build.version>
- <jboss.marshalling.version>1.3.18.GA</jboss.marshalling.version>
- <jetty.alpnAgent.version>1.0.1.Final</jetty.alpnAgent.version>
- <jetty.alpnAgent.path>${settings.localRepository}/kr/motd/javaagent/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:+AggressiveOpts
- -XX:+TieredCompilation
- -XX:+UseBiasedLocking
- -XX:+UseFastAccessorMethods
- -XX:+OptimizeStringConcat
- -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 -->
- <!-- Configure the os-maven-plugin extension to expand the classifier on -->
- <!-- Fedora-"like" systems. This is currently only used for the netty-tcnative dependency -->
- <os.detection.classifierWithLikes>fedora</os.detection.classifierWithLikes>
- <tcnative.artifactId>netty-tcnative</tcnative.artifactId>
- <tcnative.version>1.1.33.Fork15</tcnative.version>
- <tcnative.classifier>${os.detected.classifier}</tcnative.classifier>
- <epoll.classifier>${os.detected.name}-${os.detected.arch}</epoll.classifier>
- </properties>
- <modules>
- <module>common</module>
- <module>buffer</module>
- <module>codec</module>
- <module>codec-haproxy</module>
- <module>codec-http</module>
- <module>codec-socks</module>
- <module>transport</module>
- <module>transport-rxtx</module>
- <module>transport-sctp</module>
- <module>transport-udt</module>
- <module>handler</module>
- <module>example</module>
- <module>testsuite</module>
- <module>testsuite-osgi</module>
- <module>microbench</module>
- <module>all</module>
- <module>tarball</module>
- </modules>
- <dependencyManagement>
- <dependencies>
- <!-- Byte code generator - completely optional -->
- <dependency>
- <groupId>org.javassist</groupId>
- <artifactId>javassist</artifactId>
- <version>3.19.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.5.0</version>
- </dependency>
- <!-- Our own Tomcat Native fork - completely optional, used for acclerating 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>
- <!--
- 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.50</version>
- <scope>compile</scope>
- <optional>true</optional>
- </dependency>
- <dependency>
- <groupId>com.jcraft</groupId>
- <artifactId>jzlib</artifactId>
- <version>1.1.3</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.5</version>
- </dependency>
- <dependency>
- <groupId>commons-logging</groupId>
- <artifactId>commons-logging</artifactId>
- <version>1.1.3</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.easymock</groupId>
- <artifactId>easymock</artifactId>
- <version>3.2</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.easymock</groupId>
- <artifactId>easymockclassextension</artifactId>
- <version>3.2</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.jmock</groupId>
- <artifactId>jmock-junit4</artifactId>
- <version>2.6.0</version>
- <scope>test</scope>
- <exclusions>
- <exclusion>
- <groupId>junit</groupId>
- <artifactId>junit-dep</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
- <dependency>
- <groupId>org.mockito</groupId>
- <artifactId>mockito-core</artifactId>
- <version>1.10.8</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>ch.qos.logback</groupId>
- <artifactId>logback-classic</artifactId>
- <version>1.0.13</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 suite dependency for generating a compressed heap dump file -->
- <dependency>
- <groupId>org.tukaani</groupId>
- <artifactId>xz</artifactId>
- <version>1.5</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>org.easymock</groupId>
- <artifactId>easymock</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.easymock</groupId>
- <artifactId>easymockclassextension</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.jmock</groupId>
- <artifactId>jmock-junit4</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.mockito</groupId>
- <artifactId>mockito-core</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>1.4.1.Final</version>
- </extension>
- </extensions>
- <plugins>
- <plugin>
- <artifactId>maven-enforcer-plugin</artifactId>
- <executions>
- <execution>
- <id>enforce-tools</id>
- <goals>
- <goal>enforce</goal>
- </goals>
- <configuration>
- <rules>
- <requireJavaVersion>
- <!-- Enforce JDK 1.7+ for compilation. -->
- <!-- This is needed because of java.util.zip.Deflater and NIO UDP multicast. -->
- <version>[1.7.0,)</version>
- </requireJavaVersion>
- <requireMavenVersion>
- <version>[3.1.1,)</version>
- </requireMavenVersion>
- </rules>
- </configuration>
- </execution>
- </executions>
- </plugin>
- <plugin>
- <artifactId>maven-compiler-plugin</artifactId>
- <version>3.1</version>
- <configuration>
- <compilerVersion>1.7</compilerVersion>
- <fork>true</fork>
- <source>1.6</source>
- <target>1.6</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.9</version>
- <dependencies>
- <!-- Upgrade ASM and support Java 8 bytecode -->
- <dependency>
- <groupId>org.ow2.asm</groupId>
- <artifactId>asm-all</artifactId>
- <version>5.0.3</version>
- </dependency>
- </dependencies>
- <configuration>
- <signature>
- <groupId>org.codehaus.mojo.signature</groupId>
- <artifactId>java16</artifactId>
- <version>1.0</version>
- </signature>
- <ignores>
- <ignore>sun.misc.Unsafe</ignore>
- <ignore>sun.misc.Cleaner</ignore>
- <ignore>sun.nio.ch.DirectBuffer</ignore>
- <ignore>java.util.zip.Deflater</ignore>
- <!-- Used for NIO UDP multicast -->
- <ignore>java.nio.channels.DatagramChannel</ignore>
- <ignore>java.nio.channels.MembershipKey</ignore>
- <ignore>java.net.StandardProtocolFamily</ignore>
- <ignore>java.nio.channels.spi.SelectorProvider</ignore>
- <!-- Self-signed certificate generation -->
- <ignore>sun.security.x509.AlgorithmId</ignore>
- <ignore>sun.security.x509.CertificateAlgorithmId</ignore>
- <ignore>sun.security.x509.CertificateIssuerName</ignore>
- <ignore>sun.security.x509.CertificateSerialNumber</ignore>
- <ignore>sun.security.x509.CertificateSubjectName</ignore>
- <ignore>sun.security.x509.CertificateValidity</ignore>
- <ignore>sun.security.x509.CertificateVersion</ignore>
- <ignore>sun.security.x509.CertificateX509Key</ignore>
- <ignore>sun.security.x509.X500Name</ignore>
- <ignore>sun.security.x509.X509CertInfo</ignore>
- <ignore>sun.security.x509.X509CertImpl</ignore>
- <!-- SSLSession implementation -->
- <ignore>javax.net.ssl.SSLEngine</ignore>
- <ignore>javax.net.ssl.X509ExtendedTrustManager</ignore>
- <ignore>javax.net.ssl.SSLParameters</ignore>
- <ignore>java.security.AlgorithmConstraints</ignore>
- <ignore>java.security.cert.CertificateRevokedException</ignore>
- <ignore>java.util.concurrent.ConcurrentLinkedDeque</ignore>
- </ignores>
- </configuration>
- <executions>
- <execution>
- <phase>process-classes</phase>
- <goals>
- <goal>check</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
- <plugin>
- <artifactId>maven-checkstyle-plugin</artifactId>
- <version>2.10</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>
- <includeTestSourceDirectory>true</includeTestSourceDirectory>
- </configuration>
- </execution>
- </executions>
- <dependencies>
- <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>kr.motd.javaagent</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>
- <argLine>${argLine.common} ${argLine.alpnAgent} ${argLine.leak} ${argLine.coverage} ${argLine.noUnsafe}</argLine>
- <properties>
- <property>
- <name>listener</name>
- <value>io.netty.build.junit.TimedOutTestsListener</value>
- </property>
- </properties>
- </configuration>
- </plugin>
- <!-- always produce osgi bundles -->
- <plugin>
- <groupId>org.apache.felix</groupId>
- <artifactId>maven-bundle-plugin</artifactId>
- <version>2.4.0</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.8</version>
- <executions>
- <execution>
- <id>parse-version</id>
- <goals>
- <goal>parse-version</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
- <plugin>
- <artifactId>maven-source-plugin</artifactId>
- <version>2.2.1</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>
- <!--
- ~ This workaround prevents Maven from executing the 'generate-sources' phase twice.
- ~ See http://jira.codehaus.org/browse/MSOURCES-13
- ~ and http://blog.peterlynch.ca/2010/05/maven-how-to-prevent-generate-sources.html
- -->
- <execution>
- <id>attach-sources</id>
- <phase>invalid</phase>
- <goals>
- <goal>jar</goal>
- </goals>
- </execution>
- <execution>
- <id>attach-sources-no-fork</id>
- <phase>package</phase>
- <goals>
- <goal>jar-no-fork</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
- <plugin>
- <artifactId>maven-javadoc-plugin</artifactId>
- <version>2.9.1</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.7</version>
- <configuration>
- <retryFailedDeploymentCount>10</retryFailedDeploymentCount>
- </configuration>
- </plugin>
- <plugin>
- <artifactId>maven-release-plugin</artifactId>
- <version>2.4.2</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.8.1</version>
- </dependency>
- <dependency>
- <groupId>org.apache.maven.scm</groupId>
- <artifactId>maven-scm-provider-gitexe</artifactId>
- <version>1.8.1</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.8.2</version>
- </dependency>
- <dependency>
- <groupId>org.apache.ant</groupId>
- <artifactId>ant-launcher</artifactId>
- <version>1.8.2</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>
- </plugins>
- <pluginManagement>
- <plugins>
- <plugin>
- <artifactId>maven-enforcer-plugin</artifactId>
- <version>1.3.1</version>
- <dependencies>
- <!-- Provides the 'requireFilesContent' enforcer rule. -->
- <dependency>
- <groupId>com.ceilfors.maven.plugin</groupId>
- <artifactId>enforcer-rules</artifactId>
- <version>1.1.0</version>
- </dependency>
- </dependencies>
- </plugin>
- <!-- keep surefire and failsafe in sync -->
- <plugin>
- <artifactId>maven-surefire-plugin</artifactId>
- <version>2.15</version>
- </plugin>
- <!-- keep surefire and failsafe in sync -->
- <plugin>
- <artifactId>maven-failsafe-plugin</artifactId>
- <version>2.15</version>
- </plugin>
- <plugin>
- <artifactId>maven-clean-plugin</artifactId>
- <version>2.5</version>
- </plugin>
- <plugin>
- <artifactId>maven-resources-plugin</artifactId>
- <version>2.6</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>2.5</version>
- <executions>
- <execution>
- <id>default-jar</id>
- <configuration>
- <archive>
- <manifest>
- <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
- </manifest>
- <index>true</index>
- <manifestFile>${project.build.outputDirectory}/META-INF/MANIFEST.MF</manifestFile>
- </archive>
- </configuration>
- </execution>
- </executions>
- </plugin>
- <plugin>
- <artifactId>maven-dependency-plugin</artifactId>
- <version>2.8</version>
- </plugin>
- <plugin>
- <artifactId>maven-assembly-plugin</artifactId>
- <version>2.4</version>
- </plugin>
- <plugin>
- <!-- Do NOT upgrade -->
- <artifactId>maven-jxr-plugin</artifactId>
- <version>2.2</version>
- </plugin>
- <plugin>
- <artifactId>maven-antrun-plugin</artifactId>
- <version>1.7</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.8</version>
- </plugin>
- <plugin>
- <groupId>org.fusesource.hawtjni</groupId>
- <artifactId>maven-hawtjni-plugin</artifactId>
- <version>1.10</version>
- </plugin>
- <plugin>
- <groupId>kr.motd.maven</groupId>
- <artifactId>exec-maven-plugin</artifactId>
- <version>1.0.0.Final</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>
- </plugins>
- </pluginManagement>
- </build>
- </project>
|