Home | History | Annotate | Download | only in 4.1.3.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.3.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.3.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.maxRecord=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.1</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.Fork19</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.1</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 
    603     <!-- Provided dependency for tests inside IDEs -->
    604     <dependency>
    605       <groupId>org.jctools</groupId>
    606       <artifactId>jctools-core</artifactId>
    607       <scope>provided</scope>
    608     </dependency>
    609   </dependencies>
    610 
    611   <build>
    612     <extensions>
    613       <extension>
    614         <groupId>kr.motd.maven</groupId>
    615         <artifactId>os-maven-plugin</artifactId>
    616         <version>1.5.0.Final</version>
    617       </extension>
    618     </extensions>
    619 
    620     <plugins>
    621       <plugin>
    622         <artifactId>maven-enforcer-plugin</artifactId>
    623         <executions>
    624           <execution>
    625             <id>enforce-tools</id>
    626             <goals>
    627               <goal>enforce</goal>
    628             </goals>
    629             <configuration>
    630               <rules>
    631                 <requireJavaVersion>
    632                   <!-- Enforce JDK 1.7+ for compilation. -->
    633                   <!-- This is needed because of java.util.zip.Deflater and NIO UDP multicast. -->
    634                   <version>[1.7.0,)</version>
    635                 </requireJavaVersion>
    636                 <requireMavenVersion>
    637                   <version>[3.1.1,)</version>
    638                 </requireMavenVersion>
    639                 <requireProperty>
    640                   <regexMessage>
    641                     x86_64 JDK must be used.
    642                   </regexMessage>
    643                   <property>os.detected.arch</property>
    644                   <regex>^x86_64$</regex>
    645                 </requireProperty>
    646               </rules>
    647             </configuration>
    648           </execution>
    649         </executions>
    650       </plugin>
    651       <plugin>
    652         <artifactId>maven-compiler-plugin</artifactId>
    653         <version>3.5.1</version>
    654         <configuration>
    655           <compilerVersion>1.7</compilerVersion>
    656           <fork>true</fork>
    657           <source>1.6</source>
    658           <target>1.6</target>
    659           <debug>true</debug>
    660           <optimize>true</optimize>
    661           <showDeprecation>true</showDeprecation>
    662           <showWarnings>true</showWarnings>
    663           <compilerArgument>-Xlint:-options</compilerArgument>
    664           <!-- XXX: maven-release-plugin complains - MRELEASE-715 -->
    665           <!--
    666           <compilerArguments>
    667             <Xlint:-options />
    668             <Xlint:unchecked />
    669             <Xlint:deprecation />
    670           </compilerArguments>
    671           -->
    672           <meminitial>256m</meminitial>
    673           <maxmem>1024m</maxmem>
    674           <excludes>
    675             <exclude>**/package-info.java</exclude>
    676           </excludes>
    677         </configuration>
    678       </plugin>
    679       <plugin>
    680         <!-- ensure that only methods available in java 1.6 can
    681              be used even when compiling with java 1.7+ -->
    682         <groupId>org.codehaus.mojo</groupId>
    683         <artifactId>animal-sniffer-maven-plugin</artifactId>
    684         <version>1.11</version>
    685         <dependencies>
    686           <!-- Upgrade ASM and support Java 8 bytecode -->
    687           <dependency>
    688             <groupId>org.ow2.asm</groupId>
    689             <artifactId>asm-all</artifactId>
    690             <version>5.1</version>
    691           </dependency>
    692         </dependencies>
    693         <configuration>
    694           <signature>
    695             <groupId>org.codehaus.mojo.signature</groupId>
    696             <artifactId>java16</artifactId>
    697             <version>1.1</version>
    698           </signature>
    699           <ignores>
    700             <ignore>sun.misc.Unsafe</ignore>
    701             <ignore>sun.misc.Cleaner</ignore>
    702             <ignore>sun.nio.ch.DirectBuffer</ignore>
    703 
    704             <ignore>java.util.zip.Deflater</ignore>
    705 
    706             <!-- Used for NIO UDP multicast -->
    707             <ignore>java.nio.channels.DatagramChannel</ignore>
    708             <ignore>java.nio.channels.MembershipKey</ignore>
    709             <ignore>java.net.StandardProtocolFamily</ignore>
    710             <ignore>java.nio.channels.spi.SelectorProvider</ignore>
    711 
    712             <!-- Self-signed certificate generation -->
    713             <ignore>sun.security.x509.AlgorithmId</ignore>
    714             <ignore>sun.security.x509.CertificateAlgorithmId</ignore>
    715             <ignore>sun.security.x509.CertificateIssuerName</ignore>
    716             <ignore>sun.security.x509.CertificateSerialNumber</ignore>
    717             <ignore>sun.security.x509.CertificateSubjectName</ignore>
    718             <ignore>sun.security.x509.CertificateValidity</ignore>
    719             <ignore>sun.security.x509.CertificateVersion</ignore>
    720             <ignore>sun.security.x509.CertificateX509Key</ignore>
    721             <ignore>sun.security.x509.X500Name</ignore>
    722             <ignore>sun.security.x509.X509CertInfo</ignore>
    723             <ignore>sun.security.x509.X509CertImpl</ignore>
    724 
    725             <!-- SSLSession implementation -->
    726             <ignore>javax.net.ssl.SSLEngine</ignore>
    727             <ignore>javax.net.ssl.X509ExtendedTrustManager</ignore>
    728             <ignore>javax.net.ssl.SSLParameters</ignore>
    729             <ignore>java.security.AlgorithmConstraints</ignore>
    730             <ignore>java.security.cert.CertificateRevokedException</ignore>
    731 
    732             <ignore>java.util.concurrent.ConcurrentLinkedDeque</ignore>
    733           </ignores>
    734         </configuration>
    735         <executions>
    736           <execution>
    737             <phase>process-classes</phase>
    738             <goals>
    739               <goal>check</goal>
    740             </goals>
    741           </execution>
    742         </executions>
    743       </plugin>
    744       <plugin>
    745         <artifactId>maven-checkstyle-plugin</artifactId>
    746         <version>2.12.1</version>
    747         <executions>
    748           <execution>
    749             <id>check-style</id>
    750             <goals>
    751               <goal>check</goal>
    752             </goals>
    753             <phase>validate</phase>
    754             <configuration>
    755               <consoleOutput>true</consoleOutput>
    756               <logViolationsToConsole>true</logViolationsToConsole>
    757               <failsOnError>true</failsOnError>
    758               <failOnViolation>true</failOnViolation>
    759               <configLocation>io/netty/checkstyle.xml</configLocation>
    760               <includeTestSourceDirectory>true</includeTestSourceDirectory>
    761             </configuration>
    762           </execution>
    763         </executions>
    764         <dependencies>
    765           <dependency>
    766             <groupId>${project.groupId}</groupId>
    767             <artifactId>netty-build</artifactId>
    768             <version>${netty.build.version}</version>
    769           </dependency>
    770         </dependencies>
    771       </plugin>
    772       <plugin>
    773         <groupId>org.codehaus.mojo</groupId>
    774         <artifactId>xml-maven-plugin</artifactId>
    775         <version>1.0.1</version>
    776         <executions>
    777           <execution>
    778             <id>check-style</id>
    779             <goals>
    780               <goal>check-format</goal>
    781             </goals>
    782             <phase>validate</phase>
    783           </execution>
    784         </executions>
    785         <configuration>
    786           <formatFileSets>
    787             <formatFileSet>
    788               <directory>${project.basedir}</directory>
    789               <includes>
    790                 <include>**/pom.xml</include>
    791               </includes>
    792             </formatFileSet>
    793           </formatFileSets>
    794           <useDefaultFormatFileSet>false</useDefaultFormatFileSet>
    795         </configuration>
    796       </plugin>
    797       <!-- Download the npn-boot.jar in advance to add it to the boot classpath. -->
    798       <plugin>
    799         <artifactId>maven-dependency-plugin</artifactId>
    800         <executions>
    801           <execution>
    802             <id>get-jetty-alpn-agent</id>
    803             <phase>validate</phase>
    804             <goals>
    805               <goal>get</goal>
    806             </goals>
    807             <configuration>
    808               <groupId>org.mortbay.jetty.alpn</groupId>
    809               <artifactId>jetty-alpn-agent</artifactId>
    810               <version>${jetty.alpnAgent.version}</version>
    811             </configuration>
    812           </execution>
    813         </executions>
    814       </plugin>
    815       <plugin>
    816         <artifactId>maven-surefire-plugin</artifactId>
    817         <configuration>
    818           <includes>
    819             <include>**/*Test*.java</include>
    820             <include>**/*Benchmark*.java</include>
    821           </includes>
    822           <excludes>
    823             <exclude>**/Abstract*</exclude>
    824             <exclude>**/TestUtil*</exclude>
    825           </excludes>
    826           <runOrder>random</runOrder>
    827           <systemPropertyVariables>
    828             <logback.configurationFile>${logging.config}</logback.configurationFile>
    829             <logLevel>${logging.logLevel}</logLevel>
    830           </systemPropertyVariables>
    831           <argLine>${argLine.common} ${argLine.alpnAgent} ${argLine.leak} ${argLine.coverage} ${argLine.noUnsafe}</argLine>
    832           <properties>
    833             <property>
    834               <name>listener</name>
    835               <value>io.netty.build.junit.TimedOutTestsListener</value>
    836             </property>
    837           </properties>
    838         </configuration>
    839       </plugin>
    840       <!-- always produce osgi bundles -->
    841       <plugin>
    842         <groupId>org.apache.felix</groupId>
    843         <artifactId>maven-bundle-plugin</artifactId>
    844         <version>2.5.4</version>
    845         <executions>
    846           <execution>
    847             <id>generate-manifest</id>
    848             <phase>process-classes</phase>
    849             <goals>
    850               <goal>manifest</goal>
    851             </goals>
    852             <configuration>
    853               <supportedProjectTypes>
    854                 <supportedProjectType>jar</supportedProjectType>
    855                 <supportedProjectType>bundle</supportedProjectType>
    856               </supportedProjectTypes>
    857               <instructions>
    858                 <Export-Package>${project.groupId}.*</Export-Package>
    859                 <!-- enforce JVM vendor package as optional -->
    860                 <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>
    861                 <!-- override "internal" private package convention -->
    862                 <Private-Package>!*</Private-Package>
    863               </instructions>
    864             </configuration>
    865           </execution>
    866         </executions>
    867       </plugin>
    868 
    869       <plugin>
    870         <groupId>org.codehaus.mojo</groupId>
    871         <artifactId>build-helper-maven-plugin</artifactId>
    872         <version>1.10</version>
    873         <executions>
    874           <execution>
    875             <id>parse-version</id>
    876             <goals>
    877               <goal>parse-version</goal>
    878             </goals>
    879           </execution>
    880         </executions>
    881       </plugin>
    882 
    883       <plugin>
    884         <artifactId>maven-source-plugin</artifactId>
    885         <version>3.0.1</version>
    886         <!-- Eclipse-related OSGi manifests
    887              See https://github.com/netty/netty/issues/3886
    888              More information: http://rajakannappan.blogspot.ie/2010/03/automating-eclipse-source-bundle.html -->
    889         <configuration>
    890           <archive>
    891             <manifestEntries>
    892               <Bundle-ManifestVersion>2</Bundle-ManifestVersion>
    893               <Bundle-Name>${project.name}</Bundle-Name>
    894               <Bundle-SymbolicName>${project.groupId}.${project.artifactId}.source</Bundle-SymbolicName>
    895               <Bundle-Vendor>${project.organization.name}</Bundle-Vendor>
    896               <Bundle-Version>${parsedVersion.osgiVersion}</Bundle-Version>
    897               <Eclipse-SourceBundle>${project.groupId}.${project.artifactId};version="${parsedVersion.osgiVersion}";roots:="."</Eclipse-SourceBundle>
    898             </manifestEntries>
    899           </archive>
    900         </configuration>
    901 
    902         <executions>
    903           <!--
    904             ~ This workaround prevents Maven from executing the 'generate-sources' phase twice.
    905             ~ See http://jira.codehaus.org/browse/MSOURCES-13
    906             ~ and http://blog.peterlynch.ca/2010/05/maven-how-to-prevent-generate-sources.html
    907             -->
    908           <execution>
    909             <id>attach-sources</id>
    910             <phase>invalid</phase>
    911             <goals>
    912               <goal>jar</goal>
    913             </goals>
    914           </execution>
    915           <execution>
    916             <id>attach-sources-no-fork</id>
    917             <phase>package</phase>
    918             <goals>
    919               <goal>jar-no-fork</goal>
    920             </goals>
    921           </execution>
    922         </executions>
    923       </plugin>
    924       <plugin>
    925         <artifactId>maven-javadoc-plugin</artifactId>
    926         <version>2.10.4</version>
    927         <configuration>
    928           <detectOfflineLinks>false</detectOfflineLinks>
    929           <breakiterator>true</breakiterator>
    930           <version>false</version>
    931           <author>false</author>
    932           <keywords>true</keywords>
    933         </configuration>
    934       </plugin>
    935       <plugin>
    936         <artifactId>maven-deploy-plugin</artifactId>
    937         <version>2.8.2</version>
    938         <configuration>
    939           <retryFailedDeploymentCount>10</retryFailedDeploymentCount>
    940         </configuration>
    941       </plugin>
    942       <plugin>
    943         <artifactId>maven-release-plugin</artifactId>
    944         <!-- Downgrade to 2.4.1 if release fails -->
    945         <version>2.5.3</version>
    946         <configuration>
    947           <useReleaseProfile>false</useReleaseProfile>
    948           <arguments>-P restricted-release,sonatype-oss-release,full</arguments>
    949           <autoVersionSubmodules>true</autoVersionSubmodules>
    950           <allowTimestampedSnapshots>false</allowTimestampedSnapshots>
    951           <tagNameFormat>netty-@{project.version}</tagNameFormat>
    952         </configuration>
    953         <dependencies>
    954           <dependency>
    955             <groupId>org.apache.maven.scm</groupId>
    956             <artifactId>maven-scm-api</artifactId>
    957             <version>1.9.4</version>
    958           </dependency>
    959           <dependency>
    960             <groupId>org.apache.maven.scm</groupId>
    961             <artifactId>maven-scm-provider-gitexe</artifactId>
    962             <version>1.9.4</version>
    963           </dependency>
    964         </dependencies>
    965       </plugin>
    966 
    967       <!-- Ensure to put maven-antrun-plugin at the end of the plugin list
    968            so that they are run lastly in the same phase. -->
    969       <plugin>
    970         <artifactId>maven-antrun-plugin</artifactId>
    971         <executions>
    972           <!-- Generate the version properties for all artifacts. -->
    973           <execution>
    974             <id>write-version-properties</id>
    975             <phase>initialize</phase>
    976             <goals>
    977               <goal>run</goal>
    978             </goals>
    979             <configuration>
    980               <target>
    981                 <taskdef resource="net/sf/antcontrib/antlib.xml" />
    982 
    983                 <!-- Get the information about the latest commit -->
    984                 <exec executable="git" outputproperty="gitOutput.lastCommit" resultproperty="gitExitCode.lastCommit" failonerror="false" failifexecutionfails="false">
    985                   <arg value="log" />
    986                   <arg value="-1" />
    987                   <arg value="--format=format:%h %H %cd" />
    988                   <arg value="--date=iso" />
    989                 </exec>
    990                 <propertyregex property="shortCommitHash" input="${gitOutput.lastCommit}" regexp="^([0-9a-f]+) .*$" select="\1" casesensitive="true" defaultValue="0" />
    991                 <propertyregex property="longCommitHash" input="${gitOutput.lastCommit}" regexp="^[0-9a-f]+ ([0-9a-f]{40}) .*$" select="\1" casesensitive="true" defaultValue="0000000000000000000000000000000000000000" />
    992                 <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" />
    993 
    994                 <!-- Get the information abount whether the repository is clean or dirty -->
    995                 <exec executable="git" outputproperty="gitOutput.repoStatus" resultproperty="gitExitCode.repoStatus" failonerror="false" failifexecutionfails="false">
    996                   <arg value="status" />
    997                   <arg value="--porcelain" />
    998                 </exec>
    999                 <if>
   1000                   <equals arg2="0" arg1="${gitExitCode.repoStatus}" />
   1001                   <then>
   1002                     <if>
   1003                       <equals arg2="" arg1="${gitOutput.repoStatus}" />
   1004                       <then>
   1005                         <property name="repoStatus" value="clean" />
   1006                       </then>
   1007                       <else>
   1008                         <property name="repoStatus" value="dirty" />
   1009                       </else>
   1010                     </if>
   1011                   </then>
   1012                   <else>
   1013                     <property name="repoStatus" value="unknown" />
   1014                   </else>
   1015                 </if>
   1016 
   1017                 <!-- Print the obtained commit information. -->
   1018                 <echo>Current commit: ${shortCommitHash} on ${commitDate}</echo>
   1019 
   1020                 <!-- Generate the .properties file. -->
   1021                 <!--
   1022                 <property name="metaInfDir" value="${project.basedir}/src/main/resources/META-INF" />
   1023                 -->
   1024                 <property name="metaInfDir" value="${project.build.outputDirectory}/META-INF" />
   1025                 <property name="versionPropFile" value="${metaInfDir}/${project.groupId}.versions.properties" />
   1026                 <mkdir dir="${metaInfDir}" />
   1027                 <delete file="${versionPropFile}" quiet="true" />
   1028 
   1029                 <propertyfile file="${versionPropFile}" comment="Generated by netty-parent/pom.xml">
   1030                   <entry key="${project.artifactId}.version" value="${project.version}" />
   1031                   <entry key="${project.artifactId}.buildDate" type="date" value="now" pattern="yyyy-MM-dd HH:mm:ss Z" />
   1032                   <entry key="${project.artifactId}.commitDate" value="${commitDate}" />
   1033                   <entry key="${project.artifactId}.shortCommitHash" value="${shortCommitHash}" />
   1034                   <entry key="${project.artifactId}.longCommitHash" value="${longCommitHash}" />
   1035                   <entry key="${project.artifactId}.repoStatus" value="${repoStatus}" />
   1036                 </propertyfile>
   1037               </target>
   1038             </configuration>
   1039           </execution>
   1040         </executions>
   1041         <dependencies>
   1042           <dependency>
   1043             <groupId>org.apache.ant</groupId>
   1044             <artifactId>ant</artifactId>
   1045             <version>1.9.7</version>
   1046           </dependency>
   1047           <dependency>
   1048             <groupId>org.apache.ant</groupId>
   1049             <artifactId>ant-launcher</artifactId>
   1050             <version>1.9.7</version>
   1051           </dependency>
   1052           <dependency>
   1053             <groupId>ant-contrib</groupId>
   1054             <artifactId>ant-contrib</artifactId>
   1055             <version>1.0b3</version>
   1056             <exclusions>
   1057               <exclusion>
   1058                 <groupId>ant</groupId>
   1059                 <artifactId>ant</artifactId>
   1060               </exclusion>
   1061             </exclusions>
   1062           </dependency>
   1063         </dependencies>
   1064       </plugin>
   1065     </plugins>
   1066 
   1067     <pluginManagement>
   1068       <plugins>
   1069         <plugin>
   1070           <artifactId>maven-enforcer-plugin</artifactId>
   1071           <version>1.4.1</version>
   1072           <dependencies>
   1073             <!-- Provides the 'requireFilesContent' enforcer rule. -->
   1074             <dependency>
   1075               <groupId>com.ceilfors.maven.plugin</groupId>
   1076               <artifactId>enforcer-rules</artifactId>
   1077               <version>1.2.0</version>
   1078             </dependency>
   1079           </dependencies>
   1080         </plugin>
   1081         <!-- keep surefire and failsafe in sync -->
   1082         <plugin>
   1083           <artifactId>maven-surefire-plugin</artifactId>
   1084           <version>2.19.1</version>
   1085         </plugin>
   1086         <!-- keep surefire and failsafe in sync -->
   1087         <plugin>
   1088           <artifactId>maven-failsafe-plugin</artifactId>
   1089           <version>2.19.1</version>
   1090         </plugin>
   1091         <plugin>
   1092           <artifactId>maven-clean-plugin</artifactId>
   1093           <version>3.0.0</version>
   1094         </plugin>
   1095         <plugin>
   1096           <artifactId>maven-resources-plugin</artifactId>
   1097           <version>3.0.1</version>
   1098         </plugin>
   1099         <plugin>
   1100           <groupId>org.ops4j.pax.exam</groupId>
   1101           <artifactId>maven-paxexam-plugin</artifactId>
   1102           <version>1.2.4</version>
   1103         </plugin>
   1104         <plugin>
   1105           <artifactId>maven-jar-plugin</artifactId>
   1106           <version>3.0.2</version>
   1107           <executions>
   1108             <execution>
   1109               <id>default-jar</id>
   1110               <configuration>
   1111                 <archive>
   1112                   <manifest>
   1113                     <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
   1114                   </manifest>
   1115                   <index>true</index>
   1116                   <manifestFile>${project.build.outputDirectory}/META-INF/MANIFEST.MF</manifestFile>
   1117                 </archive>
   1118               </configuration>
   1119             </execution>
   1120           </executions>
   1121         </plugin>
   1122         <plugin>
   1123           <artifactId>maven-dependency-plugin</artifactId>
   1124           <version>2.10</version>
   1125         </plugin>
   1126         <plugin>
   1127           <artifactId>maven-assembly-plugin</artifactId>
   1128           <version>2.6</version>
   1129         </plugin>
   1130         <plugin>
   1131           <!-- Do NOT upgrade -->
   1132           <artifactId>maven-jxr-plugin</artifactId>
   1133           <version>2.2</version>
   1134         </plugin>
   1135         <plugin>
   1136           <artifactId>maven-antrun-plugin</artifactId>
   1137           <version>1.8</version>
   1138           <dependencies>
   1139             <dependency>
   1140               <groupId>ant-contrib</groupId>
   1141               <artifactId>ant-contrib</artifactId>
   1142               <version>1.0b3</version>
   1143               <exclusions>
   1144                 <exclusion>
   1145                   <groupId>ant</groupId>
   1146                   <artifactId>ant</artifactId>
   1147                 </exclusion>
   1148               </exclusions>
   1149             </dependency>
   1150           </dependencies>
   1151         </plugin>
   1152         <plugin>
   1153           <groupId>org.codehaus.mojo</groupId>
   1154           <artifactId>build-helper-maven-plugin</artifactId>
   1155           <version>1.10</version>
   1156         </plugin>
   1157         <plugin>
   1158           <groupId>org.fusesource.hawtjni</groupId>
   1159           <artifactId>maven-hawtjni-plugin</artifactId>
   1160           <version>1.14</version>
   1161         </plugin>
   1162         <plugin>
   1163           <groupId>kr.motd.maven</groupId>
   1164           <artifactId>exec-maven-plugin</artifactId>
   1165           <version>1.0.0.Final</version>
   1166         </plugin>
   1167         <plugin>
   1168           <groupId>org.apache.maven.plugins</groupId>
   1169           <artifactId>maven-shade-plugin</artifactId>
   1170           <version>2.4.3</version>
   1171         </plugin>
   1172 
   1173         <!-- Workaround for the 'M2E plugin execution not covered' problem.
   1174              See: http://wiki.eclipse.org/M2E_plugin_execution_not_covered -->
   1175         <plugin>
   1176           <groupId>org.eclipse.m2e</groupId>
   1177           <artifactId>lifecycle-mapping</artifactId>
   1178           <version>1.0.0</version>
   1179           <configuration>
   1180             <lifecycleMappingMetadata>
   1181               <pluginExecutions>
   1182                 <pluginExecution>
   1183                   <pluginExecutionFilter>
   1184                     <groupId>org.apache.maven.plugins</groupId>
   1185                     <artifactId>maven-antrun-plugin</artifactId>
   1186                     <versionRange>[1.7,)</versionRange>
   1187                     <goals>
   1188                       <goal>run</goal>
   1189                     </goals>
   1190                   </pluginExecutionFilter>
   1191                   <action>
   1192                     <ignore />
   1193                   </action>
   1194                 </pluginExecution>
   1195                 <pluginExecution>
   1196                   <pluginExecutionFilter>
   1197                     <groupId>org.apache.maven.plugins</groupId>
   1198                     <artifactId>maven-checkstyle-plugin</artifactId>
   1199                     <versionRange>[1.0,)</versionRange>
   1200                     <goals>
   1201                       <goal>check</goal>
   1202                     </goals>
   1203                   </pluginExecutionFilter>
   1204                   <action>
   1205                     <ignore />
   1206                   </action>
   1207                 </pluginExecution>
   1208                 <pluginExecution>
   1209                   <pluginExecutionFilter>
   1210                     <groupId>org.apache.maven.plugins</groupId>
   1211                     <artifactId>maven-enforcer-plugin</artifactId>
   1212                     <versionRange>[1.0,)</versionRange>
   1213                     <goals>
   1214                       <goal>enforce</goal>
   1215                     </goals>
   1216                   </pluginExecutionFilter>
   1217                   <action>
   1218                     <ignore />
   1219                   </action>
   1220                 </pluginExecution>
   1221                 <pluginExecution>
   1222                   <pluginExecutionFilter>
   1223                     <groupId>org.apache.maven.plugins</groupId>
   1224                     <artifactId>maven-clean-plugin</artifactId>
   1225                     <versionRange>[1.0,)</versionRange>
   1226                     <goals>
   1227                       <goal>clean</goal>
   1228                     </goals>
   1229                   </pluginExecutionFilter>
   1230                   <action>
   1231                     <ignore />
   1232                   </action>
   1233                 </pluginExecution>
   1234                 <pluginExecution>
   1235                   <pluginExecutionFilter>
   1236                     <groupId>org.apache.felix</groupId>
   1237                     <artifactId>maven-bundle-plugin</artifactId>
   1238                     <versionRange>[2.4,)</versionRange>
   1239                     <goals>
   1240                       <goal>manifest</goal>
   1241                     </goals>
   1242                   </pluginExecutionFilter>
   1243                   <action>
   1244                     <ignore />
   1245                   </action>
   1246                 </pluginExecution>
   1247                 <pluginExecution>
   1248                   <pluginExecutionFilter>
   1249                     <groupId>org.fusesource.hawtjni</groupId>
   1250                     <artifactId>maven-hawtjni-plugin</artifactId>
   1251                     <versionRange>[1.10,)</versionRange>
   1252                     <goals>
   1253                       <goal>generate</goal>
   1254                       <goal>build</goal>
   1255                     </goals>
   1256                   </pluginExecutionFilter>
   1257                   <action>
   1258                     <ignore />
   1259                   </action>
   1260                 </pluginExecution>
   1261                 <pluginExecution>
   1262                   <pluginExecutionFilter>
   1263                     <groupId>org.apache.maven.plugins</groupId>
   1264                     <artifactId>maven-dependency-plugin</artifactId>
   1265                     <versionRange>[2.8,)</versionRange>
   1266                     <goals>
   1267                       <goal>get</goal>
   1268                       <goal>copy</goal>
   1269                       <goal>properties</goal>
   1270                     </goals>
   1271                   </pluginExecutionFilter>
   1272                   <action>
   1273                     <ignore />
   1274                   </action>
   1275                 </pluginExecution>
   1276               </pluginExecutions>
   1277             </lifecycleMappingMetadata>
   1278           </configuration>
   1279         </plugin>
   1280       </plugins>
   1281     </pluginManagement>
   1282   </build>
   1283 </project>
   1284