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