| <?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/maven-v4_0_0.xsd"> |
| |
| <modelVersion>4.0.0</modelVersion> |
| |
| <parent> |
| <groupId>org.apache.flink</groupId> |
| <artifactId>flink-parent</artifactId> |
| <version>1.4-SNAPSHOT</version> |
| <relativePath>..</relativePath> |
| </parent> |
| |
| <artifactId>flink-dist_${scala.binary.version}</artifactId> |
| <name>flink-dist</name> |
| <packaging>jar</packaging> |
| |
| <dependencies> |
| |
| <!-- Flink project binaries --> |
| |
| <dependency> |
| <groupId>org.apache.flink</groupId> |
| <artifactId>flink-core</artifactId> |
| <version>${project.version}</version> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.apache.flink</groupId> |
| <artifactId>flink-java</artifactId> |
| <version>${project.version}</version> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.apache.flink</groupId> |
| <artifactId>flink-scala_${scala.binary.version}</artifactId> |
| <version>${project.version}</version> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.apache.flink</groupId> |
| <artifactId>flink-runtime_${scala.binary.version}</artifactId> |
| <version>${project.version}</version> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.apache.flink</groupId> |
| <artifactId>flink-runtime-web_${scala.binary.version}</artifactId> |
| <version>${project.version}</version> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.apache.flink</groupId> |
| <artifactId>flink-optimizer_${scala.binary.version}</artifactId> |
| <version>${project.version}</version> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.apache.flink</groupId> |
| <artifactId>flink-clients_${scala.binary.version}</artifactId> |
| <version>${project.version}</version> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.apache.flink</groupId> |
| <artifactId>flink-streaming-java_${scala.binary.version}</artifactId> |
| <version>${project.version}</version> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.apache.flink</groupId> |
| <artifactId>flink-streaming-scala_${scala.binary.version}</artifactId> |
| <version>${project.version}</version> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.apache.flink</groupId> |
| <artifactId>flink-scala-shell_${scala.binary.version}</artifactId> |
| <version>${project.version}</version> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.apache.flink</groupId> |
| <artifactId>flink-metrics-core</artifactId> |
| <version>${project.version}</version> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.apache.flink</groupId> |
| <artifactId>flink-metrics-jmx</artifactId> |
| <version>${project.version}</version> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.apache.flink</groupId> |
| <artifactId>flink-mesos_${scala.binary.version}</artifactId> |
| <version>${project.version}</version> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.apache.flink</groupId> |
| <artifactId>flink-statebackend-rocksdb_${scala.binary.version}</artifactId> |
| <version>${project.version}</version> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.apache.flink</groupId> |
| <artifactId>flink-yarn_${scala.binary.version}</artifactId> |
| <version>${project.version}</version> |
| <exclusions> |
| <exclusion> |
| <groupId>org.apache.flink</groupId> |
| <artifactId>flink-shaded-hadoop2</artifactId> |
| </exclusion> |
| </exclusions> |
| </dependency> |
| |
| <!-- Default file system support. The Hadoop and MapR dependencies --> |
| <!-- are optional, so not being added to the dist jar --> |
| |
| <dependency> |
| <groupId>org.apache.flink</groupId> |
| <artifactId>flink-hadoop-fs</artifactId> |
| <version>${project.version}</version> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.apache.flink</groupId> |
| <artifactId>flink-mapr-fs</artifactId> |
| <version>${project.version}</version> |
| </dependency> |
| |
| <!-- Concrete logging framework - we add this only here (and not in the |
| root POM) to not tie the projects to one specific framework and make |
| it easier for users to swap logging frameworks --> |
| |
| <dependency> |
| <groupId>org.slf4j</groupId> |
| <artifactId>slf4j-log4j12</artifactId> |
| <scope>compile</scope> |
| </dependency> |
| |
| <dependency> |
| <groupId>log4j</groupId> |
| <artifactId>log4j</artifactId> |
| <scope>compile</scope> |
| </dependency> |
| |
| <!-- |
| The Hadoop 2 Uber jar should not go into the Flink dist jar, but |
| sit next to it. Hence, we set it to 'provided' here. |
| --> |
| |
| <dependency> |
| <groupId>org.apache.flink</groupId> |
| <artifactId>flink-shaded-hadoop2-uber</artifactId> |
| <version>${project.version}</version> |
| <!-- |
| Exclusion of flink-shaded-hadoop2 not necessary, dependencies |
| are shaded away properly by flink-shaded-hadoop2-uber. |
| --> |
| <scope>provided</scope> |
| </dependency> |
| |
| <!-- |
| The following dependencies are packaged in 'examples/' |
| The scope of these dependencies needs to be 'provided' so that |
| they are not included into the 'flink-dist' uber jar. |
| --> |
| |
| <dependency> |
| <groupId>org.apache.flink</groupId> |
| <artifactId>flink-gelly-examples_${scala.binary.version}</artifactId> |
| <version>${project.version}</version> |
| <scope>provided</scope> |
| </dependency> |
| |
| <!-- |
| The following dependencies are packaged in 'opt/' |
| The scope of these dependencies needs to be 'provided' so that |
| they are not included into the 'flink-dist' uber jar. |
| --> |
| |
| <!-- start optional Flink metrics reporters --> |
| <dependency> |
| <groupId>org.apache.flink</groupId> |
| <artifactId>flink-metrics-dropwizard</artifactId> |
| <version>${project.version}</version> |
| <scope>provided</scope> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.apache.flink</groupId> |
| <artifactId>flink-metrics-ganglia</artifactId> |
| <version>${project.version}</version> |
| <scope>provided</scope> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.apache.flink</groupId> |
| <artifactId>flink-metrics-graphite</artifactId> |
| <version>${project.version}</version> |
| <scope>provided</scope> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.apache.flink</groupId> |
| <artifactId>flink-metrics-prometheus</artifactId> |
| <version>${project.version}</version> |
| <scope>provided</scope> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.apache.flink</groupId> |
| <artifactId>flink-metrics-statsd</artifactId> |
| <version>${project.version}</version> |
| <scope>provided</scope> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.apache.flink</groupId> |
| <artifactId>flink-metrics-datadog</artifactId> |
| <version>${project.version}</version> |
| <scope>provided</scope> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.apache.flink</groupId> |
| <artifactId>flink-metrics-slf4j</artifactId> |
| <version>${project.version}</version> |
| <scope>provided</scope> |
| </dependency> |
| <!-- end optional Flink metrics reporters --> |
| |
| <!-- start optional Flink libraries --> |
| |
| <dependency> |
| <groupId>org.apache.flink</groupId> |
| <artifactId>flink-python_${scala.binary.version}</artifactId> |
| <version>${project.version}</version> |
| <scope>provided</scope> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.apache.flink</groupId> |
| <artifactId>flink-cep_${scala.binary.version}</artifactId> |
| <version>${project.version}</version> |
| <scope>provided</scope> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.apache.flink</groupId> |
| <artifactId>flink-cep-scala_${scala.binary.version}</artifactId> |
| <version>${project.version}</version> |
| <scope>provided</scope> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.apache.flink</groupId> |
| <artifactId>flink-gelly_${scala.binary.version}</artifactId> |
| <version>${project.version}</version> |
| <scope>provided</scope> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.apache.flink</groupId> |
| <artifactId>flink-gelly-scala_${scala.binary.version}</artifactId> |
| <version>${project.version}</version> |
| <scope>provided</scope> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.apache.flink</groupId> |
| <artifactId>flink-ml_${scala.binary.version}</artifactId> |
| <version>${project.version}</version> |
| <scope>provided</scope> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.apache.flink</groupId> |
| <artifactId>flink-table_${scala.binary.version}</artifactId> |
| <version>${project.version}</version> |
| <scope>provided</scope> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.apache.flink</groupId> |
| <artifactId>flink-s3-fs-hadoop</artifactId> |
| <version>${project.version}</version> |
| <scope>provided</scope> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.apache.flink</groupId> |
| <artifactId>flink-s3-fs-presto</artifactId> |
| <version>${project.version}</version> |
| <scope>provided</scope> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.apache.flink</groupId> |
| <artifactId>flink-queryable-state-runtime_${scala.binary.version}</artifactId> |
| <version>${project.version}</version> |
| <scope>provided</scope> |
| </dependency> |
| <!-- end optional Flink libraries --> |
| |
| <!-- test dependencies --> |
| |
| <dependency> |
| <groupId>org.apache.flink</groupId> |
| <artifactId>flink-test-utils-junit</artifactId> |
| <version>${project.version}</version> |
| <scope>test</scope> |
| </dependency> |
| <!-- end test dependencies --> |
| </dependencies> |
| |
| <profiles> |
| <profile> |
| <!-- Copies that shaded Hadoop uber jar to the dist folder. --> |
| <id>include-hadoop</id> |
| <activation> |
| <property> |
| <name>!withoutHadoop</name> |
| </property> |
| </activation> |
| <build> |
| <plugins> |
| <plugin> |
| <artifactId>maven-assembly-plugin</artifactId> |
| <executions> |
| <execution> |
| <id>hadoop</id> |
| <phase>package</phase> |
| <goals> |
| <goal>single</goal> |
| </goals> |
| <configuration> |
| <descriptors> |
| <descriptor>src/main/assemblies/hadoop.xml</descriptor> |
| </descriptors> |
| <finalName>flink-${project.version}-bin</finalName> |
| <appendAssemblyId>false</appendAssemblyId> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| |
| </plugins> |
| </build> |
| </profile> |
| <profile> |
| <!-- Creates/Removes the 'build-target' symlink in the root directory (only Unix systems) --> |
| <id>symlink-build-target</id> |
| <activation> |
| <os> |
| <family>unix</family> |
| </os> |
| </activation> |
| <build> |
| <plugins> |
| <plugin> |
| <groupId>org.codehaus.mojo</groupId> |
| <artifactId>exec-maven-plugin</artifactId> |
| <version>1.5.0</version> |
| <executions> |
| <execution> |
| <id>remove-build-target-link</id> |
| <phase>clean</phase> |
| <goals> |
| <goal>exec</goal> |
| </goals> |
| <configuration> |
| <executable>rm</executable> |
| <arguments> |
| <argument>-f</argument> |
| <argument>${project.basedir}/../build-target</argument> |
| </arguments> |
| </configuration> |
| </execution> |
| <execution> |
| <id>create-build-target-link</id> |
| <phase>package</phase> |
| <goals> |
| <goal>exec</goal> |
| </goals> |
| <configuration> |
| <executable>ln</executable> |
| <arguments> |
| <argument>-sfn</argument> |
| <argument>${project.basedir}/target/flink-${project.version}-bin/flink-${project.version}</argument> |
| <argument>${project.basedir}/../build-target</argument> |
| </arguments> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| </plugins> |
| </build> |
| </profile> |
| |
| </profiles> |
| |
| <build> |
| <plugins> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-enforcer-plugin</artifactId> |
| <executions> |
| <execution> |
| <id>dependency-convergence</id> |
| <goals> |
| <goal>enforce</goal> |
| </goals> |
| <configuration> |
| <skip>true</skip> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| |
| <!--unit tests--> |
| <!--plugin must appear BEFORE the shade-plugin to not mess up package order and include the non-uber JAR into the assembly--> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-surefire-plugin</artifactId> |
| <configuration> |
| <reuseForks>false</reuseForks> |
| <!-- <workingDirectory>${project.build.testOutputDirectory}</workingDirectory> --> |
| <systemPropertyVariables> |
| <log.level>WARN</log.level> |
| </systemPropertyVariables> |
| </configuration> |
| </plugin> |
| |
| <!--Build uber jar--> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-shade-plugin</artifactId> |
| |
| <!-- we need to explicitly override this version, because the --> |
| <!-- earlier versions of the shade plugin have a bug relocating services --> |
| <version>3.0.0</version> |
| |
| <executions> |
| <execution> |
| <phase>package</phase> |
| <goals> |
| <goal>shade</goal> |
| </goals> |
| <configuration combine.self="override"> |
| <createDependencyReducedPom>false</createDependencyReducedPom> |
| <shadedArtifactAttached>false</shadedArtifactAttached> |
| <finalName>${project.artifactId}-${project.version}</finalName> |
| <filters> |
| <!-- Globally exclude log4j.properties from our JAR files. --> |
| <filter> |
| <artifact>*</artifact> |
| <excludes> |
| <exclude>log4j.properties</exclude> |
| <exclude>log4j-test.properties</exclude> |
| <exclude>META-INF/*.SF</exclude> |
| <exclude>META-INF/*.DSA</exclude> |
| <exclude>META-INF/*.RSA</exclude> |
| </excludes> |
| </filter> |
| </filters> |
| <artifactSet> |
| <excludes> |
| <exclude>org.slf4j:slf4j-log4j12</exclude> |
| <exclude>log4j:log4j</exclude> |
| </excludes> |
| </artifactSet> |
| <relocations> |
| <relocation> |
| <!-- relocate jackson services, which isn't done by flink-shaded-jackson --> |
| <pattern>com.fasterxml.jackson</pattern> |
| <shadedPattern>org.apache.flink.shaded.jackson2.com.fasterxml.jackson</shadedPattern> |
| </relocation> |
| </relocations> |
| <transformers> |
| <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer"> |
| <resource>reference.conf</resource> |
| </transformer> |
| <!-- The service transformer is needed to merge META-INF/services files --> |
| <transformer implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer"/> |
| <transformer implementation="org.apache.maven.plugins.shade.resource.ApacheNoticeResourceTransformer"/> |
| </transformers> |
| </configuration> |
| </execution> |
| <execution> |
| <!-- |
| Disable inherited shade-flink to prevent the Shade plugin from changing the project.basedir. The basedir |
| is changed by the Shade plugin when dependencyReducedPomLocation is set to a different location than the |
| original basedir. We do that in the root pom.xml. |
| --> |
| <id>shade-flink</id> |
| <phase>none</phase> |
| </execution> |
| </executions> |
| </plugin> |
| |
| <plugin> |
| <artifactId>maven-assembly-plugin</artifactId> |
| <executions> |
| <execution> |
| <id>bin</id> |
| <phase>package</phase> |
| <goals> |
| <goal>single</goal> |
| </goals> |
| <configuration> |
| <descriptors> |
| <descriptor>src/main/assemblies/bin.xml</descriptor> |
| </descriptors> |
| <finalName>flink-${project.version}-bin</finalName> |
| <appendAssemblyId>false</appendAssemblyId> |
| </configuration> |
| </execution> |
| <execution> |
| <id>opt</id> |
| <phase>package</phase> |
| <goals> |
| <goal>single</goal> |
| </goals> |
| <configuration> |
| <descriptors> |
| <descriptor>src/main/assemblies/opt.xml</descriptor> |
| </descriptors> |
| <finalName>flink-${project.version}-bin</finalName> |
| <appendAssemblyId>false</appendAssemblyId> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-deploy-plugin</artifactId> |
| <version>2.4</version><!--$NO-MVN-MAN-VER$--> |
| <configuration> |
| <skip>true</skip> |
| </configuration> |
| </plugin> |
| |
| <plugin> |
| <!-- Description: https://github.com/ktoso/maven-git-commit-id-plugin --> |
| <groupId>pl.project13.maven</groupId> |
| <artifactId>git-commit-id-plugin</artifactId> |
| <version>2.1.5</version> |
| <executions> |
| <execution> |
| <goals> |
| <goal>revision</goal> |
| </goals> |
| </execution> |
| </executions> |
| <configuration> |
| <dotGitDirectory>${project.basedir}/../.git</dotGitDirectory> |
| <generateGitPropertiesFile>true</generateGitPropertiesFile> |
| <failOnNoGitDirectory>false</failOnNoGitDirectory> |
| <skipPoms>false</skipPoms> |
| <generateGitPropertiesFilename>src/main/flink-bin/.version.properties</generateGitPropertiesFilename> |
| <gitDescribe> |
| <!-- don't generate the describe property --> |
| <skip>true</skip> |
| </gitDescribe> |
| </configuration> |
| </plugin> |
| </plugins> |
| </build> |
| |
| </project> |