Upgrade reflectasm to 1.11.9
[controller.git] / third-party / atomix / storage / pom.xml
index c077f156f49b2538bc1827a412368291da0d29c6..07c2dd14dd9bf22b13f87da4738a9b9b15a15194 100644 (file)
 
   <artifactId>atomix-storage</artifactId>
   <name>Atomix Storage</name>
+  <packaging>bundle</packaging>
 
   <properties>
     <odlparent.checkstyle.skip>true</odlparent.checkstyle.skip>
-    <odlparent.modernizer.skip>true</odlparent.modernizer.skip>
-    <odlparent.spotbugs.skip>true</odlparent.spotbugs.skip>
+    <odlparent.spotbugs.enforce>false</odlparent.spotbugs.enforce>
   </properties>
 
   <dependencies>
       <groupId>com.google.guava</groupId>
       <artifactId>guava</artifactId>
     </dependency>
-    <dependency>
-      <groupId>org.apache.commons</groupId>
-      <artifactId>commons-lang3</artifactId>
-    </dependency>
     <dependency>
       <groupId>com.esotericsoftware</groupId>
       <artifactId>kryo</artifactId>
       <version>4.0.2</version>
+      <scope>provided</scope>
+    </dependency>
+    <dependency>
+      <groupId>com.esotericsoftware</groupId>
+      <artifactId>minlog</artifactId>
+      <version>1.3.1</version>
+      <scope>provided</scope>
+    </dependency>
+    <dependency>
+      <groupId>com.esotericsoftware</groupId>
+      <artifactId>reflectasm</artifactId>
+      <version>1.11.9</version>
+      <scope>provided</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.objenesis</groupId>
+      <artifactId>objenesis</artifactId>
+      <version>2.6</version>
+      <scope>provided</scope>
     </dependency>
 
     <dependency>
 
   <build>
     <plugins>
+      <!-- This project has a different license -->
       <plugin>
-        <groupId>org.apache.felix</groupId>
-        <artifactId>maven-bundle-plugin</artifactId>
-        <extensions>true</extensions>
-        <configuration>
-          <instructions>
-            <Export-Package>
-              io.atomix.storage.*,
-              io.atomix.utils.*
-            </Export-Package>
-            <Import-Package>
-              sun.nio.ch;resolution:=optional,sun.misc;resolution:=optional,*
-            </Import-Package>
-          </instructions>
-        </configuration>
+        <artifactId>maven-dependency-plugin</artifactId>
+        <executions>
+          <execution>
+            <id>unpack-license</id>
+            <configuration>
+              <skip>true</skip>
+            </configuration>
+          </execution>
+        </executions>
+      </plugin>
+      <plugin>
+        <artifactId>maven-antrun-plugin</artifactId>
+        <executions>
+          <execution>
+            <id>copy-license</id>
+            <phase>prepare-package</phase>
+            <goals>
+              <goal>run</goal>
+            </goals>
+            <configuration>
+              <target>
+                <copy file="LICENSE" tofile="${project.build.directory}/classes/LICENSE"/>
+              </target>
+            </configuration>
+          </execution>
+        </executions>
       </plugin>
       <plugin>
         <artifactId>maven-checkstyle-plugin</artifactId>
               <goal>check</goal>
             </goals>
             <configuration>
-              <!-- This project has a different license -->
               <skip>true</skip>
             </configuration>
           </execution>
         </executions>
       </plugin>
+
+      <plugin>
+        <groupId>org.apache.felix</groupId>
+        <artifactId>maven-bundle-plugin</artifactId>
+        <extensions>true</extensions>
+        <configuration>
+          <instructions>
+            <Export-Package>
+              io.atomix.storage.journal,
+              com.esotericsoftware.kryo.*;version=4.0.2
+            </Export-Package>
+            <Import-Package>
+              sun.nio.ch;resolution:=optional,
+              sun.misc;resolution:=optional,
+              !COM.newmonics.*,
+              !android.os,
+              *
+            </Import-Package>
+
+            <!-- Kryo is using ancient objenesis, so let's embed it to prevent duplicates -->
+            <Embed-Dependency>
+                *;inline=true;groupId=com.esotericsoftware,
+                *;inline=true;groupId=org.objenesis,
+            </Embed-Dependency>
+          </instructions>
+        </configuration>
+      </plugin>
     </plugins>
   </build>
 </project>