9527b2f48c2f851a9a5986c8f3c41fae93e09865
[controller.git] / akka / repackaged-akka / pom.xml
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!-- vi: set et smarttab sw=4 tabstop=4: -->
3 <!--
4  Copyright (c) 2020 PANTHEON.tech, s.r.o. and others.  All rights reserved.
5
6  This program and the accompanying materials are made available under the
7  terms of the Eclipse Public License v1.0 which accompanies this distribution,
8  and is available at http://www.eclipse.org/legal/epl-v10.html
9 -->
10 <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/xsd/maven-4.0.0.xsd">
11     <modelVersion>4.0.0</modelVersion>
12
13     <parent>
14         <groupId>org.opendaylight.controller</groupId>
15         <artifactId>bundle-parent</artifactId>
16         <version>9.0.4-SNAPSHOT</version>
17         <relativePath>../../bundle-parent</relativePath>
18     </parent>
19
20     <artifactId>repackaged-akka</artifactId>
21     <packaging>bundle</packaging>
22     <name>${project.artifactId}</name>
23
24     <properties>
25         <!-- We are just juggling classes here -->
26         <odlparent.modernizer.skip>true</odlparent.modernizer.skip>
27         <odlparent.spotbugs.skip>true</odlparent.spotbugs.skip>
28
29         <!-- We do not want to generate javadoc -->
30         <maven.javadoc.skip>true</maven.javadoc.skip>
31     </properties>
32
33     <dependencies>
34         <dependency>
35             <groupId>org.opendaylight.controller</groupId>
36             <artifactId>repackaged-akka-jar</artifactId>
37             <version>${project.version}</version>
38             <scope>provided</scope>
39         </dependency>
40
41         <dependency>
42             <groupId>com.typesafe</groupId>
43             <artifactId>config</artifactId>
44         </dependency>
45         <dependency>
46             <groupId>com.typesafe</groupId>
47             <artifactId>ssl-config-core_2.13</artifactId>
48         </dependency>
49         <dependency>
50             <groupId>io.aeron</groupId>
51             <artifactId>aeron-client</artifactId>
52         </dependency>
53         <dependency>
54             <groupId>io.aeron</groupId>
55             <artifactId>aeron-driver</artifactId>
56         </dependency>
57         <dependency>
58             <groupId>org.agrona</groupId>
59             <artifactId>agrona</artifactId>
60         </dependency>
61         <dependency>
62             <groupId>org.reactivestreams</groupId>
63             <artifactId>reactive-streams</artifactId>
64         </dependency>
65         <dependency>
66             <groupId>org.lmdbjava</groupId>
67             <artifactId>lmdbjava</artifactId>
68             <version>0.7.0</version>
69             <exclusions>
70                 <exclusion>
71                     <groupId>com.github.jnr</groupId>
72                     <artifactId>jffi</artifactId>
73                 </exclusion>
74                 <exclusion>
75                     <groupId>com.github.jnr</groupId>
76                     <artifactId>jnr-ffi</artifactId>
77                 </exclusion>
78                 <exclusion>
79                     <groupId>com.github.jnr</groupId>
80                     <artifactId>jnr-constants</artifactId>
81                 </exclusion>
82             </exclusions>
83         </dependency>
84         <dependency>
85             <groupId>org.scala-lang</groupId>
86             <artifactId>scala-library</artifactId>
87         </dependency>
88         <dependency>
89             <groupId>org.scala-lang</groupId>
90             <artifactId>scala-reflect</artifactId>
91         </dependency>
92         <dependency>
93             <groupId>org.scala-lang.modules</groupId>
94             <artifactId>scala-java8-compat_2.13</artifactId>
95         </dependency>
96         <dependency>
97             <groupId>org.scala-lang.modules</groupId>
98             <artifactId>scala-parser-combinators_2.13</artifactId>
99         </dependency>
100     </dependencies>
101
102     <build>
103         <plugins>
104             <plugin>
105                 <artifactId>maven-dependency-plugin</artifactId>
106                 <executions>
107                     <execution>
108                         <id>unpack-license</id>
109                         <configuration>
110                             <!-- Akka is Apache-2.0 licensed -->
111                             <skip>true</skip>
112                         </configuration>
113                     </execution>
114                     <execution>
115                         <id>unpack</id>
116                         <phase>compile</phase>
117                         <goals>
118                             <goal>unpack</goal>
119                         </goals>
120                         <configuration>
121                             <artifactItems>
122                                 <artifactItem>
123                                     <groupId>org.opendaylight.controller</groupId>
124                                     <artifactId>repackaged-akka-jar</artifactId>
125                                     <version>${project.version}</version>
126                                 </artifactItem>
127                                 <artifactItem>
128                                     <groupId>com.hierynomus</groupId>
129                                     <artifactId>asn-one</artifactId>
130                                     <version>0.4.0</version>
131                                 </artifactItem>
132                             </artifactItems>
133                             <overWriteReleases>false</overWriteReleases>
134                             <overWriteSnapshots>true</overWriteSnapshots>
135                             <outputDirectory>${project.build.directory}/classes</outputDirectory>
136                         </configuration>
137                     </execution>
138                     <execution>
139                         <id>unpack-sources</id>
140                         <phase>prepare-package</phase>
141                         <goals>
142                             <goal>unpack-dependencies</goal>
143                         </goals>
144                         <configuration>
145                             <classifier>sources</classifier>
146                             <includeArtifactIds>repackaged-akka-jar</includeArtifactIds>
147                             <outputDirectory>${project.build.directory}/shaded-sources</outputDirectory>
148                         </configuration>
149                     </execution>
150                 </executions>
151             </plugin>
152             <plugin>
153                 <artifactId>maven-antrun-plugin</artifactId>
154                 <executions>
155                     <execution>
156                         <id>move-resources</id>
157                         <phase>prepare-package</phase>
158                         <goals>
159                             <goal>run</goal>
160                         </goals>
161                         <configuration>
162                             <target>
163                                 <move todir="${project.build.directory}/resources">
164                                     <fileset dir="${project.build.directory}/classes">
165                                         <include name="*.conf"/>
166                                     </fileset>
167                                 </move>
168                             </target>
169                         </configuration>
170                     </execution>
171                 </executions>
172             </plugin>
173             <plugin>
174                 <groupId>org.codehaus.mojo</groupId>
175                 <artifactId>build-helper-maven-plugin</artifactId>
176                 <executions>
177                     <execution>
178                         <id>shaded-sources</id>
179                         <phase>prepare-package</phase>
180                         <goals>
181                            <goal>add-source</goal>
182                         </goals>
183                         <configuration>
184                             <sources>${project.build.directory}/shaded-sources</sources>
185                         </configuration>
186                     </execution>
187                     <execution>
188                         <id>shaded-resources</id>
189                         <phase>prepare-package</phase>
190                         <goals>
191                            <goal>add-resource</goal>
192                         </goals>
193                         <configuration>
194                             <resources>
195                                 <resource>
196                                     <directory>${project.build.directory}/resources</directory>
197                                 </resource>
198                             </resources>
199                         </configuration>
200                     </execution>
201                 </executions>
202             </plugin>
203             <plugin>
204                 <groupId>org.apache.felix</groupId>
205                 <artifactId>maven-bundle-plugin</artifactId>
206                 <extensions>true</extensions>
207                 <configuration>
208                     <instructions>
209                         <Automatic-Module-Name>org.opendaylight.controller.repackaged.akka</Automatic-Module-Name>
210                         <Export-Package>
211                             akka.*,
212                             com.typesafe.sslconfig.akka.*,
213                             jdk.jfr,
214                         </Export-Package>
215                         <Import-Package>
216                             sun.misc;resolution:=optional,
217                             sun.reflect;resolution:=optional,
218                             org.fusesource.leveldbjni;resolution:=optional,
219                             org.iq80.leveldb;resolution:=optional,
220                             org.iq80.leveldb.impl;resolution:=optional,
221                             org.jboss.netty.*;resolution:=optional,
222                             *
223                         </Import-Package>
224                     </instructions>
225                 </configuration>
226             </plugin>
227         </plugins>
228     </build>
229 </project>