| <?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-flink-parent_2.11</artifactId> |
| <version>1.0</version> |
| <packaging>pom</packaging> |
| <name>Apache Bahir for Apache Flink - 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-flink.git</connection> |
| <developerConnection>scm:git:https://git-wip-us.apache.org/repos/asf/bahir-flink.git</developerConnection> |
| <url>scm:git:git@github.com:apache/bahir-flink.git</url> |
| <tag>v1.0-rc1</tag> |
| </scm> |
| <issueManagement> |
| <system>JIRA</system> |
| <url>https://issues.apache.org/jira/browse/BAHIR</url> |
| </issueManagement> |
| |
| <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>flink-connector-redis</module> |
| <module>flink-connector-flume</module> |
| <module>flink-connector-activemq</module> |
| <module>flink-connector-netty</module> |
| <module>flink-connector-akka</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.7</java.version> |
| <scala.version>2.11.8</scala.version> |
| <scala.binary.version>2.11</scala.binary.version> |
| |
| <slf4j.version>1.7.16</slf4j.version> |
| <log4j.version>1.2.17</log4j.version> |
| |
| <!-- Flink version --> |
| <flink.version>1.2.0</flink.version> |
| |
| <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> |
| |
| |
| <dependencyManagement> |
| <dependencies> |
| |
| <!-- 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> |
| <pluginManagement> |
| <plugins> |
| <plugin> |
| <groupId>net.alchim31.maven</groupId> |
| <artifactId>scala-maven-plugin</artifactId> |
| <version>3.2.2</version> |
| </plugin> |
| <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> |
| <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> |
| </excludes> |
| </configuration> |
| </plugin> |
| <plugin> |
| <groupId>org.codehaus.mojo</groupId> |
| <artifactId>build-helper-maven-plugin</artifactId> |
| <version>1.10</version> |
| </plugin> |
| |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-compiler-plugin</artifactId> |
| <version>3.5.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:MaxPermSize=${MaxPermGen} -XX:ReservedCodeCacheSize=512m</argLine> |
| <systemProperties> |
| <log4j.configuration>file:src/test/resources/log4j.properties</log4j.configuration> |
| </systemProperties> |
| <failIfNoTests>false</failIfNoTests> |
| </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>2.6</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>2.4</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> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-javadoc-plugin</artifactId> |
| <version>2.10.3</version> |
| <configuration> |
| <skip>true</skip> |
| </configuration> |
| </plugin> |
| <plugin> |
| <groupId>org.codehaus.mojo</groupId> |
| <artifactId>exec-maven-plugin</artifactId> |
| <version>1.4.0</version> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-assembly-plugin</artifactId> |
| <version>2.6</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> |
| <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> |
| <versionRange>[2.8,)</versionRange> |
| <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>org.apache.maven.plugins</groupId> |
| <artifactId>maven-source-plugin</artifactId> |
| </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> |
| <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> |
| |
| <!-- Enable surefire and scalatest in all children, in one place: --> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-surefire-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.binary.version>2.10</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.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.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> |