| <?xml version="1.0" encoding="UTF-8"?> |
| <project |
| xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" |
| xmlns="http://maven.apache.org/POM/4.0.0" |
| xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> |
| <modelVersion>4.0.0</modelVersion> |
| <name>RocksDB JNI</name> |
| <url>http://rocksdb.org/</url> |
| <groupId>org.rocksdb</groupId> |
| <artifactId>rocksdbjni</artifactId> |
| <!-- Version will be automatically replaced --> |
| <version>-</version> |
| <description>RocksDB fat jar that contains .so files for linux32 and linux64, jnilib files |
| for Mac OSX, and a .dll for Windows x64. |
| </description> |
| <licenses> |
| <license> |
| <name>Apache License 2.0</name> |
| <url>http://www.apache.org/licenses/LICENSE-2.0.html</url> |
| <distribution>repo</distribution> |
| </license> |
| <license> |
| <name>GNU General Public License, version 2</name> |
| <url>http://www.gnu.org/licenses/gpl-2.0.html</url> |
| <distribution>repo</distribution> |
| </license> |
| </licenses> |
| <scm> |
| <connection>scm:git:git://github.com/dropwizard/metrics.git</connection> |
| <developerConnection>scm:git:git@github.com:dropwizard/metrics.git</developerConnection> |
| <url>http://github.com/dropwizard/metrics/</url> |
| <tag>HEAD</tag> |
| </scm> |
| <developers> |
| <developer> |
| <name>Facebook</name> |
| <email>help@facebook.com</email> |
| <timezone>America/New_York</timezone> |
| <roles> |
| <role>architect</role> |
| </roles> |
| </developer> |
| </developers> |
| |
| <properties> |
| <project.build.source>1.7</project.build.source> |
| <project.build.target>1.7</project.build.target> |
| <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> |
| </properties> |
| |
| <build> |
| <plugins> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-compiler-plugin</artifactId> |
| <version>3.2</version> |
| <configuration> |
| <source>${project.build.source}</source> |
| <target>${project.build.target}</target> |
| <encoding>${project.build.sourceEncoding}</encoding> |
| </configuration> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-surefire-plugin</artifactId> |
| <version>2.18.1</version> |
| <configuration> |
| <argLine>${argLine} -ea -Xcheck:jni -Djava.library.path=${project.build.directory}</argLine> |
| <useManifestOnlyJar>false</useManifestOnlyJar> |
| <useSystemClassLoader>false</useSystemClassLoader> |
| <additionalClasspathElements> |
| <additionalClasspathElement>${project.build.directory}/*</additionalClasspathElement> |
| </additionalClasspathElements> |
| </configuration> |
| </plugin> |
| <plugin> |
| <groupId>org.jacoco</groupId> |
| <artifactId>jacoco-maven-plugin</artifactId> |
| <version>0.7.2.201409121644</version> |
| <executions> |
| <execution> |
| <goals> |
| <goal>prepare-agent</goal> |
| </goals> |
| </execution> |
| <execution> |
| <id>report</id> |
| <phase>prepare-package</phase> |
| <goals> |
| <goal>report</goal> |
| </goals> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <groupId>org.codehaus.gmaven</groupId> |
| <artifactId>groovy-maven-plugin</artifactId> |
| <version>2.0</version> |
| <executions> |
| <execution> |
| <phase>process-classes</phase> |
| <goals> |
| <goal>execute</goal> |
| </goals> |
| <configuration> |
| <defaults> |
| <name>Xenu</name> |
| </defaults> |
| <source> |
| String fileContents = new File(project.basedir.absolutePath + '/../include/rocksdb/version.h').getText('UTF-8') |
| matcher = (fileContents =~ /(?s).*ROCKSDB_MAJOR ([0-9]+).*?/) |
| String major_version = matcher.getAt(0).getAt(1) |
| matcher = (fileContents =~ /(?s).*ROCKSDB_MINOR ([0-9]+).*?/) |
| String minor_version = matcher.getAt(0).getAt(1) |
| matcher = (fileContents =~ /(?s).*ROCKSDB_PATCH ([0-9]+).*?/) |
| String patch_version = matcher.getAt(0).getAt(1) |
| String version = String.format('%s.%s.%s', major_version, minor_version, patch_version) |
| // Set version to be used in pom.properties |
| project.version = version |
| // Set version to be set as jar name |
| project.build.finalName = project.artifactId + "-" + version |
| </source> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| </plugins> |
| </build> |
| |
| <dependencies> |
| <dependency> |
| <groupId>junit</groupId> |
| <artifactId>junit</artifactId> |
| <version>4.12</version> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.assertj</groupId> |
| <artifactId>assertj-core</artifactId> |
| <version>1.7.1</version> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.mockito</groupId> |
| <artifactId>mockito-all</artifactId> |
| <version>1.10.19</version> |
| <scope>test</scope> |
| </dependency> |
| </dependencies> |
| </project> |