ae513a65d82c5f97083c23bdb991d449a990bd8b
[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>7.0.6-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>io.netty</groupId>
59             <artifactId>netty</artifactId>
60             <version>3.10.6.Final</version>
61         </dependency>
62         <dependency>
63             <groupId>org.agrona</groupId>
64             <artifactId>agrona</artifactId>
65         </dependency>
66         <dependency>
67             <groupId>org.reactivestreams</groupId>
68             <artifactId>reactive-streams</artifactId>
69         </dependency>
70         <dependency>
71             <groupId>org.lmdbjava</groupId>
72             <artifactId>lmdbjava</artifactId>
73             <version>0.7.0</version>
74             <exclusions>
75                 <exclusion>
76                     <groupId>com.github.jnr</groupId>
77                     <artifactId>jffi</artifactId>
78                 </exclusion>
79                 <exclusion>
80                     <groupId>com.github.jnr</groupId>
81                     <artifactId>jnr-ffi</artifactId>
82                 </exclusion>
83                 <exclusion>
84                     <groupId>com.github.jnr</groupId>
85                     <artifactId>jnr-constants</artifactId>
86                 </exclusion>
87             </exclusions>
88         </dependency>
89         <dependency>
90             <groupId>org.scala-lang</groupId>
91             <artifactId>scala-library</artifactId>
92         </dependency>
93         <dependency>
94             <groupId>org.scala-lang</groupId>
95             <artifactId>scala-reflect</artifactId>
96         </dependency>
97         <dependency>
98             <groupId>org.scala-lang.modules</groupId>
99             <artifactId>scala-java8-compat_2.13</artifactId>
100         </dependency>
101         <dependency>
102             <groupId>org.scala-lang.modules</groupId>
103             <artifactId>scala-parser-combinators_2.13</artifactId>
104         </dependency>
105     </dependencies>
106
107     <build>
108         <plugins>
109             <plugin>
110                 <artifactId>maven-dependency-plugin</artifactId>
111                 <executions>
112                     <execution>
113                         <id>unpack-license</id>
114                         <configuration>
115                             <!-- Akka is Apache-2.0 licensed -->
116                             <skip>true</skip>
117                         </configuration>
118                     </execution>
119                     <execution>
120                         <id>unpack</id>
121                         <phase>compile</phase>
122                         <goals>
123                             <goal>unpack</goal>
124                         </goals>
125                         <configuration>
126                             <artifactItems>
127                                 <artifactItem>
128                                     <groupId>org.opendaylight.controller</groupId>
129                                     <artifactId>repackaged-akka-jar</artifactId>
130                                     <version>${project.version}</version>
131                                 </artifactItem>
132                                 <artifactItem>
133                                     <groupId>com.hierynomus</groupId>
134                                     <artifactId>asn-one</artifactId>
135                                     <version>0.4.0</version>
136                                 </artifactItem>
137                             </artifactItems>
138                             <overWriteReleases>false</overWriteReleases>
139                             <overWriteSnapshots>true</overWriteSnapshots>
140                             <outputDirectory>${project.build.directory}/classes</outputDirectory>
141                         </configuration>
142                     </execution>
143                     <execution>
144                         <id>unpack-sources</id>
145                         <phase>prepare-package</phase>
146                         <goals>
147                             <goal>unpack-dependencies</goal>
148                         </goals>
149                         <configuration>
150                             <classifier>sources</classifier>
151                             <includeArtifactIds>repackaged-akka-jar</includeArtifactIds>
152                             <outputDirectory>${project.build.directory}/shaded-sources</outputDirectory>
153                         </configuration>
154                     </execution>
155                 </executions>
156             </plugin>
157             <plugin>
158                 <artifactId>maven-antrun-plugin</artifactId>
159                 <executions>
160                     <execution>
161                         <id>move-resources</id>
162                         <phase>prepare-package</phase>
163                         <goals>
164                             <goal>run</goal>
165                         </goals>
166                         <configuration>
167                             <target>
168                                 <move todir="${project.build.directory}/resources">
169                                     <fileset dir="${project.build.directory}/classes">
170                                         <include name="*.conf"/>
171                                     </fileset>
172                                 </move>
173                             </target>
174                         </configuration>
175                     </execution>
176                 </executions>
177             </plugin>
178             <plugin>
179                 <groupId>org.codehaus.mojo</groupId>
180                 <artifactId>build-helper-maven-plugin</artifactId>
181                 <executions>
182                     <execution>
183                         <id>shaded-sources</id>
184                         <phase>prepare-package</phase>
185                         <goals>
186                            <goal>add-source</goal>
187                         </goals>
188                         <configuration>
189                             <sources>${project.build.directory}/shaded-sources</sources>
190                         </configuration>
191                     </execution>
192                     <execution>
193                         <id>shaded-resources</id>
194                         <phase>prepare-package</phase>
195                         <goals>
196                            <goal>add-resource</goal>
197                         </goals>
198                         <configuration>
199                             <resources>
200                                 <resource>
201                                     <directory>${project.build.directory}/resources</directory>
202                                 </resource>
203                             </resources>
204                         </configuration>
205                     </execution>
206                 </executions>
207             </plugin>
208             <plugin>
209                 <groupId>org.apache.felix</groupId>
210                 <artifactId>maven-bundle-plugin</artifactId>
211                 <extensions>true</extensions>
212                 <configuration>
213                     <instructions>
214                         <Automatic-Module-Name>org.opendaylight.controller.repackaged.akka</Automatic-Module-Name>
215                         <Export-Package>
216                             akka.*,
217                             com.typesafe.sslconfig.akka.*,
218                             jdk.jfr,
219                         </Export-Package>
220                         <Import-Package>
221                             sun.misc;resolution:=optional,
222                             sun.reflect;resolution:=optional,
223                             org.fusesource.leveldbjni;resolution:=optional,
224                             org.iq80.leveldb;resolution:=optional,
225                             org.iq80.leveldb.impl;resolution:=optional,
226                             *
227                         </Import-Package>
228                     </instructions>
229                 </configuration>
230             </plugin>
231         </plugins>
232     </build>
233 </project>