github.com/treeverse/lakefs@v1.24.1-0.20240520134607-95648127bfb0/clients/hadoopfs/pom.xml (about) 1 <?xml version="1.0" encoding="UTF-8"?> 2 <!-- 3 Can build a JAR and an assembled JAR. The first is useful for programming a larger 4 component, and will most likely require assembly and shading to use. The second is 5 useful for inserting directly into Spark. 6 7 To publish to Maven Central: 8 mvn deploy 9 mvn -Passembly deploy 10 11 To export to S3: 12 mvn package s3-storage-wagon:s3-upload@upload-jar 13 mvn -Passembly package s3-storage-wagon:s3-upload@upload-jar 14 --> 15 <project xmlns="http://maven.apache.org/POM/4.0.0" 16 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 17 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 <groupId>io.lakefs</groupId> 20 <artifactId>hadoop-lakefs${name-suffix}</artifactId> 21 <packaging>jar</packaging> 22 <name>hadoop-lakefs${name-suffix}</name> 23 <version>0.1.0</version><!--MARKER: keep this comment here, we update the version with the lakeFS version when on deploy--> 24 <url>https://lakefs.io</url> 25 <scm> 26 <connection>scm:git:git@github.com:treeverse/lakeFS.git</connection> 27 <developerConnection>scm:git:git@github.com:treeverse/lakeFS.git</developerConnection> 28 <url>https://github.com/treeverse/lakeFS</url> 29 </scm> 30 <parent> 31 <groupId>io.lakefs</groupId> 32 <artifactId>lakefs-parent</artifactId> 33 <version>0</version> 34 </parent> 35 36 <licenses> 37 <license> 38 <name>apache2</name> 39 <url>http://www.apache.org/licenses/</url> 40 <distribution>repo</distribution> 41 </license> 42 </licenses> 43 44 <developers> 45 <developer> 46 <name>Treeverse lakeFS dev</name> 47 <email>services@treeverse.io</email> 48 <organization>lakefs.io</organization> 49 <organizationUrl>https://lakefs.io</organizationUrl> 50 </developer> 51 </developers> 52 53 <profiles> 54 <profile> 55 <id>contract-tests-hadoop2</id> 56 <properties> 57 <exclude.tests>io/lakefs/contract/hadoop3/**</exclude.tests> 58 <contract_tests.resource_dir>../../test/lakefsfs_contract/</contract_tests.resource_dir> 59 <hadoop.version>2.7.7</hadoop.version> 60 </properties> 61 <build> 62 <resources> 63 <resource> 64 <directory>${contract_tests.resource_dir}</directory> 65 </resource> 66 </resources> 67 </build> 68 </profile> 69 <profile> 70 <id>contract-tests-hadoop3</id> 71 <properties> 72 <exclude.tests>io/lakefs/contract/hadoop2/**</exclude.tests> 73 <contract_tests.resource_dir>../../test/lakefsfs_contract/</contract_tests.resource_dir> 74 <hadoop.version>3.1.4</hadoop.version> 75 </properties> 76 <build> 77 <resources> 78 <resource> 79 <directory>${contract_tests.resource_dir}</directory> 80 </resource> 81 </resources> 82 </build> 83 </profile> 84 <profile> 85 <id>contract-tests-hadoop3-presigned</id> 86 <properties> 87 <exclude.tests>io/lakefs/contract/hadoop2/**</exclude.tests> 88 <contract_tests.resource_dir>../../test/lakefsfs_contract/</contract_tests.resource_dir> 89 <hadoop.version>3.1.4</hadoop.version> 90 </properties> 91 <build> 92 <plugins> 93 <plugin> 94 <groupId>org.apache.maven.plugins</groupId> 95 <artifactId>maven-surefire-plugin</artifactId> 96 <version>3.1.2</version> 97 <configuration> 98 <systemPropertyVariables> 99 <lakefs.access_mode>presigned</lakefs.access_mode> 100 </systemPropertyVariables> 101 </configuration> 102 </plugin> 103 </plugins> 104 <resources> 105 <resource> 106 <directory>${contract_tests.resource_dir}</directory> 107 </resource> 108 </resources> 109 </build> 110 </profile> 111 <profile> 112 <id>release</id> 113 <build> 114 <plugins> 115 <plugin> 116 <groupId>org.apache.maven.plugins</groupId> 117 <artifactId>maven-source-plugin</artifactId> 118 <version>2.2.1</version> 119 <executions> 120 <execution> 121 <id>attach-sources</id> 122 <goals> 123 <goal>jar-no-fork</goal> 124 </goals> 125 </execution> 126 </executions> 127 </plugin> 128 <plugin> 129 <groupId>org.apache.maven.plugins</groupId> 130 <artifactId>maven-javadoc-plugin</artifactId> 131 <version>3.3.1</version> 132 <executions> 133 <execution> 134 <id>attach-javadocs</id> 135 <goals> 136 <goal>jar</goal> 137 </goals> 138 <configuration> 139 <source>1.8</source> 140 <doclint>none</doclint> 141 </configuration> 142 </execution> 143 </executions> 144 </plugin> 145 </plugins> 146 </build> 147 </profile> 148 <profile> 149 <id>assembly</id> 150 <build> 151 <plugins> 152 <plugin> 153 <groupId>org.apache.maven.plugins</groupId> 154 <artifactId>maven-shade-plugin</artifactId> 155 <version>3.4.1</version> 156 <executions> 157 <execution> 158 <phase>package</phase> 159 <goals> 160 <goal>shade</goal> 161 </goals> 162 <configuration> 163 <filters> 164 <filter> 165 <artifact>*:*</artifact> 166 <excludes> 167 <exclude>module-info.class</exclude> 168 <exclude>META-INF/maven/**</exclude> 169 <exclude>META-INF/*.SF</exclude> 170 <exclude>META-INF/*.DSA</exclude> 171 <exclude>META-INF/*.RSA</exclude> 172 </excludes> 173 </filter> 174 </filters> 175 <relocations> 176 <relocation> 177 <pattern>org.apache.httpcomponents</pattern> 178 <shadedPattern>io.lakefs.hadoopfs.shade.org.apache.httpcomponents</shadedPattern> 179 </relocation> 180 <relocation> 181 <pattern>okio</pattern> 182 <shadedPattern>io.lakefs.hadoopfs.shade.okio</shadedPattern> 183 </relocation> 184 <relocation> 185 <pattern>okhttp3</pattern> 186 <shadedPattern>io.lakefs.hadoop.shade.okhttp3</shadedPattern> 187 </relocation> 188 <relocation> 189 <pattern>com.google.gson</pattern> 190 <shadedPattern>io.lakefs.hadoop.shade.gson</shadedPattern> 191 </relocation> 192 <relocation> 193 <pattern>io.gsonfire</pattern> 194 <shadedPattern>io.lakefs.hadoop.shade.gsonfire</shadedPattern> 195 </relocation> 196 <relocation> 197 <pattern>io.lakefs.clients.sdk</pattern> 198 <shadedPattern>io.lakefs.hadoop.shade.sdk</shadedPattern> 199 </relocation> 200 </relocations> 201 <transformers> 202 <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer"> 203 <manifestEntries> 204 <Implementation-Version>${project.version}</Implementation-Version> 205 </manifestEntries> 206 </transformer> 207 </transformers> 208 </configuration> 209 </execution> 210 </executions> 211 </plugin> 212 </plugins> 213 </build> 214 <properties> 215 <name-suffix>-assembly</name-suffix> 216 </properties> 217 </profile> 218 </profiles> 219 220 <properties> 221 <exclude.tests>io/lakefs/contract/**</exclude.tests> 222 223 <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 224 <name-suffix/> <!-- Set via profile to rename JAR --> 225 <hadoop.version>2.7.7</hadoop.version> 226 <finalName>${project.artifactId}-${project.version}</finalName> 227 </properties> 228 <build> 229 <finalName>${finalName}</finalName> 230 <plugins> 231 <plugin> 232 <groupId>org.apache.maven.plugins</groupId> 233 <artifactId>maven-surefire-plugin</artifactId> 234 <version>3.1.2</version> 235 <configuration> 236 <excludes> 237 <exclude>${exclude.tests}</exclude> 238 </excludes> 239 </configuration> 240 </plugin> 241 <plugin> 242 <groupId>org.apache.maven.plugins</groupId> 243 <artifactId>maven-compiler-plugin</artifactId> 244 <version>3.8.1</version> 245 <configuration> 246 <source>1.8</source> 247 <target>1.8</target> 248 <testExcludes> 249 <testExclude>${exclude.tests}</testExclude> 250 </testExcludes> 251 </configuration> 252 </plugin> 253 <plugin> 254 <groupId>org.apache.maven.plugins</groupId> 255 <artifactId>maven-jar-plugin</artifactId> 256 <version>2.4</version> 257 <executions> 258 <execution> 259 <goals> 260 <goal>test-jar</goal> 261 </goals> 262 </execution> 263 </executions> 264 </plugin> 265 <plugin> 266 <groupId>com.gkatzioura.maven.cloud</groupId> 267 <artifactId>s3-storage-wagon</artifactId> 268 <version>2.3</version> 269 <executions> 270 <execution> 271 <id>upload-jar</id> 272 <goals> 273 <goal>s3-upload</goal> 274 </goals> 275 <configuration> 276 <path>target/${project.artifactId}-${project.version}.jar</path> 277 <bucket>treeverse-clients-us-east</bucket> 278 <region>us-east-1</region> 279 <key>hadoop/${project.artifactId}-${project.version}.jar</key> 280 </configuration> 281 </execution> 282 </executions> 283 </plugin> 284 </plugins> 285 </build> 286 <dependencies> 287 <dependency> 288 <groupId>io.lakefs</groupId> 289 <artifactId>sdk</artifactId> 290 <version>1.18.0</version> 291 </dependency> 292 <dependency> 293 <groupId>org.apache.commons</groupId> 294 <artifactId>commons-lang3</artifactId> 295 <version>3.12.0</version> 296 </dependency> 297 <dependency> 298 <groupId>org.apache.hadoop</groupId> 299 <artifactId>hadoop-common</artifactId> 300 <version>${hadoop.version}</version> 301 <scope>provided</scope> 302 </dependency> 303 <dependency> 304 <groupId>org.apache.hadoop</groupId> 305 <artifactId>hadoop-common</artifactId> 306 <scope>test</scope> 307 <type>test-jar</type> 308 <version>${hadoop.version}</version> 309 </dependency> 310 <dependency> 311 <groupId>org.apache.hadoop</groupId> 312 <artifactId>hadoop-aws</artifactId> 313 <version>${hadoop.version}</version> 314 <scope>provided</scope> 315 </dependency> 316 <!-- https://mvnrepository.com/artifact/org.apache.commons/commons-lang3 --> 317 <dependency> 318 <groupId>org.apache.commons</groupId> 319 <artifactId>commons-lang3</artifactId> 320 <version>3.12.0</version> 321 </dependency> 322 <dependency> 323 <groupId>javax.xml.bind</groupId> 324 <artifactId>jaxb-api</artifactId> 325 <version>2.3.1</version> 326 </dependency> 327 <dependency> <!-- needed for aws-java-sdk in tests(!) --> 328 <groupId>org.apache.httpcomponents</groupId> 329 <artifactId>httpclient</artifactId> 330 <version>4.5.13</version> 331 </dependency> 332 333 <dependency> 334 <groupId>junit</groupId> 335 <artifactId>junit</artifactId> 336 <version>4.13.1</version> 337 <scope>test</scope> 338 </dependency> 339 340 <dependency> 341 <groupId>com.aventrix.jnanoid</groupId> 342 <artifactId>jnanoid</artifactId> 343 <version>2.0.0</version> 344 <scope>test</scope> 345 </dependency> 346 <dependency> 347 <groupId>org.testcontainers</groupId> 348 <artifactId>testcontainers</artifactId> 349 <version>1.16.3</version> 350 <scope>test</scope> 351 </dependency> 352 <!-- https://mvnrepository.com/artifact/com.squareup.okhttp3/mockwebserver --> 353 <dependency> 354 <groupId>com.squareup.okhttp3</groupId> 355 <artifactId>mockwebserver</artifactId> 356 <version>4.10.0</version> 357 <scope>test</scope> 358 </dependency> 359 360 <!-- 361 https://stackoverflow.com/questions/35569092/java-lang-classnotfoundexception-com-fasterxml-jackson-annotation-jsonincludev 362 says to keep all of these on the same versions --> 363 <dependency> 364 <groupId>com.fasterxml.jackson.core</groupId> 365 <artifactId>jackson-databind</artifactId> 366 <version>2.13.4.2</version> 367 <scope>test</scope> 368 </dependency> 369 <dependency> 370 <groupId>com.fasterxml.jackson.core</groupId> 371 <artifactId>jackson-core</artifactId> 372 <version>2.12.3</version> 373 <scope>test</scope> 374 </dependency> 375 <dependency> 376 <groupId>com.fasterxml.jackson.core</groupId> 377 <artifactId>jackson-annotations</artifactId> 378 <version>2.12.3</version> 379 <scope>test</scope> 380 </dependency> 381 382 <dependency> 383 <groupId>org.mock-server</groupId> 384 <artifactId>mockserver-junit-rule-no-dependencies</artifactId> 385 <version>5.14.0</version> 386 <scope>test</scope> 387 </dependency> 388 <dependency> 389 <groupId>org.mock-server</groupId> 390 <artifactId>mockserver-core</artifactId> 391 <version>5.15.0</version> 392 <scope>test</scope> 393 </dependency> 394 <dependency> 395 <groupId>org.immutables</groupId> 396 <artifactId>value</artifactId> 397 <version>2.9.3</version> 398 <scope>test</scope> 399 </dependency> 400 <dependency> 401 <groupId>com.google.guava</groupId> 402 <artifactId>guava</artifactId> 403 <version>32.1.2-jre</version> 404 <scope>test</scope> 405 </dependency> 406 </dependencies> 407 </project>