1 <?xml version="1.0" encoding="UTF-8"?>
3 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
4 xmlns="http://maven.apache.org/POM/4.0.0"
5 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
6 <modelVersion>4.0.0</modelVersion>
7 <name>RocksDB JNI</name>
8 <url>http://rocksdb.org/</url>
9 <groupId>org.rocksdb</groupId>
10 <artifactId>rocksdbjni</artifactId>
11 <!-- Version will be automatically replaced -->
13 <description>RocksDB fat jar that contains .so files for linux32 and linux64, jnilib files
14 for Mac OSX, and a .dll for Windows x64.
18 <name>Apache License 2.0</name>
19 <url>http://www.apache.org/licenses/LICENSE-2.0.html</url>
20 <distribution>repo</distribution>
24 <connection>scm:git:git://github.com/dropwizard/metrics.git</connection>
25 <developerConnection>scm:git:git@github.com:dropwizard/metrics.git</developerConnection>
26 <url>http://github.com/dropwizard/metrics/</url>
32 <email>help@facebook.com</email>
33 <timezone>America/New_York</timezone>
35 <role>architect</role>
41 <project.build.source>1.7</project.build.source>
42 <project.build.target>1.7</project.build.target>
43 <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
49 <groupId>org.apache.maven.plugins</groupId>
50 <artifactId>maven-compiler-plugin</artifactId>
51 <version>3.2</version>
53 <source>${project.build.source}</source>
54 <target>${project.build.target}</target>
55 <encoding>${project.build.sourceEncoding}</encoding>
59 <groupId>org.apache.maven.plugins</groupId>
60 <artifactId>maven-surefire-plugin</artifactId>
61 <version>2.18.1</version>
63 <argLine>${argLine} -ea -Xcheck:jni -Djava.library.path=${project.build.directory}</argLine>
64 <useManifestOnlyJar>false</useManifestOnlyJar>
65 <useSystemClassLoader>false</useSystemClassLoader>
66 <additionalClasspathElements>
67 <additionalClasspathElement>${project.build.directory}/*</additionalClasspathElement>
68 </additionalClasspathElements>
72 <groupId>org.jacoco</groupId>
73 <artifactId>jacoco-maven-plugin</artifactId>
74 <version>0.7.2.201409121644</version>
78 <goal>prepare-agent</goal>
83 <phase>prepare-package</phase>
91 <groupId>org.codehaus.gmaven</groupId>
92 <artifactId>groovy-maven-plugin</artifactId>
93 <version>2.0</version>
96 <phase>process-classes</phase>
105 String fileContents = new File(project.basedir.absolutePath + '/../include/rocksdb/version.h').getText('UTF-8')
106 matcher = (fileContents =~ /(?s).*ROCKSDB_MAJOR ([0-9]+).*?/)
107 String major_version = matcher.getAt(0).getAt(1)
108 matcher = (fileContents =~ /(?s).*ROCKSDB_MINOR ([0-9]+).*?/)
109 String minor_version = matcher.getAt(0).getAt(1)
110 matcher = (fileContents =~ /(?s).*ROCKSDB_PATCH ([0-9]+).*?/)
111 String patch_version = matcher.getAt(0).getAt(1)
112 String version = String.format('%s.%s.%s', major_version, minor_version, patch_version)
113 // Set version to be used in pom.properties
114 project.version = version
115 // Set version to be set as jar name
116 project.build.finalName = project.artifactId + "-" + version
127 <groupId>junit</groupId>
128 <artifactId>junit</artifactId>
129 <version>4.12</version>
133 <groupId>org.assertj</groupId>
134 <artifactId>assertj-core</artifactId>
135 <version>1.7.1</version>
139 <groupId>org.mockito</groupId>
140 <artifactId>mockito-all</artifactId>
141 <version>1.10.19</version>