| <?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>18</version> |
| </parent> |
| <groupId>org.apache.bahir</groupId> |
| <artifactId>bahir-parent_2.11</artifactId> |
| <version>2.2.3-SNAPSHOT</version> |
| <packaging>pom</packaging> |
| <name>Apache Bahir - Parent POM</name> |
| <url>http://bahir.apache.org/</url> |
| <licenses> |
| <license> |
| <name>Apache 2.0 License</name> |
| <url>http://www.apache.org/licenses/LICENSE-2.0.html</url> |
| <distribution>repo</distribution> |
| </license> |
| </licenses> |
| <scm> |
| <connection>scm:git:git@github.com:apache/bahir.git</connection> |
| <developerConnection>scm:git:https://gitbox.apache.org/repos/asf/bahir.git</developerConnection> |
| <url>https://github.com/apache/bahir</url> |
| <tag>HEAD</tag> |
| </scm> |
| <issueManagement> |
| <system>JIRA</system> |
| <url>https://issues.apache.org/jira/browse/BAHIR</url> |
| </issueManagement> |
| |
| <prerequisites> |
| <maven>${maven.version}</maven> |
| </prerequisites> |
| |
| <mailingLists> |
| <mailingList> |
| <name>Dev Mailing List</name> |
| <post>dev@bahir.apache.org</post> |
| <subscribe>dev-subscribe@bahir.apache.org</subscribe> |
| <unsubscribe>dev-unsubscribe@bahir.apache.org</unsubscribe> |
| </mailingList> |
| |
| <mailingList> |
| <name>User Mailing List</name> |
| <post>user@bahir.apache.org</post> |
| <subscribe>user-subscribe@bahir.apache.org</subscribe> |
| <unsubscribe>user-unsubscribe@bahir.apache.org</unsubscribe> |
| </mailingList> |
| |
| <mailingList> |
| <name>Commits Mailing List</name> |
| <post>commits@bahir.apache.org</post> |
| <subscribe>commits-subscribe@bahir.apache.org</subscribe> |
| <unsubscribe>commits-unsubscribe@bahir.apache.org</unsubscribe> |
| </mailingList> |
| </mailingLists> |
| |
| <modules> |
| <module>sql-cloudant</module> |
| <module>streaming-akka</module> |
| <module>sql-streaming-akka</module> |
| <module>streaming-mqtt</module> |
| <module>sql-streaming-mqtt</module> |
| <module>streaming-twitter</module> |
| <module>streaming-zeromq</module> |
| <module>streaming-pubsub</module> |
| </modules> |
| |
| <properties> |
| <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> |
| <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> |
| |
| <!-- General project dependencies version --> |
| <java.version>1.8</java.version> |
| <maven.version>3.3.9</maven.version> |
| <scala.version>2.11.12</scala.version> |
| <scala.binary.version>2.11</scala.binary.version> |
| |
| <slf4j.version>1.7.16</slf4j.version> |
| <log4j.version>1.2.17</log4j.version> |
| |
| <!-- Spark version --> |
| <spark.version>2.2.3</spark.version> |
| |
| <!-- MQTT Client --> |
| <mqtt.paho.client>1.1.0</mqtt.paho.client> |
| <!-- Streaming Akka connector --> |
| <akka.group>com.typesafe.akka</akka.group> |
| <akka.version>2.4.20</akka.version> |
| <akka_zeromq.version>2.3.16</akka_zeromq.version> |
| |
| <protobuf.version>2.5.0</protobuf.version> |
| <jsr305.version>3.0.1</jsr305.version> |
| |
| <test.java.home>${java.home}</test.java.home> |
| <test.exclude.tags /> |
| |
| <!-- Modules that copy jars to the build directory should do so under this location. --> |
| <jars.target.dir>${project.build.directory}/scala-${scala.binary.version}/jars</jars.target.dir> |
| |
| <!-- Allow modules to enable / disable certain build plugins easily. --> |
| <build.testJarPhase>prepare-package</build.testJarPhase> |
| <build.copyDependenciesPhase>none</build.copyDependenciesPhase> |
| |
| <!-- |
| Dependency scopes that can be overridden by enabling certain profiles. These profiles are |
| declared in the projects that build assemblies. |
| |
| For other projects the scope should remain as "compile", otherwise they are not available |
| during compilation if the dependency is transivite (e.g. "graphx/" depending on "core/" and |
| needing Hadoop classes in the classpath to compile). |
| --> |
| <hadoop.deps.scope>compile</hadoop.deps.scope> |
| |
| <!-- |
| Overridable test home. So that you can call individual pom files directly without |
| things breaking. |
| --> |
| <spark.test.home>${session.executionRootDirectory}</spark.test.home> |
| |
| <PermGen>64m</PermGen> |
| <MaxPermGen>512m</MaxPermGen> |
| <CodeCacheSize>512m</CodeCacheSize> |
| </properties> |
| |
| <repositories> |
| <repository> |
| <id>central</id> |
| <!-- This should be at top, it makes maven try the central repo first and then others and hence faster dep resolution --> |
| <name>Maven Repository</name> |
| <url>https://repo1.maven.org/maven2</url> |
| <releases> |
| <enabled>true</enabled> |
| </releases> |
| <snapshots> |
| <enabled>false</enabled> |
| </snapshots> |
| </repository> |
| </repositories> |
| <pluginRepositories> |
| <pluginRepository> |
| <id>central</id> |
| <url>https://repo1.maven.org/maven2</url> |
| <releases> |
| <enabled>true</enabled> |
| </releases> |
| <snapshots> |
| <enabled>false</enabled> |
| </snapshots> |
| </pluginRepository> |
| </pluginRepositories> |
| |
| <dependencies> |
| <!-- |
| This is a dummy dependency that is used to trigger the maven-shade plugin so that Spark's |
| published POMs are flattened and do not contain variables. Without this dependency, some |
| subprojects' published POMs would contain variables like ${scala.binary.version} that will |
| be substituted according to the default properties instead of the ones determined by the |
| profiles that were active during publishing, causing the Scala 2.10 build's POMs to have 2.11 |
| dependencies due to the incorrect substitutions. By ensuring that maven-shade runs for all |
| subprojects, we eliminate this problem because the substitutions are baked into the final POM. |
| |
| For more details, see SPARK-3812 and MNG-2971. |
| --> |
| <dependency> |
| <groupId>org.spark-project.spark</groupId> |
| <artifactId>unused</artifactId> |
| <version>1.0.0</version> |
| </dependency> |
| <!-- |
| This is needed by the scalatest plugin, and so is declared here to be available in |
| all child modules, just as scalatest is run in all children |
| --> |
| <dependency> |
| <groupId>org.scalatest</groupId> |
| <artifactId>scalatest_${scala.binary.version}</artifactId> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>junit</groupId> |
| <artifactId>junit</artifactId> |
| <scope>test</scope> |
| </dependency> |
| </dependencies> |
| |
| <dependencyManagement> |
| <dependencies> |
| <dependency> |
| <groupId>org.apache.spark</groupId> |
| <artifactId>spark-core_${scala.binary.version}</artifactId> |
| <version>${spark.version}</version> |
| <exclusions> |
| <exclusion> |
| <groupId>org.eclipse.jetty</groupId> |
| <artifactId>jetty-plus</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>org.eclipse.jetty</groupId> |
| <artifactId>jetty-security</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>org.eclipse.jetty</groupId> |
| <artifactId>jetty-util</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>org.eclipse.jetty</groupId> |
| <artifactId>jetty-server</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>org.eclipse.jetty</groupId> |
| <artifactId>jetty-http</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>org.eclipse.jetty</groupId> |
| <artifactId>jetty-continuation</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>org.eclipse.jetty</groupId> |
| <artifactId>jetty-servlet</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>org.eclipse.jetty</groupId> |
| <artifactId>jetty-servlets</artifactId> |
| </exclusion> |
| </exclusions> |
| <type>test-jar</type> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.spark</groupId> |
| <artifactId>spark-streaming_${scala.binary.version}</artifactId> |
| <version>${spark.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.spark</groupId> |
| <artifactId>spark-tags_${scala.binary.version}</artifactId> |
| <version>${spark.version}</version> |
| </dependency> |
| |
| <dependency> |
| <groupId>log4j</groupId> |
| <artifactId>log4j</artifactId> |
| <version>${log4j.version}</version> |
| <scope>${hadoop.deps.scope}</scope> |
| </dependency> |
| <!-- In theory we need not directly depend on protobuf since Spark does not directly |
| use it. However, when building with Hadoop/YARN 2.2 Maven doesn't correctly bump |
| the protobuf version up from the one Mesos gives. For now we include this variable |
| to explicitly bump the version when building with YARN. It would be nice to figure |
| out why Maven can't resolve this correctly (like SBT does). --> |
| <dependency> |
| <groupId>com.google.protobuf</groupId> |
| <artifactId>protobuf-java</artifactId> |
| <version>${protobuf.version}</version> |
| <scope>${hadoop.deps.scope}</scope> |
| </dependency> |
| <dependency> |
| <groupId>${akka.group}</groupId> |
| <artifactId>akka-actor_${scala.binary.version}</artifactId> |
| <version>${akka.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>${akka.group}</groupId> |
| <artifactId>akka-remote_${scala.binary.version}</artifactId> |
| <version>${akka.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>${akka.group}</groupId> |
| <artifactId>akka-zeromq_${scala.binary.version}</artifactId> |
| <version>${akka_zeromq.version}</version> |
| <exclusions> |
| <exclusion> |
| <groupId>${akka.group}</groupId> |
| <artifactId>akka-actor_${scala.binary.version}</artifactId> |
| </exclusion> |
| </exclusions> |
| </dependency> |
| |
| <dependency> |
| <groupId>com.typesafe.play</groupId> |
| <artifactId>play-json_${scala.binary.version}</artifactId> |
| <version>2.6.6</version> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.json4s</groupId> |
| <artifactId>json4s-jackson_${scala.binary.version}</artifactId> |
| <version>3.2.11</version> |
| </dependency> |
| |
| <dependency> |
| <groupId>com.google.code.findbugs</groupId> |
| <artifactId>jsr305</artifactId> |
| <version>${jsr305.version}</version> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.scalaj</groupId> |
| <artifactId>scalaj-http_${scala.binary.version}</artifactId> |
| <version>2.3.0</version> |
| </dependency> |
| |
| <!-- Scala Related Dependencies --> |
| <dependency> |
| <groupId>org.scala-lang</groupId> |
| <artifactId>scala-compiler</artifactId> |
| <version>${scala.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.scala-lang</groupId> |
| <artifactId>scala-reflect</artifactId> |
| <version>${scala.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.scala-lang</groupId> |
| <artifactId>scala-library</artifactId> |
| <version>${scala.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.scala-lang</groupId> |
| <artifactId>scala-actors</artifactId> |
| <version>${scala.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.scala-lang</groupId> |
| <artifactId>scalap</artifactId> |
| <version>${scala.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.scalatest</groupId> |
| <artifactId>scalatest_${scala.binary.version}</artifactId> |
| <version>2.2.6</version> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.scalacheck</groupId> |
| <artifactId>scalacheck_${scala.binary.version}</artifactId> |
| <version>1.12.5</version> <!-- 1.13.0 appears incompatible with scalatest 2.2.6 --> |
| <scope>test</scope> |
| </dependency> |
| |
| <!-- Test Dependencies --> |
| <dependency> |
| <groupId>junit</groupId> |
| <artifactId>junit</artifactId> |
| <version>4.12</version> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.mockito</groupId> |
| <artifactId>mockito-core</artifactId> |
| <version>1.10.19</version> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>xml-apis</groupId> |
| <artifactId>xml-apis</artifactId> |
| <version>1.4.01</version> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.hamcrest</groupId> |
| <artifactId>hamcrest-core</artifactId> |
| <version>1.3</version> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.hamcrest</groupId> |
| <artifactId>hamcrest-library</artifactId> |
| <version>1.3</version> |
| <scope>test</scope> |
| </dependency> |
| </dependencies> |
| </dependencyManagement> |
| |
| <build> |
| <resources> |
| <resource> |
| <directory>${basedir}/python</directory> |
| <includes> |
| <include>**/*.py</include> |
| </includes> |
| </resource> |
| </resources> |
| |
| <pluginManagement> |
| <plugins> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-enforcer-plugin</artifactId> |
| <version>1.4.1</version> |
| <executions> |
| <execution> |
| <id>enforce-versions</id> |
| <goals> |
| <goal>enforce</goal> |
| </goals> |
| <configuration> |
| <rules> |
| <requireMavenVersion> |
| <version>${maven.version}</version> |
| </requireMavenVersion> |
| <requireJavaVersion> |
| <version>${java.version}</version> |
| </requireJavaVersion> |
| <bannedDependencies> |
| <excludes> |
| <!-- |
| Akka depends on io.netty:netty, which puts classes under the org.jboss.netty |
| package. This conflicts with the classes in org.jboss.netty:netty |
| artifact, so we have to ban that artifact here. In Netty 4.x, the classes |
| are under the io.netty package, so it's fine for us to depend on both |
| io.netty:netty and io.netty:netty-all. |
| --> |
| <exclude>org.jboss.netty</exclude> |
| <exclude>org.codehaus.groovy</exclude> |
| </excludes> |
| <searchTransitive>true</searchTransitive> |
| </bannedDependencies> |
| </rules> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.rat</groupId> |
| <artifactId>apache-rat-plugin</artifactId> |
| <version>0.12</version> |
| <executions> |
| <execution> |
| <id>enforce-licenses</id> |
| <phase>package</phase> |
| <goals> |
| <goal>check</goal> |
| </goals> |
| </execution> |
| </executions> |
| <configuration> |
| <excludes> |
| <exclude>.gitignore</exclude> |
| <exclude>.repository/</exclude> |
| <exclude>.idea/</exclude> |
| <exclude>.git</exclude> |
| <exclude>.settings</exclude> |
| <exclude>.classpath</exclude> |
| <exclude>.project</exclude> |
| <exclude>**/dependency-reduced-pom.xml</exclude> |
| <exclude>**/target/**</exclude> |
| <exclude>**/README.md</exclude> |
| <exclude>**/examples/data/*.txt</exclude> |
| <exclude>**/*.iml</exclude> |
| <exclude>**/src/main/resources/application.conf</exclude> |
| <exclude>**/src/main/resources/reference.conf</exclude> |
| <exclude>**/json-files/**</exclude> |
| </excludes> |
| </configuration> |
| </plugin> |
| <plugin> |
| <groupId>org.codehaus.mojo</groupId> |
| <artifactId>build-helper-maven-plugin</artifactId> |
| <version>3.0.0</version> |
| </plugin> |
| <plugin> |
| <groupId>net.alchim31.maven</groupId> |
| <artifactId>scala-maven-plugin</artifactId> |
| <version>3.3.1</version> |
| <executions> |
| <execution> |
| <id>eclipse-add-source</id> |
| <goals> |
| <goal>add-source</goal> |
| </goals> |
| </execution> |
| <execution> |
| <id>scala-compile-first</id> |
| <phase>process-resources</phase> |
| <goals> |
| <goal>compile</goal> |
| </goals> |
| </execution> |
| <execution> |
| <id>scala-test-compile-first</id> |
| <phase>process-test-resources</phase> |
| <goals> |
| <goal>testCompile</goal> |
| </goals> |
| </execution> |
| <execution> |
| <id>attach-scaladocs</id> |
| <phase>verify</phase> |
| <goals> |
| <goal>doc-jar</goal> |
| </goals> |
| </execution> |
| </executions> |
| <configuration> |
| <scalaVersion>${scala.version}</scalaVersion> |
| <recompileMode>incremental</recompileMode> |
| <useZincServer>true</useZincServer> |
| <args> |
| <arg>-unchecked</arg> |
| <arg>-deprecation</arg> |
| <arg>-feature</arg> |
| </args> |
| <jvmArgs> |
| <jvmArg>-Xms1024m</jvmArg> |
| <jvmArg>-Xmx1024m</jvmArg> |
| <jvmArg>-XX:ReservedCodeCacheSize=${CodeCacheSize}</jvmArg> |
| </jvmArgs> |
| <source>${java.version}</source> |
| <target>${java.version}</target> |
| <javacArgs> |
| <javacArg>-source</javacArg> |
| <javacArg>${java.version}</javacArg> |
| <javacArg>-target</javacArg> |
| <javacArg>${java.version}</javacArg> |
| <javacArg>-Xlint:all,-serial,-path</javacArg> |
| </javacArgs> |
| </configuration> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-compiler-plugin</artifactId> |
| <version>3.6.1</version> |
| <configuration> |
| <source>${java.version}</source> |
| <target>${java.version}</target> |
| <encoding>UTF-8</encoding> |
| <maxmem>1024m</maxmem> |
| <fork>true</fork> |
| <compilerArgs> |
| <arg>-Xlint:all,-serial,-path</arg> |
| </compilerArgs> |
| </configuration> |
| </plugin> |
| |
| <!-- Surefire runs all Java tests --> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-surefire-plugin</artifactId> |
| <version>2.19.1</version> |
| <!-- Note config is repeated in scalatest config --> |
| <configuration> |
| <includes> |
| <include>**/Test*.java</include> |
| <include>**/*Test.java</include> |
| <include>**/*TestCase.java</include> |
| <include>**/*Suite.java</include> |
| </includes> |
| <reportsDirectory>${project.build.directory}/surefire-reports</reportsDirectory> |
| <argLine>-Xmx3g -Xss4096k -XX:ReservedCodeCacheSize=${CodeCacheSize}</argLine> |
| <environmentVariables> |
| <!-- |
| Setting SPARK_DIST_CLASSPATH is a simple way to make sure any child processes |
| launched by the tests have access to the correct test-time classpath. |
| --> |
| <SPARK_DIST_CLASSPATH>${test_classpath}</SPARK_DIST_CLASSPATH> |
| <SPARK_PREPEND_CLASSES>1</SPARK_PREPEND_CLASSES> |
| <SPARK_SCALA_VERSION>${scala.binary.version}</SPARK_SCALA_VERSION> |
| <SPARK_TESTING>1</SPARK_TESTING> |
| <JAVA_HOME>${test.java.home}</JAVA_HOME> |
| </environmentVariables> |
| <systemProperties> |
| <log4j.configuration>file:src/test/resources/log4j.properties</log4j.configuration> |
| <java.util.logging.config.file>${basedir}/src/test/resources/logging.properties</java.util.logging.config.file> |
| <derby.system.durability>test</derby.system.durability> |
| <java.awt.headless>true</java.awt.headless> |
| <java.io.tmpdir>${project.build.directory}/tmp</java.io.tmpdir> |
| <spark.test.home>${spark.test.home}</spark.test.home> |
| <spark.testing>1</spark.testing> |
| <spark.master.rest.enabled>false</spark.master.rest.enabled> |
| <spark.ui.enabled>false</spark.ui.enabled> |
| <spark.ui.showConsoleProgress>false</spark.ui.showConsoleProgress> |
| <spark.unsafe.exceptionOnMemoryLeak>true</spark.unsafe.exceptionOnMemoryLeak> |
| <!-- Needed by sql/hive tests. --> |
| <test.src.tables>src</test.src.tables> |
| </systemProperties> |
| <failIfNoTests>false</failIfNoTests> |
| <excludedGroups>${test.exclude.tags}</excludedGroups> |
| </configuration> |
| <executions> |
| <execution> |
| <id>test</id> |
| <goals> |
| <goal>test</goal> |
| </goals> |
| </execution> |
| </executions> |
| </plugin> |
| <!-- Scalatest runs all Scala tests --> |
| <plugin> |
| <groupId>org.scalatest</groupId> |
| <artifactId>scalatest-maven-plugin</artifactId> |
| <version>1.0</version> |
| <!-- Note config is repeated in surefire config --> |
| <configuration> |
| <reportsDirectory>${project.build.directory}/surefire-reports</reportsDirectory> |
| <junitxml>.</junitxml> |
| <filereports>SparkTestSuite.txt</filereports> |
| <argLine>-ea -Xmx3g -XX:ReservedCodeCacheSize=${CodeCacheSize}</argLine> |
| <stderr /> |
| <environmentVariables> |
| <!-- |
| Setting SPARK_DIST_CLASSPATH is a simple way to make sure any child processes |
| launched by the tests have access to the correct test-time classpath. |
| --> |
| <SPARK_DIST_CLASSPATH>${test_classpath}</SPARK_DIST_CLASSPATH> |
| <SPARK_PREPEND_CLASSES>1</SPARK_PREPEND_CLASSES> |
| <SPARK_SCALA_VERSION>${scala.binary.version}</SPARK_SCALA_VERSION> |
| <SPARK_TESTING>1</SPARK_TESTING> |
| <JAVA_HOME>${test.java.home}</JAVA_HOME> |
| </environmentVariables> |
| <systemProperties> |
| <log4j.configuration>file:src/test/resources/log4j.properties</log4j.configuration> |
| <java.util.logging.config.file>${basedir}/src/test/resources/logging.properties</java.util.logging.config.file> |
| <derby.system.durability>test</derby.system.durability> |
| <java.awt.headless>true</java.awt.headless> |
| <java.io.tmpdir>${project.build.directory}/tmp</java.io.tmpdir> |
| <spark.test.home>${spark.test.home}</spark.test.home> |
| <spark.testing>1</spark.testing> |
| <spark.ui.enabled>false</spark.ui.enabled> |
| <spark.ui.showConsoleProgress>false</spark.ui.showConsoleProgress> |
| <spark.unsafe.exceptionOnMemoryLeak>true</spark.unsafe.exceptionOnMemoryLeak> |
| <!-- Needed by sql/hive tests. --> |
| <test.src.tables>__not_used__</test.src.tables> |
| </systemProperties> |
| <tagsToExclude>${test.exclude.tags}</tagsToExclude> |
| </configuration> |
| <executions> |
| <execution> |
| <id>test</id> |
| <goals> |
| <goal>test</goal> |
| </goals> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-jar-plugin</artifactId> |
| <version>3.0.2</version> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-antrun-plugin</artifactId> |
| <version>1.8</version> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-source-plugin</artifactId> |
| <version>3.0.1</version> |
| <configuration> |
| <attach>true</attach> |
| </configuration> |
| <executions> |
| <execution> |
| <id>create-source-jar</id> |
| <goals> |
| <goal>jar-no-fork</goal> |
| <goal>test-jar-no-fork</goal> |
| </goals> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-clean-plugin</artifactId> |
| <version>3.0.0</version> |
| <configuration> |
| <filesets> |
| <fileset> |
| <directory>work</directory> |
| </fileset> |
| <fileset> |
| <directory>checkpoint</directory> |
| </fileset> |
| <fileset> |
| <directory>lib_managed</directory> |
| </fileset> |
| </filesets> |
| </configuration> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-javadoc-plugin</artifactId> |
| <version>2.10.4</version> |
| <configuration> |
| <additionalparam>-Xdoclint:all -Xdoclint:-missing</additionalparam> |
| <tags> |
| <tag> |
| <name>example</name> |
| <placement>a</placement> |
| <head>Example:</head> |
| </tag> |
| <tag> |
| <name>note</name> |
| <placement>a</placement> |
| <head>Note:</head> |
| </tag> |
| <tag> |
| <name>group</name> |
| <placement>X</placement> |
| </tag> |
| <tag> |
| <name>tparam</name> |
| <placement>X</placement> |
| </tag> |
| <tag> |
| <name>constructor</name> |
| <placement>X</placement> |
| </tag> |
| <tag> |
| <name>todo</name> |
| <placement>X</placement> |
| </tag> |
| <tag> |
| <name>groupname</name> |
| <placement>X</placement> |
| </tag> |
| </tags> |
| </configuration> |
| </plugin> |
| <plugin> |
| <groupId>org.codehaus.mojo</groupId> |
| <artifactId>exec-maven-plugin</artifactId> |
| <version>1.5.0</version> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-assembly-plugin</artifactId> |
| <version>3.0.0</version> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-install-plugin</artifactId> |
| <version>2.5.2</version> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-deploy-plugin</artifactId> |
| <version>2.8.2</version> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-dependency-plugin</artifactId> |
| <version>3.0.0</version> |
| <executions> |
| <execution> |
| <id>default-cli</id> |
| <goals> |
| <goal>build-classpath</goal> |
| </goals> |
| <configuration> |
| <!-- This includes dependencies with 'runtime' and 'compile' scopes; |
| see the docs for includeScope for more details --> |
| <includeScope>runtime</includeScope> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| <!-- This plugin's configuration is used to store Eclipse m2e settings only. --> |
| <!-- It has no influence on the Maven build itself. --> |
| <plugin> |
| <groupId>org.eclipse.m2e</groupId> |
| <artifactId>lifecycle-mapping</artifactId> |
| <version>1.0.0</version> |
| <configuration> |
| <lifecycleMappingMetadata> |
| <pluginExecutions> |
| <pluginExecution> |
| <pluginExecutionFilter> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-dependency-plugin</artifactId> |
| <goals> |
| <goal>build-classpath</goal> |
| </goals> |
| </pluginExecutionFilter> |
| <action> |
| <ignore /> |
| </action> |
| </pluginExecution> |
| <pluginExecution> |
| <pluginExecutionFilter> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-jar-plugin</artifactId> |
| <versionRange>[2.6,)</versionRange> |
| <goals> |
| <goal>test-jar</goal> |
| </goals> |
| </pluginExecutionFilter> |
| <action> |
| <ignore /> |
| </action> |
| </pluginExecution> |
| <pluginExecution> |
| <pluginExecutionFilter> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-antrun-plugin</artifactId> |
| <versionRange>[1.8,)</versionRange> |
| <goals> |
| <goal>run</goal> |
| </goals> |
| </pluginExecutionFilter> |
| <action> |
| <ignore /> |
| </action> |
| </pluginExecution> |
| </pluginExecutions> |
| </lifecycleMappingMetadata> |
| </configuration> |
| </plugin> |
| </plugins> |
| </pluginManagement> |
| |
| <defaultGoal>clean install org.apache.rat:apache-rat-plugin:check</defaultGoal> |
| <plugins> |
| <!-- This plugin dumps the test classpath into a file --> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-dependency-plugin</artifactId> |
| <version>2.10</version> |
| <executions> |
| <execution> |
| <id>generate-test-classpath</id> |
| <phase>test-compile</phase> |
| <goals> |
| <goal>build-classpath</goal> |
| </goals> |
| <configuration> |
| <includeScope>test</includeScope> |
| <outputProperty>test_classpath</outputProperty> |
| </configuration> |
| </execution> |
| <execution> |
| <id>copy-module-dependencies</id> |
| <phase>${build.copyDependenciesPhase}</phase> |
| <goals> |
| <goal>copy-dependencies</goal> |
| </goals> |
| <configuration> |
| <includeScope>runtime</includeScope> |
| <outputDirectory>${jars.target.dir}</outputDirectory> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-enforcer-plugin</artifactId> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.rat</groupId> |
| <artifactId>apache-rat-plugin</artifactId> |
| <version>0.11</version> |
| </plugin> |
| <plugin> |
| <groupId>net.alchim31.maven</groupId> |
| <artifactId>scala-maven-plugin</artifactId> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-source-plugin</artifactId> |
| </plugin> |
| <!-- add examples as additional test sources so they will be compiled but not packaged --> |
| <plugin> |
| <groupId>org.codehaus.mojo</groupId> |
| <artifactId>build-helper-maven-plugin</artifactId> |
| <executions> |
| <execution> |
| <id>add-test-source</id> |
| <phase>generate-test-sources</phase> |
| <goals> |
| <goal>add-test-source</goal> |
| </goals> |
| <configuration> |
| <sources> |
| <source>${basedir}/examples/src/main/java</source> |
| <source>${basedir}/examples/src/main/scala</source> |
| </sources> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <groupId>org.scalastyle</groupId> |
| <artifactId>scalastyle-maven-plugin</artifactId> |
| <version>0.8.0</version> |
| <configuration> |
| <verbose>false</verbose> |
| <failOnViolation>true</failOnViolation> |
| <includeTestSourceDirectory>true</includeTestSourceDirectory> |
| <failOnWarning>false</failOnWarning> |
| <sourceDirectory>${basedir}/src/main/scala</sourceDirectory> |
| <testSourceDirectories>${basedir}/src/test/scala,${basedir}/examples/src/main/scala</testSourceDirectories> |
| <configLocation>scalastyle-config.xml</configLocation> |
| <outputFile>${basedir}/target/scalastyle-output.xml</outputFile> |
| <inputEncoding>${project.build.sourceEncoding}</inputEncoding> |
| <outputEncoding>${project.reporting.outputEncoding}</outputEncoding> |
| </configuration> |
| <executions> |
| <execution> |
| <goals> |
| <goal>check</goal> |
| </goals> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-checkstyle-plugin</artifactId> |
| <version>2.17</version> |
| <configuration> |
| <consoleOutput>false</consoleOutput> |
| <failOnViolation>true</failOnViolation> |
| <includeTestSourceDirectory>true</includeTestSourceDirectory> |
| <failsOnError>false</failsOnError> |
| <sourceDirectories>${basedir}/src/main/java,${basedir}/src/main/scala</sourceDirectories> |
| <testSourceDirectories>${basedir}/src/test/java,${basedir}/examples/src/main/java,${basedir}/examples/src/main/scala</testSourceDirectories> |
| <configLocation>dev/checkstyle.xml</configLocation> |
| <outputFile>${basedir}/target/checkstyle-output.xml</outputFile> |
| <encoding>${project.build.sourceEncoding}</encoding> |
| </configuration> |
| <executions> |
| <execution> |
| <goals> |
| <goal>check</goal> |
| </goals> |
| </execution> |
| </executions> |
| </plugin> |
| |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-antrun-plugin</artifactId> |
| <executions> |
| <execution> |
| <id>create-tmp-dir</id> |
| <phase>generate-test-resources</phase> |
| <goals> |
| <goal>run</goal> |
| </goals> |
| <configuration> |
| <target> |
| <mkdir dir="${project.build.directory}/tmp" /> |
| </target> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| |
| <!-- Enable surefire and scalatest in all children, in one place: --> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-surefire-plugin</artifactId> |
| </plugin> |
| <plugin> |
| <groupId>org.scalatest</groupId> |
| <artifactId>scalatest-maven-plugin</artifactId> |
| </plugin> |
| <!-- Build test-jar's for all projects, since some projects depend on tests from others --> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-jar-plugin</artifactId> |
| <executions> |
| <execution> |
| <id>prepare-test-jar</id> |
| <phase>${build.testJarPhase}</phase> |
| <goals> |
| <goal>test-jar</goal> |
| </goals> |
| <configuration> |
| <excludes> |
| <exclude>log4j.properties</exclude> |
| </excludes> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-clean-plugin</artifactId> |
| <executions> |
| <!-- |
| When we `install` the org.apache.bahir jars into the local Maven repository we also need |
| to clean the previous jar files from the Ivy cache (~/iv2/cache/org.apache.bahir/*) so |
| `spark-submit -packages ...` will pick up the new version from the the local Maven repository |
| --> |
| <execution> |
| <id>cleanup-ivy-cache</id> |
| <phase>install</phase> |
| <goals> |
| <goal>clean</goal> |
| </goals> |
| <configuration> |
| <followSymLinks>false</followSymLinks> |
| <excludeDefaultDirectories>true</excludeDefaultDirectories> |
| <filesets> |
| <fileset> |
| <directory>${user.home}/.ivy2/cache/${project.groupId}/${project.artifactId}</directory> |
| <includes> |
| <include>*-${project.version}.*</include> |
| <include>jars/${project.build.finalName}.jar</include> |
| </includes> |
| </fileset> |
| </filesets> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| </plugins> |
| </build> |
| |
| <profiles> |
| |
| <profile> |
| <id>distribution</id> |
| |
| <modules> |
| <module>distribution</module> |
| </modules> |
| </profile> |
| |
| <profile> |
| <id>scala-2.10</id> |
| <activation> |
| <property><name>scala-2.10</name></property> |
| </activation> |
| <properties> |
| <scala.version>2.10.6</scala.version> |
| <scala.binary.version>2.10</scala.binary.version> |
| <jline.version>${scala.version}</jline.version> |
| <jline.groupid>org.scala-lang</jline.groupid> |
| </properties> |
| <dependencyManagement> |
| <dependencies> |
| <dependency> |
| <groupId>${jline.groupid}</groupId> |
| <artifactId>jline</artifactId> |
| <version>${jline.version}</version> |
| </dependency> |
| </dependencies> |
| </dependencyManagement> |
| <build> |
| <plugins> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-enforcer-plugin</artifactId> |
| <executions> |
| <execution> |
| <id>enforce-versions</id> |
| <goals> |
| <goal>enforce</goal> |
| </goals> |
| <configuration> |
| <rules> |
| <bannedDependencies> |
| <excludes combine.children="append"> |
| <exclude>*:*_2.11</exclude> |
| </excludes> |
| </bannedDependencies> |
| </rules> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| </plugins> |
| </build> |
| </profile> |
| |
| <profile> |
| <id>scala-2.11</id> |
| <activation> |
| <property><name>!scala-2.10</name></property> |
| </activation> |
| <properties> |
| <scala.version>2.11.8</scala.version> |
| <scala.binary.version>2.11</scala.binary.version> |
| </properties> |
| <build> |
| <plugins> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-enforcer-plugin</artifactId> |
| <executions> |
| <execution> |
| <id>enforce-versions</id> |
| <goals> |
| <goal>enforce</goal> |
| </goals> |
| <configuration> |
| <rules> |
| <bannedDependencies> |
| <excludes combine.children="append"> |
| <exclude>*:*_2.10</exclude> |
| </excludes> |
| </bannedDependencies> |
| </rules> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| </plugins> |
| </build> |
| </profile> |
| |
| <profile> |
| <id>test-java-home</id> |
| <activation> |
| <property><name>env.JAVA_HOME</name></property> |
| </activation> |
| <properties> |
| <test.java.home>${env.JAVA_HOME}</test.java.home> |
| </properties> |
| </profile> |
| |
| </profiles> |
| </project> |