Add Akka packaging
[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.odlparent</groupId>
15         <artifactId>bundle-parent</artifactId>
16         <version>7.0.6</version>
17         <relativePath/>
18     </parent>
19
20     <groupId>org.opendaylight.controller</groupId>
21     <artifactId>repackaged-akka</artifactId>
22     <packaging>bundle</packaging>
23     <version>3.0.0-SNAPSHOT</version>
24     <name>${project.artifactId}</name>
25
26     <properties>
27         <!-- We are just juggling classes here -->
28         <odlparent.modernizer.skip>true</odlparent.modernizer.skip>
29         <odlparent.spotbugs.skip>true</odlparent.spotbugs.skip>
30
31         <!-- We do not want to generate javadoc -->
32         <maven.javadoc.skip>true</maven.javadoc.skip>
33     </properties>
34
35     <dependencies>
36         <dependency>
37             <groupId>org.opendaylight.controller</groupId>
38             <artifactId>repackaged-akka-jar</artifactId>
39             <version>${project.version}</version>
40             <scope>provided</scope>
41         </dependency>
42
43         <dependency>
44             <groupId>com.typesafe</groupId>
45             <artifactId>config</artifactId>
46         </dependency>
47         <dependency>
48             <groupId>com.typesafe</groupId>
49             <artifactId>ssl-config-core_2.13</artifactId>
50         </dependency>
51         <dependency>
52             <groupId>io.aeron</groupId>
53             <artifactId>aeron-client</artifactId>
54         </dependency>
55         <dependency>
56             <groupId>io.aeron</groupId>
57             <artifactId>aeron-driver</artifactId>
58         </dependency>
59         <dependency>
60             <groupId>io.netty</groupId>
61             <artifactId>netty</artifactId>
62             <version>3.10.6.Final</version>
63         </dependency>
64         <dependency>
65             <groupId>org.agrona</groupId>
66             <artifactId>agrona</artifactId>
67         </dependency>
68         <dependency>
69             <groupId>org.reactivestreams</groupId>
70             <artifactId>reactive-streams</artifactId>
71         </dependency>
72         <dependency>
73             <groupId>org.scala-lang</groupId>
74             <artifactId>scala-library</artifactId>
75         </dependency>
76         <dependency>
77             <groupId>org.scala-lang</groupId>
78             <artifactId>scala-reflect</artifactId>
79         </dependency>
80         <dependency>
81             <groupId>org.scala-lang.modules</groupId>
82             <artifactId>scala-java8-compat_2.13</artifactId>
83         </dependency>
84         <dependency>
85             <groupId>org.scala-lang.modules</groupId>
86             <artifactId>scala-parser-combinators_2.13</artifactId>
87         </dependency>
88     </dependencies>
89
90     <build>
91         <plugins>
92             <plugin>
93                 <artifactId>maven-dependency-plugin</artifactId>
94                 <executions>
95                     <execution>
96                         <id>unpack-license</id>
97                         <configuration>
98                             <!-- Akka is Apache-2.0 licensed -->
99                             <skip>true</skip>
100                         </configuration>
101                     </execution>
102                     <execution>
103                         <id>unpack</id>
104                         <phase>compile</phase>
105                         <goals>
106                             <goal>unpack</goal>
107                         </goals>
108                         <configuration>
109                             <artifactItems>
110                                 <artifactItem>
111                                     <groupId>org.opendaylight.controller</groupId>
112                                     <artifactId>repackaged-akka-jar</artifactId>
113                                     <version>${project.version}</version>
114                                 </artifactItem>
115                             </artifactItems>
116                             <overWriteReleases>false</overWriteReleases>
117                             <overWriteSnapshots>true</overWriteSnapshots>
118                             <outputDirectory>${project.build.directory}/classes</outputDirectory>
119                         </configuration>
120                     </execution>
121                     <execution>
122                         <id>unpack-sources</id>
123                         <phase>prepare-package</phase>
124                         <goals>
125                             <goal>unpack-dependencies</goal>
126                         </goals>
127                         <configuration>
128                             <classifier>sources</classifier>
129                             <includeArtifactIds>repackaged-akka-jar</includeArtifactIds>
130                             <outputDirectory>${project.build.directory}/shaded-sources</outputDirectory>
131                         </configuration>
132                     </execution>
133                 </executions>
134             </plugin>
135             <plugin>
136                 <artifactId>maven-antrun-plugin</artifactId>
137                 <executions>
138                     <execution>
139                         <id>move-resources</id>
140                         <phase>prepare-package</phase>
141                         <goals>
142                             <goal>run</goal>
143                         </goals>
144                         <configuration>
145                             <target>
146                                 <move todir="${project.build.directory}/resources">
147                                     <fileset dir="${project.build.directory}/classes">
148                                         <include name="*.conf"/>
149                                     </fileset>
150                                 </move>
151                             </target>
152                         </configuration>
153                     </execution>
154                 </executions>
155             </plugin>
156             <plugin>
157                 <groupId>org.codehaus.mojo</groupId>
158                 <artifactId>build-helper-maven-plugin</artifactId>
159                 <executions>
160                     <execution>
161                         <id>shaded-sources</id>
162                         <phase>prepare-package</phase>
163                         <goals>
164                            <goal>add-source</goal>
165                         </goals>
166                         <configuration>
167                             <sources>${project.build.directory}/shaded-sources</sources>
168                         </configuration>
169                     </execution>
170                     <execution>
171                         <id>shaded-resources</id>
172                         <phase>prepare-package</phase>
173                         <goals>
174                            <goal>add-resource</goal>
175                         </goals>
176                         <configuration>
177                             <resources>
178                                 <resource>
179                                     <directory>${project.build.directory}/resources</directory>
180                                 </resource>
181                             </resources>
182                         </configuration>
183                     </execution>
184                 </executions>
185             </plugin>
186             <plugin>
187                 <groupId>org.apache.felix</groupId>
188                 <artifactId>maven-bundle-plugin</artifactId>
189                 <extensions>true</extensions>
190                 <configuration>
191                     <instructions>
192                         <Export-Package>
193                             akka.*,
194                             com.typesafe.sslconfig.akka.*,
195                         </Export-Package>
196                         <Import-Package>
197                             sun.misc;resolution:=optional,
198                             sun.reflect;resolution:=optional,
199                             org.fusesource.leveldbjni;resolution:=optional,
200                             org.iq80.leveldb;resolution:=optional,
201                             org.iq80.leveldb.impl;resolution:=optional,
202                             *
203                         </Import-Package>
204                     </instructions>
205                 </configuration>
206             </plugin>
207         </plugins>
208     </build>
209 </project>