Move Kryo shading to atomix-storage
[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.modernizer.skip>true</odlparent.modernizer.skip>
34     <odlparent.spotbugs.skip>true</odlparent.spotbugs.skip>
35   </properties>
36
37   <dependencies>
38     <dependency>
39       <groupId>com.google.guava</groupId>
40       <artifactId>guava</artifactId>
41     </dependency>
42     <dependency>
43       <groupId>org.apache.commons</groupId>
44       <artifactId>commons-lang3</artifactId>
45     </dependency>
46     <dependency>
47       <groupId>com.esotericsoftware</groupId>
48       <artifactId>kryo</artifactId>
49       <version>4.0.2</version>
50       <scope>provided</scope>
51     </dependency>
52     <dependency>
53       <groupId>com.esotericsoftware</groupId>
54       <artifactId>minlog</artifactId>
55       <version>1.3.1</version>
56       <scope>provided</scope>
57     </dependency>
58     <dependency>
59       <groupId>com.esotericsoftware</groupId>
60       <artifactId>reflectasm</artifactId>
61       <version>1.11.8</version>
62       <scope>provided</scope>
63     </dependency>
64     <dependency>
65       <groupId>org.ow2.asm</groupId>
66       <artifactId>asm</artifactId>
67       <version>5.2</version>
68       <scope>provided</scope>
69     </dependency>
70     <dependency>
71       <groupId>org.objenesis</groupId>
72       <artifactId>objenesis</artifactId>
73       <version>2.6</version>
74       <scope>provided</scope>
75     </dependency>
76
77     <dependency>
78       <groupId>com.google.guava</groupId>
79       <artifactId>guava-testlib</artifactId>
80     </dependency>
81   </dependencies>
82
83   <build>
84     <plugins>
85       <plugin>
86         <groupId>org.apache.felix</groupId>
87         <artifactId>maven-bundle-plugin</artifactId>
88         <extensions>true</extensions>
89         <configuration>
90           <instructions>
91             <Export-Package>
92               io.atomix.storage.*,
93               io.atomix.utils.*,
94               com.esotericsoftware.kryo.*;version=4.0.2
95             </Export-Package>
96             <Import-Package>
97               sun.nio.ch;resolution:=optional,
98               sun.misc;resolution:=optional,
99               !COM.newmonics.*,
100               !android.os,
101               *
102             </Import-Package>
103
104             <!-- Kryo is using ancient objenesis, so let's embed it to prevent duplicates -->
105             <Embed-Dependency>
106                 *;inline=true;groupId=com.esotericsoftware,
107                 *;inline=true;groupId=org.objenesis,
108                 *;inline=true;groupId=org.ow2.asm,
109             </Embed-Dependency>
110           </instructions>
111         </configuration>
112       </plugin>
113       <plugin>
114         <artifactId>maven-checkstyle-plugin</artifactId>
115         <executions>
116           <execution>
117             <id>check-license</id>
118             <goals>
119               <goal>check</goal>
120             </goals>
121             <configuration>
122               <!-- This project has a different license -->
123               <skip>true</skip>
124             </configuration>
125           </execution>
126         </executions>
127       </plugin>
128     </plugins>
129   </build>
130 </project>