Introduce atomix.storage.journal.JournalSerdes
[controller.git] / third-party / 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>7.0.5-SNAPSHOT</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>com.esotericsoftware</groupId>
43       <artifactId>kryo</artifactId>
44       <version>4.0.2</version>
45       <scope>provided</scope>
46     </dependency>
47     <dependency>
48       <groupId>com.esotericsoftware</groupId>
49       <artifactId>minlog</artifactId>
50       <version>1.3.1</version>
51       <scope>provided</scope>
52     </dependency>
53     <dependency>
54       <groupId>com.esotericsoftware</groupId>
55       <artifactId>reflectasm</artifactId>
56       <version>1.11.8</version>
57       <scope>provided</scope>
58     </dependency>
59     <dependency>
60       <groupId>org.ow2.asm</groupId>
61       <artifactId>asm</artifactId>
62       <version>5.2</version>
63       <scope>provided</scope>
64     </dependency>
65     <dependency>
66       <groupId>org.objenesis</groupId>
67       <artifactId>objenesis</artifactId>
68       <version>2.6</version>
69       <scope>provided</scope>
70     </dependency>
71
72     <dependency>
73       <groupId>com.google.guava</groupId>
74       <artifactId>guava-testlib</artifactId>
75     </dependency>
76   </dependencies>
77
78   <build>
79     <plugins>
80       <!-- This project has a different license -->
81       <plugin>
82         <artifactId>maven-dependency-plugin</artifactId>
83         <executions>
84           <execution>
85             <id>unpack-license</id>
86             <configuration>
87               <skip>true</skip>
88             </configuration>
89           </execution>
90         </executions>
91       </plugin>
92       <plugin>
93         <artifactId>maven-antrun-plugin</artifactId>
94         <executions>
95           <execution>
96             <id>copy-license</id>
97             <phase>prepare-package</phase>
98             <goals>
99               <goal>run</goal>
100             </goals>
101             <configuration>
102               <target>
103                 <copy file="LICENSE" tofile="${project.build.directory}/classes/LICENSE"/>
104               </target>
105             </configuration>
106           </execution>
107         </executions>
108       </plugin>
109       <plugin>
110         <artifactId>maven-checkstyle-plugin</artifactId>
111         <executions>
112           <execution>
113             <id>check-license</id>
114             <goals>
115               <goal>check</goal>
116             </goals>
117             <configuration>
118               <skip>true</skip>
119             </configuration>
120           </execution>
121         </executions>
122       </plugin>
123
124       <plugin>
125         <groupId>org.apache.felix</groupId>
126         <artifactId>maven-bundle-plugin</artifactId>
127         <extensions>true</extensions>
128         <configuration>
129           <instructions>
130             <Export-Package>
131               io.atomix.storage.journal,
132               com.esotericsoftware.kryo.*;version=4.0.2
133             </Export-Package>
134             <Import-Package>
135               sun.nio.ch;resolution:=optional,
136               sun.misc;resolution:=optional,
137               !COM.newmonics.*,
138               !android.os,
139               *
140             </Import-Package>
141
142             <!-- Kryo is using ancient objenesis, so let's embed it to prevent duplicates -->
143             <Embed-Dependency>
144                 *;inline=true;groupId=com.esotericsoftware,
145                 *;inline=true;groupId=org.objenesis,
146                 *;inline=true;groupId=org.ow2.asm,
147             </Embed-Dependency>
148           </instructions>
149         </configuration>
150       </plugin>
151     </plugins>
152   </build>
153 </project>