mirror of
https://github.com/NationalSecurityAgency/timely.git
synced 2026-11-08 08:12:14 -10:00
258 lines
11 KiB
XML
258 lines
11 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<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>timely</groupId>
|
|
<artifactId>timely</artifactId>
|
|
<version>1.3.1-SNAPSHOT</version>
|
|
</parent>
|
|
<artifactId>timely-analytics</artifactId>
|
|
<!--
|
|
|
|
Execute "mvn clean package -Pbuild-jar"
|
|
to build a jar file out of this project!
|
|
|
|
How to use the Flink Quickstart pom:
|
|
|
|
a) Adding new dependencies:
|
|
You can add dependencies to the list below.
|
|
Please check if the maven-shade-plugin below is filtering out your dependency
|
|
and remove the exclude from there.
|
|
|
|
b) Build a jar for running on the cluster:
|
|
There are two options for creating a jar from this project
|
|
|
|
b.1) "mvn clean package" -> this will create a fat jar which contains all
|
|
dependencies necessary for running the jar created by this pom in a cluster.
|
|
The "maven-shade-plugin" excludes everything that is provided on a running Flink cluster.
|
|
|
|
b.2) "mvn clean package -Pbuild-jar" -> This will also create a fat-jar, but with much
|
|
nicer dependency exclusion handling. This approach is preferred and leads to
|
|
much cleaner jar files.
|
|
-->
|
|
<dependencies>
|
|
<dependency>
|
|
<groupId>org.apache.flink</groupId>
|
|
<artifactId>flink-clients_2.11</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apache.flink</groupId>
|
|
<artifactId>flink-java</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apache.flink</groupId>
|
|
<artifactId>flink-streaming-java_2.11</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>timely</groupId>
|
|
<artifactId>timely-client</artifactId>
|
|
<exclusions>
|
|
<exclusion>
|
|
<groupId>org.apache.logging.log4j</groupId>
|
|
<artifactId>*</artifactId>
|
|
</exclusion>
|
|
</exclusions>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>junit</groupId>
|
|
<artifactId>junit</artifactId>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>timely</groupId>
|
|
<artifactId>timely-common</artifactId>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
</dependencies>
|
|
<build>
|
|
<pluginManagement>
|
|
<plugins>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-compiler-plugin</artifactId>
|
|
<configuration>
|
|
<compilerId>jdt</compilerId>
|
|
</configuration>
|
|
<dependencies>
|
|
<dependency>
|
|
<groupId>org.eclipse.tycho</groupId>
|
|
<artifactId>tycho-compiler-jdt</artifactId>
|
|
<version>1.4.0</version>
|
|
</dependency>
|
|
</dependencies>
|
|
</plugin>
|
|
</plugins>
|
|
</pluginManagement>
|
|
<plugins>
|
|
<plugin>
|
|
<groupId>org.jacoco</groupId>
|
|
<artifactId>jacoco-maven-plugin</artifactId>
|
|
</plugin>
|
|
<!-- We use the maven-shade plugin to create a fat jar that contains all dependencies
|
|
except flink and it's transitive dependencies. The resulting fat-jar can be executed
|
|
on a cluster. Change the value of Program-Class if your program entry point changes. -->
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-shade-plugin</artifactId>
|
|
<executions>
|
|
<!-- Run shade goal on package phase -->
|
|
<execution>
|
|
<goals>
|
|
<goal>shade</goal>
|
|
</goals>
|
|
<phase>package</phase>
|
|
<configuration>
|
|
<artifactSet>
|
|
<excludes>
|
|
<!-- This list contains all dependencies of flink-dist
|
|
Everything else will be packaged into the fat-jar
|
|
-->
|
|
<exclude>org.apache.flink:flink-annotations</exclude>
|
|
<exclude>org.apache.flink:flink-shaded-hadoop1_2.11</exclude>
|
|
<exclude>org.apache.flink:flink-shaded-hadoop2</exclude>
|
|
<exclude>org.apache.flink:flink-shaded-curator-recipes</exclude>
|
|
<exclude>org.apache.flink:flink-core</exclude>
|
|
<exclude>org.apache.flink:flink-java</exclude>
|
|
<exclude>org.apache.flink:flink-scala_2.11</exclude>
|
|
<exclude>org.apache.flink:flink-runtime_2.11</exclude>
|
|
<exclude>org.apache.flink:flink-optimizer_2.11</exclude>
|
|
<exclude>org.apache.flink:flink-clients_2.11</exclude>
|
|
<exclude>org.apache.flink:flink-avro_2.11</exclude>
|
|
<exclude>org.apache.flink:flink-examples-batch_2.11</exclude>
|
|
<exclude>org.apache.flink:flink-examples-streaming_2.11</exclude>
|
|
<exclude>org.apache.flink:flink-streaming-java_2.11</exclude>
|
|
<!-- Also exclude very big transitive dependencies of Flink
|
|
WARNING: You have to remove these excludes if your code relies on other
|
|
versions of these dependencies.
|
|
-->
|
|
<exclude>org.scala-lang:scala-library</exclude>
|
|
<exclude>org.scala-lang:scala-compiler</exclude>
|
|
<exclude>org.scala-lang:scala-reflect</exclude>
|
|
<exclude>com.typesafe.akka:akka-actor_*</exclude>
|
|
<exclude>com.typesafe.akka:akka-remote_*</exclude>
|
|
<exclude>com.typesafe.akka:akka-slf4j_*</exclude>
|
|
<exclude>io.netty:netty-all</exclude>
|
|
<exclude>io.netty:netty</exclude>
|
|
<exclude>commons-fileupload:commons-fileupload</exclude>
|
|
<exclude>org.apache.avro:avro</exclude>
|
|
<exclude>commons-collections:commons-collections</exclude>
|
|
<exclude>org.codehaus.jackson:jackson-core-asl</exclude>
|
|
<exclude>org.codehaus.jackson:jackson-mapper-asl</exclude>
|
|
<exclude>com.thoughtworks.paranamer:paranamer</exclude>
|
|
<exclude>org.xerial.snappy:snappy-java</exclude>
|
|
<exclude>org.apache.commons:commons-compress</exclude>
|
|
<exclude>org.tukaani:xz</exclude>
|
|
<exclude>com.esotericsoftware.kryo:kryo</exclude>
|
|
<exclude>com.esotericsoftware.minlog:minlog</exclude>
|
|
<exclude>org.objenesis:objenesis</exclude>
|
|
<exclude>com.twitter:chill_*</exclude>
|
|
<exclude>com.twitter:chill-java</exclude>
|
|
<exclude>commons-lang:commons-lang</exclude>
|
|
<exclude>junit:junit</exclude>
|
|
<exclude>org.apache.commons:commons-lang3</exclude>
|
|
<exclude>org.slf4j:slf4j-api</exclude>
|
|
<exclude>org.slf4j:slf4j-log4j12</exclude>
|
|
<exclude>log4j:log4j</exclude>
|
|
<exclude>org.apache.commons:commons-math</exclude>
|
|
<exclude>org.apache.sling:org.apache.sling.commons.json</exclude>
|
|
<exclude>commons-logging:commons-logging</exclude>
|
|
<exclude>commons-codec:commons-codec</exclude>
|
|
<exclude>com.fasterxml.jackson.core:jackson-core</exclude>
|
|
<exclude>com.fasterxml.jackson.core:jackson-databind</exclude>
|
|
<exclude>com.fasterxml.jackson.core:jackson-annotations</exclude>
|
|
<exclude>stax:stax-api</exclude>
|
|
<exclude>com.typesafe:config</exclude>
|
|
<exclude>org.uncommons.maths:uncommons-maths</exclude>
|
|
<exclude>com.github.scopt:scopt_*</exclude>
|
|
<exclude>commons-io:commons-io</exclude>
|
|
<exclude>commons-cli:commons-cli</exclude>
|
|
</excludes>
|
|
</artifactSet>
|
|
<filters>
|
|
<filter>
|
|
<artifact>org.apache.flink:*</artifact>
|
|
<excludes>
|
|
<!-- exclude shaded google but include shaded curator -->
|
|
<exclude>org/apache/flink/shaded/com/**</exclude>
|
|
<exclude>web-docs/**</exclude>
|
|
</excludes>
|
|
</filter>
|
|
<filter>
|
|
<!-- Do not copy the signatures in the META-INF folder.
|
|
Otherwise, this might cause SecurityExceptions when using the JAR.
|
|
-->
|
|
<artifact>*:*</artifact>
|
|
<excludes>
|
|
<exclude>META-INF/*.SF</exclude>
|
|
<exclude>META-INF/*.DSA</exclude>
|
|
<exclude>META-INF/*.RSA</exclude>
|
|
</excludes>
|
|
</filter>
|
|
</filters>
|
|
<!-- If you want to use ./bin/flink run <quickstart jar> uncomment the following lines.
|
|
This will add a Main-Class entry to the manifest file -->
|
|
<!--
|
|
<transformers>
|
|
<transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
|
|
<mainClass>jar.StreamingJob</mainClass>
|
|
</transformer>
|
|
</transformers>
|
|
-->
|
|
<createDependencyReducedPom>false</createDependencyReducedPom>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.codehaus.mojo</groupId>
|
|
<artifactId>buildnumber-maven-plugin</artifactId>
|
|
</plugin>
|
|
</plugins>
|
|
</build>
|
|
<profiles>
|
|
<profile>
|
|
<!-- Profile for packaging correct JAR files -->
|
|
<id>build-jar</id>
|
|
<dependencies>
|
|
<dependency>
|
|
<groupId>org.apache.flink</groupId>
|
|
<artifactId>flink-clients_2.11</artifactId>
|
|
<scope>provided</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apache.flink</groupId>
|
|
<artifactId>flink-java</artifactId>
|
|
<scope>provided</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apache.flink</groupId>
|
|
<artifactId>flink-streaming-java_2.11</artifactId>
|
|
<scope>provided</scope>
|
|
</dependency>
|
|
</dependencies>
|
|
<build>
|
|
<plugins>
|
|
<!-- disable the exclusion rules -->
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-shade-plugin</artifactId>
|
|
<executions>
|
|
<execution>
|
|
<goals>
|
|
<goal>shade</goal>
|
|
</goals>
|
|
<phase>package</phase>
|
|
<configuration>
|
|
<artifactSet>
|
|
<excludes combine.self="override" />
|
|
</artifactSet>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
</plugins>
|
|
</build>
|
|
</profile>
|
|
</profiles>
|
|
</project>
|