|
67 | 67 | </dependencies>
|
68 | 68 |
|
69 | 69 | <build>
|
| 70 | + <!--<outputDirectory>target/scala-${scala.binary.version}/classes</outputDirectory>--> |
| 71 | + <!--<testOutputDirectory>target/scala-${scala.binary.version}/test-classes</testOutputDirectory>--> |
70 | 72 | <plugins>
|
71 | 73 | <plugin>
|
72 | 74 | <groupId>org.apache.maven.plugins</groupId>
|
|
84 | 86 | </execution>
|
85 | 87 | </executions>
|
86 | 88 | </plugin>
|
| 89 | + |
| 90 | + |
| 91 | + <!-- disable surefire --> |
87 | 92 | <plugin>
|
88 | 93 | <groupId>org.apache.maven.plugins</groupId>
|
89 |
| - <artifactId>maven-shade-plugin</artifactId> |
90 |
| - <version>2.4.3</version> |
| 94 | + <artifactId>maven-surefire-plugin</artifactId> |
| 95 | + <version>2.19.1</version> |
| 96 | + <configuration> |
| 97 | + <useFile>false</useFile> |
| 98 | + <disableXmlReport>true</disableXmlReport> |
| 99 | + <!--<forkCount>1</forkCount>--> |
| 100 | + <!--<reuseForks>false</reuseForks>--> |
| 101 | + |
| 102 | + <!-- If you have classpath issue like NoDefClassError,... --> |
| 103 | + <!-- useManifestOnlyJar>false</useManifestOnlyJar --> |
| 104 | + <threadCountSuites>4</threadCountSuites> |
| 105 | + <includes> |
| 106 | + <include>**/*Test.*</include> |
| 107 | + <include>**/*Suite.*</include> |
| 108 | + </includes> |
| 109 | + <skipTests>true</skipTests> |
| 110 | + </configuration> |
| 111 | + </plugin> |
| 112 | + |
| 113 | + <!-- Adding scala source directories to build path --> |
| 114 | + <plugin> |
| 115 | + <groupId>org.codehaus.mojo</groupId> |
| 116 | + <artifactId>build-helper-maven-plugin</artifactId> |
| 117 | + <version>1.12</version> |
91 | 118 | <executions>
|
| 119 | + <!-- Add src/main/scala to eclipse build path --> |
92 | 120 | <execution>
|
93 |
| - <phase>package</phase> |
| 121 | + <id>add-source</id> |
| 122 | + <phase>generate-sources</phase> |
94 | 123 | <goals>
|
95 |
| - <goal>shade</goal> |
| 124 | + <goal>add-source</goal> |
96 | 125 | </goals>
|
97 | 126 | <configuration>
|
98 |
| - <artifactSet> |
99 |
| - <excludes> |
100 |
| - <exclude>com.esotericsoftware.kryo:kryo</exclude> |
101 |
| - <exclude>com.esotericsoftware.minlog:minlog</exclude> |
102 |
| - <exclude>com.fasterxml.jackson.core:jackson*</exclude> |
103 |
| - <exclude>com.github.scopt:scopt_2.11</exclude> |
104 |
| - <exclude>com.google.code.findbugs:jsr305</exclude> |
105 |
| - <exclude>com.google.protobuf:protobuf-java</exclude> |
106 |
| - <exclude>com.jamesmurty.utils:java-xmlbuilder</exclude> |
107 |
| - <exclude>com.jcraft:jsch</exclude> |
108 |
| - <exclude>com.sun.jersey:jersey-core</exclude> |
109 |
| - <exclude>com.thoughtworks.paranamer:paranamer</exclude> |
110 |
| - <exclude>com.typesafe:config</exclude> |
111 |
| - <exclude>com.typesafe.akka:*</exclude> |
112 |
| - <exclude>com.twitter:chill_2.11</exclude> |
113 |
| - <exclude>commons-beanutils:commons-beanutils-bean-collections</exclude> |
114 |
| - <exclude>commons-cli:commons-cli</exclude> |
115 |
| - <exclude>commons-codec:commons-codec</exclude> |
116 |
| - <exclude>commons-configuration:commons-configuration</exclude> |
117 |
| - <exclude>commons-daemon:commons-daemon</exclude> |
118 |
| - <exclude>commons-digester:commons-digester</exclude> |
119 |
| - <exclude>commons-el:commons-el</exclude> |
120 |
| - <exclude>commons-lang:commons-lang</exclude> |
121 |
| - <exclude>commons-logging:commons-logging</exclude> |
122 |
| - <exclude>commons-net:commons-net</exclude> |
123 |
| - <exclude>commons-collections:commons-collections</exclude> |
124 |
| - <exclude>io.netty:netty*</exclude> |
125 |
| - <exclude>io.dropwizard.metrics:metrics*</exclude> |
126 |
| - <exclude>javax.activation:activation</exclude> |
127 |
| - <exclude>javax.servlet:servlet-api</exclude> |
128 |
| - <exclude>javax.xml.bind:jaxb-api</exclude> |
129 |
| - <exclude>javax.xml.stream:stax-api</exclude> |
130 |
| - <exclude>jline:jline</exclude> |
131 |
| - <exclude>junit:junit</exclude> |
132 |
| - <exclude>org.apache.avro:avro</exclude> |
133 |
| - <exclude>org.apache.commons:commons-compress</exclude> |
134 |
| - <exclude>org.apache.commons:commons-lang3</exclude> |
135 |
| - <exclude>org.apache.commons:commons-math3</exclude> |
136 |
| - <exclude>org.apache.flink:*</exclude> |
137 |
| - <exclude>org.apache.zookeeper:zookeeper</exclude> |
138 |
| - <exclude>org.clapper:grizzled-slf4j_2.11</exclude> |
139 |
| - <exclude>org.codehaus.jackson:jackson-*</exclude> |
140 |
| - <exclude>org.javassist:javassist</exclude> |
141 |
| - <exclude>org.mortbay.jetty:jetty-util</exclude> |
142 |
| - <exclude>org.objenesis:objenesis</exclude> |
143 |
| - <exclude>org.scala-lang:*</exclude> |
144 |
| - <exclude>org.uncommons.maths:uncommons-maths</exclude> |
145 |
| - <exclude>org.xerial.snappy:snappy-java</exclude> |
146 |
| - <exclude>xmlenc:xmlenc</exclude> |
147 |
| - </excludes> |
148 |
| - </artifactSet> |
149 |
| - <filters> |
150 |
| - <filter> |
151 |
| - <artifact>*:*</artifact> |
152 |
| - <excludes> |
153 |
| - <exclude>META-INF/*.SF</exclude> |
154 |
| - <exclude>META-INF/*.DSA</exclude> |
155 |
| - <exclude>META-INF/*.RSA</exclude> |
156 |
| - </excludes> |
157 |
| - </filter> |
158 |
| - </filters> |
159 |
| - <createDependencyReducedPom>false</createDependencyReducedPom> |
| 127 | + <sources> |
| 128 | + <source>src/main/scala</source> |
| 129 | + </sources> |
| 130 | + </configuration> |
| 131 | + </execution> |
| 132 | + <!-- Add src/test/scala to eclipse build path --> |
| 133 | + <execution> |
| 134 | + <id>add-test-source</id> |
| 135 | + <phase>generate-test-sources</phase> |
| 136 | + <goals> |
| 137 | + <goal>add-test-source</goal> |
| 138 | + </goals> |
| 139 | + <configuration> |
| 140 | + <sources> |
| 141 | + <source>src/test/scala</source> |
| 142 | + </sources> |
160 | 143 | </configuration>
|
161 | 144 | </execution>
|
162 | 145 | </executions>
|
163 | 146 | </plugin>
|
164 |
| - |
165 | 147 | </plugins>
|
166 | 148 | </build>
|
167 |
| - |
168 | 149 | <profiles>
|
169 | 150 | <profile>
|
170 |
| - <!-- A profile that does everything correctly: We set the Flink dependencies |
171 |
| - to provided --> |
| 151 | + <!-- A profile that does everything correctly: |
| 152 | + We set the Flink dependencies to provided --> |
172 | 153 | <id>build-jar</id>
|
173 | 154 | <activation>
|
174 | 155 | <activeByDefault>false</activeByDefault>
|
|
191 | 172 | </dependency>
|
192 | 173 | </dependencies>
|
193 | 174 | </profile>
|
| 175 | + <profile> |
| 176 | + <id>dist</id> |
| 177 | + <activation> |
| 178 | + <property> |
| 179 | + <name>dist</name> |
| 180 | + </property> |
| 181 | + </activation> |
| 182 | + <!-- This profile uses the assembly plugin to create a special "dist" package for BigTop |
| 183 | + that contains Spark but not the Hadoop JARs it depends on. --> |
| 184 | + <build> |
| 185 | + <plugins> |
| 186 | + <!-- We use the maven-shade plugin to create a fat jar that contains all dependencies |
| 187 | + except flink and it's transitive dependencies. The resulting fat-jar can be executed |
| 188 | + on a cluster. Change the value of Program-Class if your program entry point changes. --> |
| 189 | + <plugin> |
| 190 | + <groupId>org.apache.maven.plugins</groupId> |
| 191 | + <artifactId>maven-shade-plugin</artifactId> |
| 192 | + <version>2.4.1</version> |
| 193 | + <executions> |
| 194 | + <!-- Run shade goal on package phase --> |
| 195 | + <execution> |
| 196 | + <phase>package</phase> |
| 197 | + <goals> |
| 198 | + <goal>shade</goal> |
| 199 | + </goals> |
| 200 | + <configuration> |
| 201 | + <minimizeJar>true</minimizeJar> |
| 202 | + <artifactSet> |
| 203 | + <excludes> |
| 204 | + <!-- This list contains all dependencies of flink-dist |
| 205 | + Everything else will be packaged into the fat-jar |
| 206 | + --> |
| 207 | + <exclude>org.apache.flink:flink-shaded-*_2.11</exclude> |
| 208 | + <exclude>org.apache.flink:flink-core_2.11</exclude> |
| 209 | + <exclude>org.apache.flink:flink-java*</exclude> |
| 210 | + <exclude>org.apache.flink:flink-java_2.11</exclude> |
| 211 | + <exclude>org.apache.flink:flink-scala_2.11</exclude> |
| 212 | + <exclude>org.apache.flink:flink-runtime_2.11</exclude> |
| 213 | + <exclude>org.apache.flink:flink-optimizer_2.11</exclude> |
| 214 | + <exclude>org.apache.flink:flink-clients_2.11</exclude> |
| 215 | + <exclude>org.apache.flink:flink-avro_2.11</exclude> |
| 216 | + <exclude>org.apache.flink:flink-java-examples_2.11</exclude> |
| 217 | + <exclude>org.apache.flink:flink-scala-examples_2.11</exclude> |
| 218 | + <exclude>org.apache.flink:flink-streaming-examples_2.11</exclude> |
| 219 | + <exclude>org.apache.flink:flink-streaming-java_2.11</exclude> |
| 220 | + |
| 221 | + <!-- Also exclude very big transitive dependencies of Flink |
| 222 | +
|
| 223 | + WARNING: You have to remove these excludes if your code relies on other |
| 224 | + versions of these dependencies. |
| 225 | +
|
| 226 | + --> |
| 227 | + |
| 228 | + <exclude>org.scala-lang:scala-library</exclude> |
| 229 | + <exclude>org.scala-lang:scala-compiler</exclude> |
| 230 | + <exclude>org.scala-lang:scala-reflect</exclude> |
| 231 | + <exclude>com.amazonaws:aws-java-sdk</exclude> |
| 232 | + <exclude>com.typesafe.akka:akka-actor_*</exclude> |
| 233 | + <exclude>com.typesafe.akka:akka-remote_*</exclude> |
| 234 | + <exclude>com.typesafe.akka:akka-slf4j_*</exclude> |
| 235 | + <exclude>io.netty:netty-all</exclude> |
| 236 | + <exclude>io.netty:netty</exclude> |
| 237 | + <exclude>org.eclipse.jetty:jetty-server</exclude> |
| 238 | + <exclude>org.eclipse.jetty:jetty-continuation</exclude> |
| 239 | + <exclude>org.eclipse.jetty:jetty-http</exclude> |
| 240 | + <exclude>org.eclipse.jetty:jetty-io</exclude> |
| 241 | + <exclude>org.eclipse.jetty:jetty-util</exclude> |
| 242 | + <exclude>org.eclipse.jetty:jetty-security</exclude> |
| 243 | + <exclude>org.eclipse.jetty:jetty-servlet</exclude> |
| 244 | + <exclude>org.gephi:*</exclude> |
| 245 | + <exclude>org.netbeans.api:*</exclude> |
| 246 | + |
| 247 | + <exclude>commons-fileupload:commons-fileupload</exclude> |
| 248 | + <exclude>org.apache.avro:avro</exclude> |
| 249 | + <exclude>commons-collections:commons-collections</exclude> |
| 250 | + <exclude>org.codehaus.jackson:jackson-core-asl</exclude> |
| 251 | + <exclude>org.codehaus.jackson:jackson-mapper-asl</exclude> |
| 252 | + <exclude>com.thoughtworks.paranamer:paranamer</exclude> |
| 253 | + <exclude>org.xerial.snappy:snappy-java</exclude> |
| 254 | + <exclude>org.apache.commons:commons-compress</exclude> |
| 255 | + <exclude>org.tukaani:xz</exclude> |
| 256 | + <exclude>com.esotericsoftware.kryo:kryo</exclude> |
| 257 | + <exclude>com.esotericsoftware.minlog:minlog</exclude> |
| 258 | + <exclude>org.objenesis:objenesis</exclude> |
| 259 | + <exclude>com.twitter:chill_*</exclude> |
| 260 | + <exclude>com.twitter:chill-java</exclude> |
| 261 | + <exclude>com.twitter:chill-avro_*</exclude> |
| 262 | + <exclude>com.twitter:chill-bijection_*</exclude> |
| 263 | + <exclude>com.twitter:bijection-core_*</exclude> |
| 264 | + <exclude>com.twitter:bijection-avro_*</exclude> |
| 265 | + <exclude>commons-lang:commons-lang</exclude> |
| 266 | + <exclude>junit:junit</exclude> |
| 267 | + <exclude>de.javakaffee:kryo-serializers</exclude> |
| 268 | + <exclude>joda-time:joda-time</exclude> |
| 269 | + <exclude>org.apache.commons:commons-lang3</exclude> |
| 270 | + <exclude>org.slf4j:slf4j-api</exclude> |
| 271 | + <exclude>org.slf4j:slf4j-log4j12</exclude> |
| 272 | + <exclude>log4j:log4j</exclude> |
| 273 | + <exclude>org.apache.commons:commons-math</exclude> |
| 274 | + <exclude>org.apache.sling:org.apache.sling.commons.json</exclude> |
| 275 | + <exclude>commons-logging:commons-logging</exclude> |
| 276 | + <exclude>org.apache.httpcomponents:httpclient</exclude> |
| 277 | + <exclude>org.apache.httpcomponents:httpcore</exclude> |
| 278 | + <exclude>commons-codec:commons-codec</exclude> |
| 279 | + <exclude>com.fasterxml.jackson.core:jackson-core</exclude> |
| 280 | + <exclude>com.fasterxml.jackson.core:jackson-databind</exclude> |
| 281 | + <exclude>com.fasterxml.jackson.core:jackson-annotations</exclude> |
| 282 | + <exclude>org.codehaus.jettison:jettison</exclude> |
| 283 | + <exclude>stax:stax-api</exclude> |
| 284 | + <exclude>com.typesafe:config</exclude> |
| 285 | + <exclude>org.uncommons.maths:uncommons-maths</exclude> |
| 286 | + <!--<exclude>com.github.scopt:scopt_*</exclude>--> |
| 287 | + <exclude>org.mortbay.jetty:servlet-api</exclude> |
| 288 | + <exclude>commons-io:commons-io</exclude> |
| 289 | + <exclude>commons-cli:commons-cli</exclude> |
| 290 | + |
| 291 | + <exclude>sqlite:*</exclude> |
| 292 | + <exclude>netbeans:*</exclude> |
| 293 | + <exclude>org.apache.xmlgraphics:*</exclude> |
| 294 | + <exclude>mysql:*</exclude> |
| 295 | + </excludes> |
| 296 | + </artifactSet> |
| 297 | + <filters> |
| 298 | + <filter> |
| 299 | + <artifact>org.apache.flink:*</artifact> |
| 300 | + <excludes> |
| 301 | + <exclude>org/apache/flink/shaded/**</exclude> |
| 302 | + <exclude>web-docs/**</exclude> |
| 303 | + </excludes> |
| 304 | + </filter> |
| 305 | + <filter> |
| 306 | + <!-- Do not copy the signatures in the META-INF folder. |
| 307 | + Otherwise, this might cause SecurityExceptions when using the JAR. --> |
| 308 | + <artifact>*:*</artifact> |
| 309 | + <excludes> |
| 310 | + <exclude>META-INF/*.SF</exclude> |
| 311 | + <exclude>META-INF/*.DSA</exclude> |
| 312 | + <exclude>META-INF/*.RSA</exclude> |
| 313 | + </excludes> |
| 314 | + </filter> |
| 315 | + </filters> |
| 316 | + <finalName>dist-${project.artifactId}-${project.version}</finalName> |
| 317 | + <createDependencyReducedPom>false</createDependencyReducedPom> |
| 318 | + <relocations> |
| 319 | + <relocation> |
| 320 | + <pattern>scopt</pattern> |
| 321 | + <shadedPattern>scopt.shaded</shadedPattern> |
| 322 | + </relocation> |
| 323 | + </relocations> |
| 324 | + </configuration> |
| 325 | + </execution> |
| 326 | + </executions> |
| 327 | + </plugin> |
| 328 | + </plugins> |
| 329 | + </build> |
| 330 | + </profile> |
194 | 331 | </profiles>
|
195 | 332 | <repositories>
|
196 | 333 | <repository>
|
|
0 commit comments