]>
Commit | Line | Data |
---|---|---|
7c673cae FG |
1 | <?xml version="1.0" encoding="UTF-8"?> |
2 | <project | |
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 --> | |
12 | <version>-</version> | |
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. | |
15 | </description> | |
16 | <licenses> | |
17 | <license> | |
18 | <name>Apache License 2.0</name> | |
19 | <url>http://www.apache.org/licenses/LICENSE-2.0.html</url> | |
20 | <distribution>repo</distribution> | |
21 | </license> | |
22 | </licenses> | |
23 | <scm> | |
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> | |
27 | <tag>HEAD</tag> | |
28 | </scm> | |
29 | <developers> | |
30 | <developer> | |
31 | <name>Facebook</name> | |
32 | <email>help@facebook.com</email> | |
33 | <timezone>America/New_York</timezone> | |
34 | <roles> | |
35 | <role>architect</role> | |
36 | </roles> | |
37 | </developer> | |
38 | </developers> | |
39 | ||
40 | <properties> | |
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> | |
44 | </properties> | |
45 | ||
46 | <build> | |
47 | <plugins> | |
48 | <plugin> | |
49 | <groupId>org.apache.maven.plugins</groupId> | |
50 | <artifactId>maven-compiler-plugin</artifactId> | |
51 | <version>3.2</version> | |
52 | <configuration> | |
53 | <source>${project.build.source}</source> | |
54 | <target>${project.build.target}</target> | |
55 | <encoding>${project.build.sourceEncoding}</encoding> | |
56 | </configuration> | |
57 | </plugin> | |
58 | <plugin> | |
59 | <groupId>org.apache.maven.plugins</groupId> | |
60 | <artifactId>maven-surefire-plugin</artifactId> | |
61 | <version>2.18.1</version> | |
62 | <configuration> | |
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> | |
69 | </configuration> | |
70 | </plugin> | |
71 | <plugin> | |
72 | <groupId>org.jacoco</groupId> | |
73 | <artifactId>jacoco-maven-plugin</artifactId> | |
74 | <version>0.7.2.201409121644</version> | |
75 | <executions> | |
76 | <execution> | |
77 | <goals> | |
78 | <goal>prepare-agent</goal> | |
79 | </goals> | |
80 | </execution> | |
81 | <execution> | |
82 | <id>report</id> | |
83 | <phase>prepare-package</phase> | |
84 | <goals> | |
85 | <goal>report</goal> | |
86 | </goals> | |
87 | </execution> | |
88 | </executions> | |
89 | </plugin> | |
90 | <plugin> | |
91 | <groupId>org.codehaus.gmaven</groupId> | |
92 | <artifactId>groovy-maven-plugin</artifactId> | |
93 | <version>2.0</version> | |
94 | <executions> | |
95 | <execution> | |
96 | <phase>process-classes</phase> | |
97 | <goals> | |
98 | <goal>execute</goal> | |
99 | </goals> | |
100 | <configuration> | |
101 | <defaults> | |
102 | <name>Xenu</name> | |
103 | </defaults> | |
104 | <source> | |
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 | |
117 | </source> | |
118 | </configuration> | |
119 | </execution> | |
120 | </executions> | |
121 | </plugin> | |
122 | </plugins> | |
123 | </build> | |
124 | ||
125 | <dependencies> | |
126 | <dependency> | |
127 | <groupId>junit</groupId> | |
128 | <artifactId>junit</artifactId> | |
129 | <version>4.12</version> | |
130 | <scope>test</scope> | |
131 | </dependency> | |
132 | <dependency> | |
133 | <groupId>org.assertj</groupId> | |
134 | <artifactId>assertj-core</artifactId> | |
135 | <version>1.7.1</version> | |
136 | <scope>test</scope> | |
137 | </dependency> | |
138 | <dependency> | |
139 | <groupId>org.mockito</groupId> | |
140 | <artifactId>mockito-all</artifactId> | |
141 | <version>1.10.19</version> | |
142 | <scope>test</scope> | |
143 | </dependency> | |
144 | </dependencies> | |
145 | </project> |