1<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> 2 <modelVersion>4.0.0</modelVersion> 3 4 <parent> 5 <groupId>org.apache</groupId> 6 <artifactId>apache</artifactId> 7 <version>14</version> 8 </parent> 9 10 <groupId>com.twitter</groupId> 11 <artifactId>parquet</artifactId> 12 <version>1.6.0</version> 13 <packaging>pom</packaging> 14 15 <name>Apache Parquet MR (Incubating)</name> 16 <url>https://parquet.incubator.apache.org</url> 17 <description>Parquet is a columnar storage format that supports nested data. This provides the java implementation.</description> 18 19 <scm> 20 <connection>scm:git:git@github.com:apache/incubator-parquet-mr.git</connection> 21 <url>scm:git:git@github.com:apache/incubator-parquet-mr.git</url> 22 <developerConnection>scm:git:https://git-wip-us.apache.org/repos/asf/incubator-parquet-mr.git</developerConnection> 23 </scm> 24 25 <licenses> 26 <license> 27 <name>The Apache Software License, Version 2.0</name> 28 <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url> 29 </license> 30 </licenses> 31 32 <issueManagement> 33 <system>JIRA</system> 34 <url>https://issues.apache.org/jira/browse/PARQUET</url> 35 </issueManagement> 36 37 <mailingLists> 38 <mailingList> 39 <name>Dev Mailing List</name> 40 <post>dev@parquet.incubator.apache.org</post> 41 <subscribe>dev-subscribe@parquet.incubator.apache.org</subscribe> 42 <unsubscribe>dev-unsubscribe@parquet.incubator.apache.org</unsubscribe> 43 </mailingList> 44 <mailingList> 45 <name>Commits Mailing List</name> 46 <post>commits@parquet.incubator.apache.org</post> 47 <subscribe>commits-subscribe@parquet.incubator.apache.org</subscribe> 48 <unsubscribe>commits-unsubscribe@parquet.incubator.apache.org</unsubscribe> 49 </mailingList> 50 </mailingLists> 51 52 <developers> 53 <developer> 54 <name>Julien Le Dem</name> 55 <email>julien@twitter.com</email> 56 </developer> 57 </developers> 58 59 <distributionManagement> 60 <snapshotRepository> 61 <id>sonatype-nexus-snapshots</id> 62 <name>Sonatype OSS</name> 63 <url>https://oss.sonatype.org/content/repositories/snapshots</url> 64 </snapshotRepository> 65 <repository> 66 <id>sonatype-nexus-staging</id> 67 <name>Nexus Release Repository</name> 68 <url>https://oss.sonatype.org/service/local/staging/deploy/maven2/</url> 69 </repository> 70 </distributionManagement> 71 72 <repositories> 73 <repository> 74 <id>sonatype-nexus-snapshots</id> 75 <url>https://oss.sonatype.org/content/repositories/snapshots</url> 76 <releases> 77 <enabled>false</enabled> 78 </releases> 79 <snapshots> 80 <enabled>true</enabled> 81 </snapshots> 82 </repository> 83 </repositories> 84 85 <!-- this is needed for maven-thrift-plugin, would like to remove this. 86 see: https://issues.apache.org/jira/browse/THRIFT-1536 --> 87 <pluginRepositories> 88 <pluginRepository> 89 <id>Twitter public Maven repo</id> 90 <url>http://maven.twttr.com</url> 91 </pluginRepository> 92 </pluginRepositories> 93 94 <properties> 95 <targetJavaVersion>1.6</targetJavaVersion> 96 <maven.compiler.source>1.6</maven.compiler.source> 97 <maven.compiler.target>${targetJavaVersion}</maven.compiler.target> 98 <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 99 <github.global.server>github</github.global.server> 100 <maven-jar-plugin.version>2.4</maven-jar-plugin.version> 101 <jackson.groupId>org.codehaus.jackson</jackson.groupId> 102 <jackson.version>1.9.11</jackson.version> 103 <jackson.package>org.codehaus.jackson</jackson.package> 104 <shade.prefix>parquet</shade.prefix> 105 <hadoop.version>1.1.0</hadoop.version> 106 <cascading.version>2.5.3</cascading.version> 107 <parquet.format.version>2.2.0-rc1</parquet.format.version> 108 <log4j.version>1.2.17</log4j.version> 109 <previous.version>1.5.0</previous.version> 110 <thrift.executable>thrift</thrift.executable> 111 <scala.version>2.10.4</scala.version> 112 <!-- scala.binary.version is used for projects that fetch dependencies that are in scala --> 113 <scala.binary.version>2.10</scala.binary.version> 114 <scala.maven.test.skip>false</scala.maven.test.skip> 115 <pig.version>0.11.1</pig.version> 116 <pig.classifier /> 117 <thrift.version>0.7.0</thrift.version> 118 </properties> 119 120 <modules> 121 <module>parquet-avro</module> 122 <module>parquet-benchmarks</module> 123 <module>parquet-cascading</module> 124 <module>parquet-column</module> 125 <module>parquet-common</module> 126 <module>parquet-encoding</module> 127 <module>parquet-generator</module> 128 <module>parquet-hadoop</module> 129 <module>parquet-jackson</module> 130 <module>parquet-pig</module> 131 <module>parquet-pig-bundle</module> 132 <module>parquet-protobuf</module> 133 <module>parquet-scala</module> 134 <module>parquet-scrooge</module> 135 <module>parquet-thrift</module> 136 <module>parquet-hadoop-bundle</module> 137 <module>parquet-hive</module> 138 <module>parquet-hive-bundle</module> 139 <module>parquet-tools</module> 140 </modules> 141 142 <dependencies> 143 <dependency> 144 <groupId>junit</groupId> 145 <artifactId>junit</artifactId> 146 <version>4.10</version> 147 <scope>test</scope> 148 </dependency> 149 <dependency> 150 <groupId>org.easymock</groupId> 151 <artifactId>easymock</artifactId> 152 <version>3.2</version> 153 <scope>test</scope> 154 </dependency> 155 <dependency> 156 <groupId>commons-httpclient</groupId> 157 <artifactId>commons-httpclient</artifactId> 158 <version>3.0.1</version> 159 <scope>test</scope> 160 </dependency> 161 </dependencies> 162 163 <reporting> 164 <plugins> 165 <plugin> 166 <groupId>org.apache.maven.plugins</groupId> 167 <artifactId>maven-javadoc-plugin</artifactId> 168 <version>2.9</version> 169 <reportSets> 170 <reportSet><!-- by default, id = "default" --> 171 <reports><!-- select non-aggregate reports --> 172 <report>javadoc</report> 173 <report>test-javadoc</report> 174 </reports> 175 </reportSet> 176 <reportSet><!-- aggregate reportSet, to define in poms having modules --> 177 <id>aggregate</id> 178 <inherited>false</inherited><!-- don't run aggregate in child modules --> 179 <reports> 180 <report>aggregate</report> 181 </reports> 182 </reportSet> 183 </reportSets> 184 </plugin> 185 <plugin> 186 <groupId>org.codehaus.mojo</groupId> 187 <artifactId>cobertura-maven-plugin</artifactId> 188 <version>2.5.2</version> 189 <configuration> 190 <formats> 191 <format>html</format> 192 </formats> 193 <aggregate>true</aggregate> 194 <instrumentation> 195 <ignores> 196 <ignore>parquet.Log.*</ignore> 197 <ignore>java.lang.UnsupportedOperationException.*</ignore> 198 </ignores> 199 <excludes> 200 <exclude>parquet/Log.class</exclude> 201 <exclude>**/*Exception.class</exclude> 202 <exclude>parquet/example/**/*.class</exclude> 203 </excludes> 204 </instrumentation> 205 </configuration> 206 </plugin> 207 </plugins> 208 </reporting> 209 210 <build> 211 <pluginManagement> 212 <plugins> 213 <plugin> 214 <artifactId>maven-enforcer-plugin</artifactId> 215 <version>1.3.1</version> 216 <dependencies> 217 <dependency> 218 <groupId>org.semver</groupId> 219 <artifactId>enforcer-rule</artifactId> 220 <version>0.9.28</version> 221 </dependency> 222 </dependencies> 223 <executions> 224 <execution> 225 <id>check</id> 226 <phase>verify</phase> 227 <goals> 228 <goal>enforce</goal> 229 </goals> 230 <configuration> 231 <rules> 232 <requireBackwardCompatibility implementation="org.semver.enforcer.RequireSemanticVersioningConformance"> 233 <dumpDetails>true</dumpDetails> 234 <previousVersion>${previous.version}</previousVersion> 235 <excludes> 236 <exclude>parquet/filter2/**</exclude> 237 <exclude>parquet/org/**</exclude> 238 <exclude>parquet/column/**</exclude> 239 <exclude>parquet/hadoop/ParquetInputSplit</exclude> 240 <!-- temporary rules --> 241 <exclude>parquet/io/api/Binary</exclude> <!-- false positive, added interfaces --> 242 <exclude>parquet/hadoop/metadata/Canonicalizer</exclude> <!-- moved to different module --> 243 <exclude>parquet/hadoop/metadata/ColumnPath</exclude> <!-- moved to different module, added methods --> 244 </excludes> 245 </requireBackwardCompatibility> 246 </rules> 247 </configuration> 248 </execution> 249 </executions> 250 </plugin> 251 <plugin> 252 <groupId>org.apache.maven.plugins</groupId> 253 <artifactId>maven-release-plugin</artifactId> 254 <version>2.1</version> 255 <configuration> 256 <mavenExecutorId>forked-path</mavenExecutorId> 257 <useReleaseProfile>false</useReleaseProfile> 258 <arguments>-Psonatype-oss-release</arguments> 259 </configuration> 260 </plugin> 261 <plugin> 262 <groupId>org.apache.maven.plugins</groupId> 263 <artifactId>maven-shade-plugin</artifactId> 264 <version>2.1</version> 265 <executions> 266 <execution> 267 <phase>package</phase> 268 <goals> 269 <goal>shade</goal> 270 </goals> 271 <configuration> 272 <minimizeJar>true</minimizeJar> 273 <artifactSet> 274 <includes> 275 <include>${jackson.groupId}:*</include> 276 <include>it.unimi.dsi:fastutil</include> 277 </includes> 278 </artifactSet> 279 <!-- Shade jackson but do not include any class. Let parquet-jackson handle this --> 280 <filters> 281 <filter> 282 <artifact>${jackson.groupId}:*</artifact> 283 <excludes> 284 <exclude>**</exclude> 285 </excludes> 286 </filter> 287 </filters> 288 <relocations> 289 <relocation> 290 <pattern>${jackson.package}</pattern> 291 <shadedPattern>${shade.prefix}.${jackson.package}</shadedPattern> 292 </relocation> 293 <relocation> 294 <pattern>it.unimi.dsi</pattern> 295 <shadedPattern>${shade.prefix}.it.unimi.dsi</shadedPattern> 296 </relocation> 297 </relocations> 298 </configuration> 299 </execution> 300 </executions> 301 </plugin> 302 <plugin> 303 <groupId>org.apache.maven.plugins</groupId> 304 <artifactId>maven-jar-plugin</artifactId> 305 <version>${maven-jar-plugin.version}</version> 306 <configuration> 307 <archive> 308 <manifestEntries> 309 <git-SHA-1>${buildNumber}</git-SHA-1> 310 </manifestEntries> 311 </archive> 312 </configuration> 313 <executions> 314 <execution> 315 <goals> 316 <goal>test-jar</goal> 317 </goals> 318 </execution> 319 </executions> 320 </plugin> 321 </plugins> 322 </pluginManagement> 323 <plugins> 324 <plugin> 325 <groupId>com.mycila.maven-license-plugin</groupId> 326 <artifactId>maven-license-plugin</artifactId> 327 <version>1.10.b1</version> 328 <configuration> 329 <header>src/license.txt</header> 330 <strictCheck>true</strictCheck> 331 </configuration> 332 <!--executions> 333 <execution> 334 <phase>test</phase> 335 <goals> 336 <goal>check</goal> 337 </goals> 338 </execution> 339 </executions--> 340 </plugin> 341 <plugin> 342 <!-- Override source and target from the ASF parent --> 343 <groupId>org.apache.maven.plugins</groupId> 344 <artifactId>maven-compiler-plugin</artifactId> 345 <configuration> 346 <argLine>-XX:MaxPermSize=256m</argLine> 347 <source>${maven.compiler.source}</source> 348 <target>${maven.compiler.target}</target> 349 </configuration> 350 </plugin> 351 <plugin> 352 <groupId>org.apache.maven.plugins</groupId> 353 <artifactId>maven-surefire-plugin</artifactId> 354 <version>2.10</version> 355 <configuration> 356 <argLine>-Xmx512m</argLine> 357 <excludes> 358 <exclude>**/benchmark/*.java</exclude> 359 </excludes> 360 </configuration> 361 </plugin> 362 <plugin> 363 <groupId>org.codehaus.mojo</groupId> 364 <artifactId>buildnumber-maven-plugin</artifactId> 365 <version>1.1</version> 366 <executions> 367 <execution> 368 <phase>validate</phase> 369 <goals> 370 <goal>create</goal> 371 </goals> 372 </execution> 373 </executions> 374 </plugin> 375 <plugin> 376 <groupId>org.apache.rat</groupId> 377 <artifactId>apache-rat-plugin</artifactId> 378 <executions> 379 <execution> 380 <phase>test</phase> 381 <goals> 382 <goal>check</goal> 383 </goals> 384 </execution> 385 </executions> 386 <configuration> 387 <excludes> 388 <exclude>**/*.parquet</exclude> 389 <exclude>**/*.avro</exclude> 390 <exclude>**/*.json</exclude> 391 <exclude>**/names.txt</exclude> <!-- parquet-cascading test data --> 392 <exclude>**/*.avsc</exclude> 393 <exclude>**/*.iml</exclude> 394 <exclude>**/*.log</exclude> 395 <exclude>**/*.md.vm</exclude> 396 <exclude>**/.classpath</exclude> 397 <exclude>**/.project</exclude> 398 <exclude>**/.settings/**</exclude> 399 <exclude>**/build/**</exclude> 400 <exclude>**/target/**</exclude> 401 <exclude>.git/**</exclude> 402 <exclude>.gitignore</exclude> 403 <exclude>.idea/**</exclude> 404 <exclude>*/jdiff/*.xml</exclude> 405 <exclude>.travis.yml</exclude> 406 <exclude>licenses/**</exclude> 407 <exclude>protobuf_install/**</exclude> 408 <exclude>thrift-0.7.0/**</exclude> 409 <exclude>thrift-0.7.0.tar.gz</exclude> 410 <exclude>**/dependency-reduced-pom.xml</exclude> 411 </excludes> 412 </configuration> 413 </plugin> 414 </plugins> 415 </build> 416 417 <profiles> 418 <profile> 419 <id>update-github-site</id> 420 <reporting> 421 <plugins> 422 <plugin> 423 <groupId>org.apache.maven.plugins</groupId> 424 <artifactId>maven-project-info-reports-plugin</artifactId> 425 <version>2.7</version> 426 <reportSets> 427 <reportSet> 428 <reports> 429 <report>index</report> 430 <report>mailing-list</report> 431 <report>dependency-info</report> 432 <report>project-team</report> 433 <report>dependencies</report> 434 <report>license</report> 435 <report>scm</report> 436 </reports> 437 </reportSet> 438 </reportSets> 439 </plugin> 440 </plugins> 441 </reporting> 442 <distributionManagement> 443 <site> 444 <id>github-pages-site</id> 445 <name>Deployment through GitHub's site deployment plugin</name> 446 <url>site/${project.version}</url> 447 </site> 448 </distributionManagement> 449 <build> 450 <plugins> 451 <plugin> 452 <groupId>org.apache.maven.plugins</groupId> 453 <artifactId>maven-site-plugin</artifactId> 454 <version>3.3</version> 455 <configuration> 456 <skipDeploy>true</skipDeploy> 457 </configuration> 458 </plugin> 459 <plugin> 460 <groupId>com.github.github</groupId> 461 <artifactId>site-maven-plugin</artifactId> 462 <version>0.8</version> 463 <configuration> 464 <message>Creating site for ${project.version}</message> 465 <path>${project.distributionManagement.site.url}</path> 466 <merge>true</merge> 467 </configuration> 468 <executions> 469 <execution> 470 <id>github-site</id> 471 <goals> 472 <goal>site</goal> 473 </goals> 474 <phase>site-deploy</phase> 475 </execution> 476 </executions> 477 </plugin> 478 </plugins> 479 </build> 480 </profile> 481 <profile> 482 <id>sonatype-oss-release</id> 483 <build> 484 <plugins> 485 <plugin> 486 <groupId>org.apache.maven.plugins</groupId> 487 <artifactId>maven-source-plugin</artifactId> 488 <version>2.1.2</version> 489 <executions> 490 <execution> 491 <id>attach-sources</id> 492 <goals> 493 <goal>jar-no-fork</goal> 494 </goals> 495 </execution> 496 </executions> 497 </plugin> 498 <plugin> 499 <groupId>org.apache.maven.plugins</groupId> 500 <artifactId>maven-javadoc-plugin</artifactId> 501 <version>2.7</version> 502 <executions> 503 <execution> 504 <id>attach-javadocs</id> 505 <goals> 506 <goal>jar</goal> 507 </goals> 508 </execution> 509 </executions> 510 </plugin> 511 <plugin> 512 <groupId>org.apache.maven.plugins</groupId> 513 <artifactId>maven-gpg-plugin</artifactId> 514 <version>1.1</version> 515 <executions> 516 <execution> 517 <id>sign-artifacts</id> 518 <phase>verify</phase> 519 <goals> 520 <goal>sign</goal> 521 </goals> 522 </execution> 523 </executions> 524 </plugin> 525 </plugins> 526 </build> 527 </profile> 528 529 <profile> 530 <id>hadoop-2</id> 531 <activation> 532 <property> 533 <name>hadoop.profile</name> 534 <value>hadoop2</value> 535 </property> 536 </activation> 537 <properties> 538 <!-- test hadoop-1 with the same jars that were produced for default profile --> 539 <maven.main.skip>true</maven.main.skip> 540 <hadoop.version>2.3.0</hadoop.version> 541 <pig.version>0.13.0</pig.version> 542 <pig.classifier>h2</pig.classifier> 543 </properties> 544 </profile> 545 <profile> 546 <id>thrift9</id> 547 <properties> 548 <thrift.version>0.9.0</thrift.version> 549 </properties> 550 </profile> 551 </profiles> 552</project> 553