9f9fc988963f81fb36740acd4f9d72131b8e89b8
[controller.git] / atomix-storage / pom.xml
1 <!--
2   ~ Copyright 2017-2021 Open Networking Foundation
3   ~ Copyright 2023 PANTHEON.tech, s.r.o.
4   ~
5   ~ Licensed under the Apache License, Version 2.0 (the "License");
6   ~ you may not use this file except in compliance with the License.
7   ~ You may obtain a copy of the License at
8   ~
9   ~     http://www.apache.org/licenses/LICENSE-2.0
10   ~
11   ~ Unless required by applicable law or agreed to in writing, software
12   ~ distributed under the License is distributed on an "AS IS" BASIS,
13   ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14   ~ See the License for the specific language governing permissions and
15   ~ limitations under the License.
16   -->
17 <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">
18   <modelVersion>4.0.0</modelVersion>
19
20   <parent>
21     <groupId>org.opendaylight.controller</groupId>
22     <artifactId>bundle-parent</artifactId>
23     <version>9.0.2</version>
24     <relativePath>../bundle-parent</relativePath>
25   </parent>
26
27   <artifactId>atomix-storage</artifactId>
28   <name>Atomix Storage</name>
29   <packaging>bundle</packaging>
30
31   <properties>
32     <odlparent.checkstyle.skip>true</odlparent.checkstyle.skip>
33     <odlparent.spotbugs.enforce>false</odlparent.spotbugs.enforce>
34   </properties>
35
36   <dependencies>
37     <dependency>
38       <groupId>com.google.guava</groupId>
39       <artifactId>guava</artifactId>
40     </dependency>
41     <dependency>
42       <groupId>org.eclipse.jdt</groupId>
43       <artifactId>org.eclipse.jdt.annotation</artifactId>
44     </dependency>
45     <dependency>
46       <groupId>com.esotericsoftware</groupId>
47       <artifactId>kryo</artifactId>
48       <version>4.0.3</version>
49       <scope>provided</scope>
50     </dependency>
51     <dependency>
52       <groupId>com.esotericsoftware</groupId>
53       <artifactId>minlog</artifactId>
54       <version>1.3.1</version>
55       <scope>provided</scope>
56     </dependency>
57     <dependency>
58       <groupId>com.esotericsoftware</groupId>
59       <artifactId>reflectasm</artifactId>
60       <version>1.11.9</version>
61       <scope>provided</scope>
62     </dependency>
63     <dependency>
64       <groupId>org.objenesis</groupId>
65       <artifactId>objenesis</artifactId>
66       <version>2.6</version>
67       <scope>provided</scope>
68     </dependency>
69
70     <dependency>
71       <groupId>com.google.guava</groupId>
72       <artifactId>guava-testlib</artifactId>
73     </dependency>
74   </dependencies>
75
76   <build>
77     <plugins>
78       <!-- This project has a different license -->
79       <plugin>
80         <artifactId>maven-dependency-plugin</artifactId>
81         <executions>
82           <execution>
83             <id>unpack-license</id>
84             <configuration>
85               <skip>true</skip>
86             </configuration>
87           </execution>
88         </executions>
89       </plugin>
90       <plugin>
91         <artifactId>maven-antrun-plugin</artifactId>
92         <executions>
93           <execution>
94             <id>copy-license</id>
95             <phase>prepare-package</phase>
96             <goals>
97               <goal>run</goal>
98             </goals>
99             <configuration>
100               <target>
101                 <copy file="LICENSE" tofile="${project.build.directory}/classes/LICENSE"/>
102               </target>
103             </configuration>
104           </execution>
105         </executions>
106       </plugin>
107       <plugin>
108         <artifactId>maven-checkstyle-plugin</artifactId>
109         <executions>
110           <execution>
111             <id>check-license</id>
112             <goals>
113               <goal>check</goal>
114             </goals>
115             <configuration>
116               <skip>true</skip>
117             </configuration>
118           </execution>
119         </executions>
120       </plugin>
121
122       <plugin>
123         <groupId>org.apache.felix</groupId>
124         <artifactId>maven-bundle-plugin</artifactId>
125         <extensions>true</extensions>
126         <configuration>
127           <instructions>
128             <Export-Package>
129               io.atomix.storage.journal
130             </Export-Package>
131             <Import-Package>
132               sun.nio.ch;resolution:=optional,
133               sun.misc;resolution:=optional,
134               !COM.newmonics.*,
135               !android.os,
136               *
137             </Import-Package>
138
139             <!-- Kryo is using ancient objenesis, so let's embed it to prevent duplicates -->
140             <Embed-Dependency>
141                 *;inline=true;groupId=com.esotericsoftware,
142                 *;inline=true;groupId=org.objenesis,
143             </Embed-Dependency>
144           </instructions>
145         </configuration>
146       </plugin>
147     </plugins>
148   </build>
149 </project>