217 lines
7.4 KiB
XML
217 lines
7.4 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<!--
|
|
~ Copyright 2012 The Netty Project
|
|
~
|
|
~ The Netty Project licenses this file to you under the Apache License,
|
|
~ version 2.0 (the "License"); you may not use this file except in compliance
|
|
~ with the License. You may obtain a copy of the License at:
|
|
~
|
|
~ https://www.apache.org/licenses/LICENSE-2.0
|
|
~
|
|
~ Unless required by applicable law or agreed to in writing, software
|
|
~ distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
|
~ WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
|
~ License for the specific language governing permissions and limitations
|
|
~ under the License.
|
|
-->
|
|
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/maven-v4_0_0.xsd">
|
|
|
|
<modelVersion>4.0.0</modelVersion>
|
|
|
|
<parent>
|
|
<groupId>io.net5</groupId>
|
|
<artifactId>netty-parent</artifactId>
|
|
<version>5.0.0.Final-SNAPSHOT</version>
|
|
</parent>
|
|
|
|
<artifactId>netty-common</artifactId>
|
|
<packaging>jar</packaging>
|
|
|
|
<name>Netty/Common</name>
|
|
|
|
<properties>
|
|
<javaModuleName>io.net5.common</javaModuleName>
|
|
<collection.template.dir>${project.basedir}/src/main/templates</collection.template.dir>
|
|
<collection.template.test.dir>${project.basedir}/src/test/templates</collection.template.test.dir>
|
|
<collection.src.dir>${project.build.directory}/generated-sources/collections/java</collection.src.dir>
|
|
<collection.testsrc.dir>${project.build.directory}/generated-test-sources/collections/java</collection.testsrc.dir>
|
|
</properties>
|
|
|
|
<dependencies>
|
|
<dependency>
|
|
<groupId>org.graalvm.nativeimage</groupId>
|
|
<artifactId>svm</artifactId>
|
|
<version>${graalvm.version}</version>
|
|
<!-- Provided scope as it is only needed for compiling the SVM substitution classes -->
|
|
<scope>provided</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.jctools</groupId>
|
|
<artifactId>jctools-core</artifactId>
|
|
<!-- Need compile scope to be taken into account by shade plugin -->
|
|
<scope>compile</scope>
|
|
</dependency>
|
|
|
|
<!-- Logging frameworks - completely optional -->
|
|
<dependency>
|
|
<groupId>org.slf4j</groupId>
|
|
<artifactId>slf4j-api</artifactId>
|
|
<optional>true</optional>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>commons-logging</groupId>
|
|
<artifactId>commons-logging</artifactId>
|
|
<optional>true</optional>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>log4j</groupId>
|
|
<artifactId>log4j</artifactId>
|
|
<optional>true</optional>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apache.logging.log4j</groupId>
|
|
<artifactId>log4j-api</artifactId>
|
|
<optional>true</optional>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apache.logging.log4j</groupId>
|
|
<artifactId>log4j-core</artifactId>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.projectreactor.tools</groupId>
|
|
<artifactId>blockhound</artifactId>
|
|
<optional>true</optional>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.mockito</groupId>
|
|
<artifactId>mockito-core</artifactId>
|
|
</dependency>
|
|
<!-- Add dependency on dev-tools as otherwise the build will fail if not installed first manually -->
|
|
<!-- See https://github.com/netty/netty/issues/7842 -->
|
|
<dependency>
|
|
<groupId>io.net5</groupId>
|
|
<artifactId>netty-dev-tools</artifactId>
|
|
<scope>test</scope>
|
|
<optional>true</optional>
|
|
</dependency>
|
|
</dependencies>
|
|
|
|
<build>
|
|
<plugins>
|
|
<plugin>
|
|
<artifactId>maven-shade-plugin</artifactId>
|
|
<executions>
|
|
<execution>
|
|
<phase>package</phase>
|
|
<goals>
|
|
<goal>shade</goal>
|
|
</goals>
|
|
<configuration>
|
|
<artifactSet>
|
|
<includes>
|
|
<include>org.jctools</include>
|
|
</includes>
|
|
</artifactSet>
|
|
<relocations>
|
|
<relocation>
|
|
<pattern>org.jctools.</pattern>
|
|
<shadedPattern>io.net5.util.internal.shaded.org.jctools.</shadedPattern>
|
|
</relocation>
|
|
</relocations>
|
|
<minimizeJar>true</minimizeJar>
|
|
<createSourcesJar>true</createSourcesJar>
|
|
<shadeSourcesContent>true</shadeSourcesContent>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
<!-- Add generated collection sources. -->
|
|
<plugin>
|
|
<groupId>org.codehaus.mojo</groupId>
|
|
<artifactId>build-helper-maven-plugin</artifactId>
|
|
<executions>
|
|
<execution>
|
|
<id>add-source</id>
|
|
<phase>generate-sources</phase>
|
|
<goals>
|
|
<goal>add-source</goal>
|
|
</goals>
|
|
<configuration>
|
|
<sources>
|
|
<source>${collection.src.dir}</source>
|
|
</sources>
|
|
</configuration>
|
|
</execution>
|
|
<execution>
|
|
<id>add-test-source</id>
|
|
<phase>generate-test-sources</phase>
|
|
<goals>
|
|
<goal>add-test-source</goal>
|
|
</goals>
|
|
<configuration>
|
|
<sources>
|
|
<source>${collection.testsrc.dir}</source>
|
|
</sources>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
|
|
<!-- Generate the primitive collections from the template files. -->
|
|
<plugin>
|
|
<groupId>org.codehaus.gmaven</groupId>
|
|
<artifactId>groovy-maven-plugin</artifactId>
|
|
<version>2.0</version>
|
|
<dependencies>
|
|
<dependency>
|
|
<groupId>org.codehaus.groovy</groupId>
|
|
<artifactId>groovy-all</artifactId>
|
|
<version>2.4.8</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>ant</groupId>
|
|
<artifactId>ant-optional</artifactId>
|
|
<version>1.5.3-1</version>
|
|
</dependency>
|
|
</dependencies>
|
|
<executions>
|
|
<execution>
|
|
<id>generate-collections</id>
|
|
<phase>generate-sources</phase>
|
|
<goals>
|
|
<goal>execute</goal>
|
|
</goals>
|
|
<configuration>
|
|
<source>${project.basedir}/src/main/script/codegen.groovy</source>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.apache.felix</groupId>
|
|
<artifactId>maven-bundle-plugin</artifactId>
|
|
<version>2.5.4</version>
|
|
<executions>
|
|
<execution>
|
|
<id>generate-manifest</id>
|
|
<phase>process-classes</phase>
|
|
<goals>
|
|
<goal>manifest</goal>
|
|
</goals>
|
|
<configuration>
|
|
<instructions>
|
|
<!-- NativeLibraryLoader can be used to manually load native libraries from other bundles that this bundle does not depend on,
|
|
hence use DynamicImport-Package instruction to ensure the loading is successful -->
|
|
<DynamicImport-Package>*</DynamicImport-Package>
|
|
<!-- JCTools is shaded -->
|
|
<Import-Package>!org.jctools.*;sun.misc;resolution:=optional;*</Import-Package>
|
|
</instructions>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
</plugins>
|
|
</build>
|
|
</project>
|