| <?xml version="1.0" encoding="UTF-8"?> |
| <!-- |
| Licensed to the Apache Software Foundation (ASF) under one or more |
| contributor license agreements. See the NOTICE file distributed with |
| this work for additional information regarding copyright ownership. |
| The ASF licenses this file to You under the Apache License, Version 2.0 |
| (the "License"); you may not use this file except in compliance with |
| the License. You may obtain a copy of the License at |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, software |
| distributed under the License is distributed on an "AS IS" BASIS, |
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| See the License for the specific language governing permissions and |
| limitations under the License. |
| --> |
| <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/xsd/maven-4.0.0.xsd"> |
| <modelVersion>4.0.0</modelVersion> |
| |
| <parent> |
| <groupId>org.apache</groupId> |
| <artifactId>apache</artifactId> |
| <version>8</version> |
| </parent> |
| |
| <groupId>org.apache.avro</groupId> |
| <artifactId>avro-parent</artifactId> |
| <version>1.5.0</version> |
| <packaging>pom</packaging> |
| |
| <name>Apache Avro Java</name> |
| <url>http://avro.apache.org</url> |
| <description>Avro parent Java project</description> |
| |
| <properties> |
| <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> |
| <junit-version>4.8.2</junit-version> |
| <paranamer-version>2.3</paranamer-version> |
| <slf4j-version>1.6.1</slf4j-version> |
| <jackson-version>1.7.3</jackson-version> |
| <hadoop-version>0.20.2</hadoop-version> |
| <velocity-version>1.6.4</velocity-version> |
| <jetty-version>6.1.26</jetty-version> |
| <netty-version>3.2.4.Final</netty-version> |
| <jopt-simple-version>3.2</jopt-simple-version> |
| </properties> |
| |
| <issueManagement> |
| <system>jira</system> |
| <url>https://issues.apache.org/jira/browse/AVRO</url> |
| </issueManagement> |
| |
| <build> |
| <!-- defines the default plugin configuration that all child projects inherit |
| from. Like dependencyManagement, this provides configuration, version, and other |
| parameters if the plugins are used by child projects --> |
| <pluginManagement> |
| <plugins> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-compiler-plugin</artifactId> |
| <version>2.3.2</version> |
| <configuration> |
| <source>1.6</source> |
| <target>1.6</target> |
| </configuration> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-jar-plugin</artifactId> |
| <version>2.3.1</version> |
| <configuration> |
| <archive> |
| <manifest> |
| <addDefaultSpecificationEntries>true</addDefaultSpecificationEntries> |
| <addDefaultImplementationEntries>true</addDefaultImplementationEntries> |
| </manifest> |
| </archive> |
| </configuration> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-surefire-plugin</artifactId> |
| <version>2.7.2</version> |
| <configuration> |
| <includes> |
| <!-- Avro naming convention for JUnit tests --> |
| <include>**/Test**</include> |
| </includes> |
| <excludes> |
| <!-- A few innner classes are not to be tested --> |
| <exclude>**/*$*</exclude> |
| <!-- exclude the generated classes under apache.avro.test, some of |
| these match **/Test** and are not JUnit tests --> |
| <exclude>**/apache/avro/test/**</exclude> |
| </excludes> |
| <enableAssertions>false</enableAssertions> |
| <!-- some IPC tests hang if not run in a separate JVM --> |
| <forkMode>always</forkMode> |
| <!-- TestSpecificCompiler instantiates a Java compiler to test output results, |
| this does not work with a manifest-only-jar to set the classpath for the javac. |
| This may cause problems on some platforms. |
| See http://maven.apache.org/plugins/maven-surefire-plugin/examples/class-loading.html |
| for more information. --> |
| <useManifestOnlyJar>false</useManifestOnlyJar> |
| <!-- configures unit test standard error and standard out to go to a file per test |
| rather than the console. --> |
| <redirectTestOutputToFile>true</redirectTestOutputToFile> |
| <systemPropertyVariables> |
| <test.dir>target/</test.dir> |
| </systemPropertyVariables> |
| </configuration> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-checkstyle-plugin</artifactId> |
| <version>2.6</version> |
| <configuration> |
| <configLocation>checkstyle.xml</configLocation> |
| </configuration> |
| <!-- Runs by default in the verify phase (mvn verify or later in the build cycle) |
| the 'check' goal will fail the build if it does not pass. "mvn checkstyle:check" |
| will do this alone, or "mvn checkstyle:checkstyle" will report but not break --> |
| <executions> |
| <execution> |
| <id>checkstyle-check</id> |
| <phase>test</phase> |
| <goals> |
| <goal>check</goal> |
| </goals> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-javadoc-plugin</artifactId> |
| <version>2.7</version> |
| <configuration> |
| <links> |
| <link>http://jackson.codehaus.org/${jackson-version}/javadoc/</link> |
| <link>http://java.sun.com/products/servlet/2.3/javadoc/</link> |
| <link>http://hadoop.apache.org/common/docs/r${hadoop-version}/api/</link> |
| </links> |
| </configuration> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-source-plugin</artifactId> |
| <version>2.1.2</version> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-enforcer-plugin</artifactId> |
| <version>1.0</version> |
| <configuration> |
| <rules> |
| <requireProperty> |
| <property>avro.version</property> |
| <message>*****!!!!!! Must have property avro.version set to enforce version. !!!!!!*****</message> |
| </requireProperty> |
| <requireProperty> |
| <property>project.version</property> |
| <regex>${avro.version}</regex> |
| <regexMessage>*****!!!!! Version of project must be ${avro.version} !!!!!*****</regexMessage> |
| </requireProperty> |
| </rules> |
| <fail>true</fail> |
| </configuration> |
| </plugin> |
| <plugin> |
| <groupId>org.codehaus.mojo</groupId> |
| <artifactId>javacc-maven-plugin</artifactId> |
| <version>2.6</version> |
| </plugin> |
| <plugin> |
| <groupId>org.codehaus.mojo</groupId> |
| <artifactId>exec-maven-plugin</artifactId> |
| <version>1.2</version> |
| </plugin> |
| </plugins> |
| </pluginManagement> |
| <plugins> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-checkstyle-plugin</artifactId> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-gpg-plugin</artifactId> |
| <executions> |
| <execution> |
| <id>sign-artifacts</id> |
| <phase>verify</phase> |
| <goals> |
| <goal>sign</goal> |
| </goals> |
| </execution> |
| </executions> |
| </plugin> |
| </plugins> |
| </build> |
| |
| <reporting> |
| </reporting> |
| |
| <profiles> |
| <profile> |
| <id>dist</id> |
| <!-- Profile for generating all maven artifacts and documentation. --> |
| <build> |
| <plugins> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-javadoc-plugin</artifactId> |
| <executions> |
| <execution> |
| <!-- build javadoc jars per jar for publishing to maven --> |
| <id>module-javadocs</id> |
| <phase>package</phase> |
| <goals> |
| <goal>jar</goal> |
| </goals> |
| </execution> |
| <execution> |
| <!-- build aggregate javadoc in parent only --> |
| <id>default-cli</id> |
| <goals> |
| <goal>aggregate</goal> |
| </goals> |
| <inherited>false</inherited> |
| <configuration> |
| <overview>avro/src/main/java/overview.html</overview> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-source-plugin</artifactId> |
| <executions> |
| <execution> |
| <!-- builds source jars and attaches them to the project for publishing --> |
| <id>avro-java-sources</id> |
| <phase>package</phase> |
| <goals> |
| <goal>jar-no-fork</goal> |
| </goals> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-enforcer-plugin</artifactId> |
| <executions> |
| <execution> |
| <phase>package</phase> |
| <goals> |
| <goal>enforce</goal> |
| </goals> |
| </execution> |
| </executions> |
| </plugin> |
| </plugins> |
| </build> |
| </profile> |
| <profile> |
| <id>interop-data-test</id> |
| <build> |
| <plugins> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-surefire-plugin</artifactId> |
| <configuration> |
| <includes> |
| <include>**/DataFileInteropTest*</include> |
| </includes> |
| <excludes> |
| </excludes> |
| <enableAssertions>false</enableAssertions> |
| <forkMode>once</forkMode> |
| <redirectTestOutputToFile>false</redirectTestOutputToFile> |
| <systemPropertyVariables> |
| <test.dir>../../../build/interop/data/</test.dir> |
| </systemPropertyVariables> |
| </configuration> |
| </plugin> |
| </plugins> |
| </build> |
| </profile> |
| </profiles> |
| |
| <!-- dependencyManagement can be used to define dependency versions, scopes, and |
| excludes to be shared by child projects. Child projects will not inherit these dependencies, |
| rather they inherit the properties of the below dependencies (such as version) if |
| the dependency is specified in the child. --> |
| <dependencyManagement> |
| <dependencies> |
| <dependency> |
| <groupId>org.codehaus.jackson</groupId> |
| <artifactId>jackson-mapper-asl</artifactId> |
| <version>${jackson-version}</version> |
| <scope>compile</scope> |
| </dependency> |
| <dependency> |
| <groupId>com.thoughtworks.paranamer</groupId> |
| <artifactId>paranamer</artifactId> |
| <version>${paranamer-version}</version> |
| <scope>compile</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.velocity</groupId> |
| <artifactId>velocity</artifactId> |
| <version>${velocity-version}</version> |
| <scope>compile</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.mortbay.jetty</groupId> |
| <artifactId>jetty</artifactId> |
| <version>${jetty-version}</version> |
| <scope>compile</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.jboss.netty</groupId> |
| <artifactId>netty</artifactId> |
| <version>${netty-version}</version> |
| <scope>compile</scope> |
| </dependency> |
| <dependency> |
| <groupId>net.sf.jopt-simple</groupId> |
| <artifactId>jopt-simple</artifactId> |
| <version>${jopt-simple-version}</version> |
| <scope>compile</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.hadoop</groupId> |
| <artifactId>hadoop-core</artifactId> |
| <version>${hadoop-version}</version> |
| <scope>compile</scope> |
| </dependency> |
| </dependencies> |
| </dependencyManagement> |
| |
| <!-- dependencies defines dependencies that all child projects share. Child projects |
| will inherit these dependencies directly, and can opt out if necessary with <excludes> --> |
| <dependencies> |
| <dependency> |
| <groupId>junit</groupId> |
| <artifactId>junit</artifactId> |
| <version>${junit-version}</version> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.slf4j</groupId> |
| <artifactId>slf4j-api</artifactId> |
| <version>${slf4j-version}</version> |
| <scope>compile</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.slf4j</groupId> |
| <artifactId>slf4j-simple</artifactId> |
| <version>${slf4j-version}</version> |
| <optional>true</optional> |
| </dependency> |
| </dependencies> |
| |
| <repositories> |
| <repository> |
| <id>apache.snapshots</id> |
| <name>Apache Snapshot Repository</name> |
| <url>http://repository.apache.org/snapshots</url> |
| <releases> |
| <enabled>false</enabled> |
| </releases> |
| </repository> |
| <!-- JBoss repo needed for netty --> |
| <repository> |
| <id>jboss-release-repository</id> |
| <name>JBoss Release Repository</name> |
| <url>https://repository.jboss.org/nexus/content/repositories/releases/</url> |
| <snapshots> |
| <enabled>false</enabled> |
| </snapshots> |
| </repository> |
| </repositories> |
| |
| <modules> |
| <module>avro</module> |
| <module>compiler</module> |
| <module>maven-plugin</module> |
| <module>ipc</module> |
| <module>tools</module> |
| <module>mapred</module> |
| </modules> |
| |
| </project> |