4c186c4c41
Motivation: Currenlty, netty-transport-native-epoll-*-linux-x86_64.jar is not packed as OSGi bundle and thus not working in OSGi environment. Modifications: In netty-transport-native-epoll's pom.xml added configuration to attach manifest to the jar with a native library. In netty-common's pom.xml added configuration instruction (DynamicImport-Package) to maven bnd plugin to make sure the native code is loaded from netty-transport-native-epoll bundle. Result: The netty-transport-native-epoll-*-linux-x86_64.jar is a bundle (MANIFEST.MF attached) and the inluced native library can be successfuly loaded in OSGi environment. Fixing #5119
166 lines
5.5 KiB
XML
166 lines
5.5 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:
|
|
~
|
|
~ http://www.apache.org/licenses/LICENSE-2.0
|
|
~
|
|
~ Unless required by applicable law or agreed to in writing, software
|
|
~ distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
|
~ WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
|
~ License for the specific language governing permissions and limitations
|
|
~ under the License.
|
|
-->
|
|
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
|
|
|
|
<modelVersion>4.0.0</modelVersion>
|
|
|
|
<parent>
|
|
<groupId>io.netty</groupId>
|
|
<artifactId>netty-parent</artifactId>
|
|
<version>4.1.1.Final-SNAPSHOT</version>
|
|
</parent>
|
|
|
|
<artifactId>netty-common</artifactId>
|
|
<packaging>jar</packaging>
|
|
|
|
<name>Netty/Common</name>
|
|
|
|
<properties>
|
|
<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>
|
|
<!-- Byte code generator - completely optional -->
|
|
<dependency>
|
|
<groupId>org.javassist</groupId>
|
|
<artifactId>javassist</artifactId>
|
|
<scope>compile</scope> <!-- override the 'test' scope defined at parent pom.xml -->
|
|
<optional>true</optional>
|
|
</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>
|
|
</dependencies>
|
|
|
|
<build>
|
|
<plugins>
|
|
<!-- Add generated collection sources. -->
|
|
<plugin>
|
|
<groupId>org.codehaus.mojo</groupId>
|
|
<artifactId>build-helper-maven-plugin</artifactId>
|
|
<version>1.9.1</version>
|
|
<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.3</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.4.0</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>
|
|
</instructions>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
</plugins>
|
|
</build>
|
|
</project>
|
|
|