Support generating assembling JAR for store-sdk module
[carbondata.git] / pom.xml
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!--
3 Licensed to the Apache Software Foundation (ASF) under one or more
4 contributor license agreements. See the NOTICE file distributed with
5 this work for additional information regarding copyright ownership.
6 The ASF licenses this file to You under the Apache License, Version 2.0
7 (the "License"); you may not use this file except in compliance with
8 the License. You may obtain a copy of the License at
9
10 http://www.apache.org/licenses/LICENSE-2.0
11
12 Unless required by applicable law or agreed to in writing, software
13 distributed under the License is distributed on an "AS IS" BASIS,
14 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 See the License for the specific language governing permissions and
16 limitations under the License.
17 -->
18 <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">
19
20 <modelVersion>4.0.0</modelVersion>
21
22 <parent>
23 <groupId>org.apache</groupId>
24 <artifactId>apache</artifactId>
25 <version>17</version>
26 </parent>
27
28 <groupId>org.apache.carbondata</groupId>
29 <artifactId>carbondata-parent</artifactId>
30 <name>Apache CarbonData :: Parent</name>
31 <description>Apache CarbonData is an indexed columnar data format for fast analytics
32 on big data platform, e.g.Apache Hadoop, Apache Spark, etc.
33 </description>
34 <url>http://carbondata.apache.org</url>
35 <inceptionYear>2016</inceptionYear>
36 <packaging>pom</packaging>
37
38 <version>1.3.0-SNAPSHOT</version>
39
40 <licenses>
41 <license>
42 <name>Apache License, Version 2.0</name>
43 <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
44 <distribution>repo</distribution>
45 </license>
46 </licenses>
47
48 <scm>
49 <connection>scm:git:https://git-wip-us.apache.org/repos/asf/carbondata.git</connection>
50 <developerConnection>scm:git:https://git-wip-us.apache.org/repos/asf/carbondata.git</developerConnection>
51 <url>https://git-wip-us.apache.org/repos/asf/carbondata.git</url>
52 <tag>HEAD</tag>
53 </scm>
54
55 <issueManagement>
56 <system>jira</system>
57 <url>https://issues.apache.org/jira/browse/CARBONDATA</url>
58 </issueManagement>
59
60 <mailingLists>
61 <mailingList>
62 <name>CarbonData Dev</name>
63 <subscribe>dev-subscribe@carbondata.apache.org</subscribe>
64 <unsubscribe>dev-unsubscribe@carbondata.apache.org</unsubscribe>
65 <post>dev@carbondata.apache.org</post>
66 </mailingList>
67 <mailingList>
68 <name>CarbonData Issues</name>
69 <subscribe>issues-subscribe@carbondata.apache.org</subscribe>
70 <unsubscribe>issues-unsubscribe@carbondata.apache.org</unsubscribe>
71 <post>issues@carbondata.apache.org</post>
72 </mailingList>
73 <mailingList>
74 <name>CarbonData User</name>
75 <subscribe>user-subscribe@carbondata.apache.org</subscribe>
76 <unsubscribe>user-unsubscribe@carbondata.apache.org</unsubscribe>
77 <post>user@carbondata.apache.org</post>
78 </mailingList>
79 <mailingList>
80 <name>CarbonData Commits</name>
81 <subscribe>commits-subscribe@carbondata.apache.org</subscribe>
82 <unsubscribe>commits-unsubscribe@carbondata.apache.org</unsubscribe>
83 <post>commits@carbondata.apache.org</post>
84 </mailingList>
85 </mailingLists>
86
87 <developers>
88 <developer>
89 <name>The Apache CarbonData Team</name>
90 <email>dev@carbondata.apache.org</email>
91 <url>http://carbondata.apache.org</url>
92 <organization>Apache Software Foundation</organization>
93 <organizationUrl>http://www.apache.org</organizationUrl>
94 </developer>
95 </developers>
96
97 <modules>
98 <module>common</module>
99 <module>core</module>
100 <module>processing</module>
101 <module>hadoop</module>
102 <module>store/sdk</module>
103 <module>integration/spark-common</module>
104 <module>integration/spark-common-test</module>
105 <module>assembly</module>
106 </modules>
107
108 <properties>
109 <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
110 <snappy.version>1.1.2.6</snappy.version>
111 <hadoop.version>2.7.2</hadoop.version>
112 <scala.binary.version>2.11</scala.binary.version>
113 <scala.version>2.11.8</scala.version>
114 <hadoop.deps.scope>compile</hadoop.deps.scope>
115 <spark.deps.scope>compile</spark.deps.scope>
116 <scala.deps.scope>compile</scala.deps.scope>
117 <dev.path>${basedir}/dev</dev.path>
118 <spark.master.url>local[2]</spark.master.url>
119 <hdfs.url>local</hdfs.url>
120 <suite.name>org.apache.carbondata.cluster.sdv.suite.SDVSuites</suite.name>
121 <script.exetension>.sh</script.exetension>
122 <carbon.hive.based.metastore>false</carbon.hive.based.metastore>
123 </properties>
124
125 <repositories>
126 <repository>
127 <id>central</id>
128 <!-- This should be at top, it makes maven try the central repo first and then others and hence faster dep resolution -->
129 <name>Maven Repository</name>
130 <url>http://repo1.maven.org/maven2</url>
131 <releases>
132 <enabled>true</enabled>
133 </releases>
134 </repository>
135 </repositories>
136
137 <dependencyManagement>
138 <dependencies>
139 <dependency>
140 <groupId>org.apache.hadoop</groupId>
141 <artifactId>hadoop-common</artifactId>
142 <version>${hadoop.version}</version>
143 <scope>${hadoop.deps.scope}</scope>
144 <exclusions>
145 <exclusion>
146 <groupId>io.netty</groupId>
147 <artifactId>netty-all</artifactId>
148 </exclusion>
149 <exclusion>
150 <groupId>javax.servlet</groupId>
151 <artifactId>*</artifactId>
152 </exclusion>
153 <exclusion>
154 <groupId>javax.servlet.jsp</groupId>
155 <artifactId>*</artifactId>
156 </exclusion>
157 </exclusions>
158 </dependency>
159 <dependency>
160 <groupId>org.apache.hadoop</groupId>
161 <artifactId>hadoop-hdfs</artifactId>
162 <version>${hadoop.version}</version>
163 <scope>${hadoop.deps.scope}</scope>
164 <exclusions>
165 <exclusion>
166 <groupId>io.netty</groupId>
167 <artifactId>netty-all</artifactId>
168 </exclusion>
169 <exclusion>
170 <groupId>javax.servlet</groupId>
171 <artifactId>*</artifactId>
172 </exclusion>
173 <exclusion>
174 <groupId>javax.servlet.jsp</groupId>
175 <artifactId>*</artifactId>
176 </exclusion>
177 </exclusions>
178 </dependency>
179 <dependency>
180 <groupId>org.apache.hadoop</groupId>
181 <artifactId>hadoop-mapreduce-client-core</artifactId>
182 <version>${hadoop.version}</version>
183 <scope>${hadoop.deps.scope}</scope>
184 <exclusions>
185 <exclusion>
186 <groupId>io.netty</groupId>
187 <artifactId>netty-all</artifactId>
188 </exclusion>
189 <exclusion>
190 <groupId>javax.servlet</groupId>
191 <artifactId>*</artifactId>
192 </exclusion>
193 <exclusion>
194 <groupId>javax.servlet.jsp</groupId>
195 <artifactId>*</artifactId>
196 </exclusion>
197 </exclusions>
198 </dependency>
199 <dependency>
200 <groupId>org.apache.spark</groupId>
201 <artifactId>spark-sql_${scala.binary.version}</artifactId>
202 <version>${spark.version}</version>
203 <scope>${spark.deps.scope}</scope>
204 </dependency>
205 <dependency>
206 <groupId>org.apache.spark</groupId>
207 <artifactId>spark-hive-thriftserver_${scala.binary.version}</artifactId>
208 <version>${spark.version}</version>
209 <scope>${spark.deps.scope}</scope>
210 </dependency>
211 <dependency>
212 <groupId>org.apache.spark</groupId>
213 <artifactId>spark-repl_${scala.binary.version}</artifactId>
214 <version>${spark.version}</version>
215 <scope>${spark.deps.scope}</scope>
216 </dependency>
217 <dependency>
218 <groupId>org.scala-lang</groupId>
219 <artifactId>scala-compiler</artifactId>
220 <version>${scala.version}</version>
221 <scope>${scala.deps.scope}</scope>
222 </dependency>
223 <dependency>
224 <groupId>org.scala-lang</groupId>
225 <artifactId>scala-reflect</artifactId>
226 <version>${scala.version}</version>
227 <scope>${scala.deps.scope}</scope>
228 </dependency>
229 <dependency>
230 <groupId>org.scala-lang</groupId>
231 <artifactId>scala-library</artifactId>
232 <version>${scala.version}</version>
233 <scope>${scala.deps.scope}</scope>
234 </dependency>
235 <dependency>
236 <groupId>org.scala-lang</groupId>
237 <artifactId>scala-actors</artifactId>
238 <version>${scala.version}</version>
239 <scope>${scala.deps.scope}</scope>
240 </dependency>
241 <dependency>
242 <groupId>org.scala-lang</groupId>
243 <artifactId>scalap</artifactId>
244 <version>${scala.version}</version>
245 <scope>${scala.deps.scope}</scope>
246 </dependency>
247 <dependency>
248 <groupId>org.jmockit</groupId>
249 <artifactId>jmockit</artifactId>
250 <version>1.10</version>
251 <exclusions>
252 <exclusion>
253 <groupId>*</groupId>
254 <artifactId>*</artifactId>
255 </exclusion>
256 </exclusions>
257 <scope>test</scope>
258 </dependency>
259 <dependency>
260 <groupId>junit</groupId>
261 <artifactId>junit</artifactId>
262 <version>4.11</version>
263 <scope>test</scope>
264 </dependency>
265 <dependency>
266 <groupId>org.scalatest</groupId>
267 <artifactId>scalatest_${scala.binary.version}</artifactId>
268 <version>2.2.1</version>
269 </dependency>
270 </dependencies>
271 </dependencyManagement>
272
273 <build>
274 <pluginManagement>
275 <plugins>
276 <plugin>
277 <groupId>org.apache.maven.plugins</groupId>
278 <artifactId>maven-javadoc-plugin</artifactId>
279 <configuration>
280 <additionalparam>-Xdoclint:missing</additionalparam>
281 </configuration>
282 </plugin>
283 <plugin>
284 <groupId>org.apache.maven.plugins</groupId>
285 <artifactId>maven-shade-plugin</artifactId>
286 <version>2.4.3</version>
287 </plugin>
288 </plugins>
289 </pluginManagement>
290
291 <plugins>
292 <plugin>
293 <groupId>org.apache.maven.plugins</groupId>
294 <artifactId>maven-checkstyle-plugin</artifactId>
295 <version>2.17</version>
296 <configuration>
297 <configLocation>${dev.path}/javastyle-config.xml</configLocation>
298 <suppressionsLocation>${dev.path}/javastyle-suppressions.xml</suppressionsLocation>
299 <headerLocation>${dev.path}/java.header</headerLocation>
300 <consoleOutput>true</consoleOutput>
301 <failsOnError>true</failsOnError>
302 <linkXRef>false</linkXRef>
303 <failOnViolation>true</failOnViolation>
304 <includeTestSourceDirectory>false</includeTestSourceDirectory>
305 <sourceDirectory>${basedir}/src/main/java</sourceDirectory>
306 <testSourceDirectory>${basedir}/src/test/java</testSourceDirectory>
307 <outputFile>${basedir}/target/checkstyle-output.xml</outputFile>
308 </configuration>
309 <executions>
310 <execution>
311 <goals>
312 <goal>check</goal>
313 </goals>
314 </execution>
315 </executions>
316 </plugin>
317 <plugin>
318 <groupId>org.scalastyle</groupId>
319 <artifactId>scalastyle-maven-plugin</artifactId>
320 <version>0.8.0</version>
321 <executions>
322 <execution>
323 <goals>
324 <goal>check</goal>
325 </goals>
326 </execution>
327 </executions>
328 <configuration>
329 <verbose>false</verbose>
330 <failOnViolation>true</failOnViolation>
331 <includeTestSourceDirectory>false</includeTestSourceDirectory>
332 <failOnWarning>false</failOnWarning>
333 <sourceDirectory>${basedir}/src/main/scala</sourceDirectory>
334 <testSourceDirectory>${basedir}/src/test/scala</testSourceDirectory>
335 <configLocation>${dev.path}/scalastyle-config.xml</configLocation>
336 <outputFile>${basedir}/target/scalastyle-output.xml</outputFile>
337 <outputEncoding>${project.build.sourceEncoding}</outputEncoding>
338 </configuration>
339 </plugin>
340 <plugin>
341 <groupId>org.codehaus.mojo</groupId>
342 <artifactId>findbugs-maven-plugin</artifactId>
343 <version>3.0.4</version>
344 <configuration>
345 <excludeFilterFile>${dev.path}/findbugs-exclude.xml</excludeFilterFile>
346 <failOnError>true</failOnError>
347 <findbugsXmlOutput>true</findbugsXmlOutput>
348 <xmlOutput>true</xmlOutput>
349 <effort>Max</effort>
350 </configuration>
351 <executions>
352 <execution>
353 <id>analyze-compile</id>
354 <phase>compile</phase>
355 <goals>
356 <goal>check</goal>
357 </goals>
358 </execution>
359 </executions>
360 </plugin>
361 <plugin>
362 <groupId>org.jacoco</groupId>
363 <artifactId>jacoco-maven-plugin</artifactId>
364 <version>0.7.9</version>
365 <executions>
366 <execution>
367 <id>default-prepare-agent</id>
368 <goals>
369 <goal>prepare-agent</goal>
370 </goals>
371 </execution>
372 <execution>
373 <id>default-prepare-agent-integration</id>
374 <goals>
375 <goal>prepare-agent-integration</goal>
376 </goals>
377 </execution>
378 <execution>
379 <id>default-report</id>
380 <goals>
381 <goal>report</goal>
382 </goals>
383 </execution>
384 <execution>
385 <id>default-report-integration</id>
386 <goals>
387 <goal>report-integration</goal>
388 </goals>
389 </execution>
390 <execution>
391 <id>default-check</id>
392 <goals>
393 <goal>check</goal>
394 </goals>
395 <configuration>
396 <append>true</append>
397 <excludes>
398 <exclude>**/*SparkUnknownExpression*.class</exclude>
399 <exclude>**/org/apache/carbondata/cluster/sdv/generated/*</exclude>
400 <exclude>**/org.apache.carbondata.cluster.sdv.generated.*</exclude>
401 </excludes>
402 <includes>
403 <include>**/org.apache.*</include>
404 </includes>
405 <rules>
406 <!-- implementation is needed only for Maven 2 -->
407 <rule implementation="org.jacoco.maven.RuleConfiguration">
408 <element>BUNDLE</element>
409 <limits>
410 <!-- implementation is needed only for Maven 2 -->
411 <limit implementation="org.jacoco.report.check.Limit">
412 <counter>COMPLEXITY</counter>
413 <value>COVEREDRATIO</value>
414 <minimum>0.10</minimum>
415 </limit>
416 </limits>
417 </rule>
418 </rules>
419 </configuration>
420 </execution>
421 </executions>
422 </plugin>
423
424 </plugins>
425 </build>
426
427 <profiles>
428 <profile>
429 <!--This profile does not build spark module, so user should explicitly give spark profile also like spark-2.1 -->
430 <id>build-with-format</id>
431 <modules>
432 <module>format</module>
433 </modules>
434 </profile>
435 <profile>
436 <!-- This profile only should be used for release prepare to cover all the modules -->
437 <id>build-all</id>
438 <properties>
439 <spark.version>2.2.1</spark.version>
440 <maven.test.skip>true</maven.test.skip>
441 </properties>
442 <modules>
443 <module>format</module>
444 <module>integration/spark2</module>
445 <module>examples/spark2</module>
446 <module>datamap/examples</module>
447 <module>integration/hive</module>
448 <module>integration/presto</module>
449 <module>examples/flink</module>
450 <module>streaming</module>
451 </modules>
452 <build>
453 <plugins>
454 <plugin>
455 <groupId>org.jacoco</groupId>
456 <artifactId>jacoco-maven-plugin</artifactId>
457 <configuration>
458 <skip>true</skip>
459 </configuration>
460 </plugin>
461 </plugins>
462 </build>
463 </profile>
464 <profile>
465 <id>hadoop-2.2.0</id>
466 <properties>
467 <hadoop.version>2.2.0</hadoop.version>
468 </properties>
469 </profile>
470 <profile>
471 <id>spark-2.1</id>
472 <properties>
473 <spark.version>2.1.0</spark.version>
474 <scala.binary.version>2.11</scala.binary.version>
475 <scala.version>2.11.8</scala.version>
476 </properties>
477 <modules>
478 <module>integration/spark2</module>
479 <module>integration/hive</module>
480 <module>integration/presto</module>
481 <module>streaming</module>
482 <module>examples/spark2</module>
483 <module>datamap/examples</module>
484 </modules>
485 <build>
486 <plugins>
487 <plugin>
488 <groupId>org.eluder.coveralls</groupId>
489 <artifactId>coveralls-maven-plugin</artifactId>
490 <version>4.3.0</version>
491 <configuration>
492 <repoToken>opPwqWW41vYppv6KISea3u1TJvE1ugJ5Y</repoToken>
493 <sourceEncoding>UTF-8</sourceEncoding>
494 <jacocoReports>
495 <jacocoReport>${basedir}/target/carbondata-coverage-report/carbondata-coverage-report.xml
496 </jacocoReport>
497 </jacocoReports>
498 <sourceDirectories>
499 <sourceDirectory>${basedir}/common/src/main/java</sourceDirectory>
500 <sourceDirectory>${basedir}/core/src/main/java</sourceDirectory>
501 <sourceDirectory>${basedir}/processing/src/main/java</sourceDirectory>
502 <sourceDirectory>${basedir}/hadoop/src/main/java</sourceDirectory>
503 <sourceDirectory>${basedir}/integration/spark2/src/main/scala</sourceDirectory>
504 <sourceDirectory>${basedir}/integration/spark2/src/main/java</sourceDirectory>
505 <sourceDirectory>${basedir}/integration/spark2/src/main/spark2.1</sourceDirectory>
506 <sourceDirectory>${basedir}/integration/spark-common/src/main/scala</sourceDirectory>
507 <sourceDirectory>${basedir}/integration/spark-common/src/main/java</sourceDirectory>
508 <sourceDirectory>${basedir}/integration/spark-common-test/src/main/scala</sourceDirectory>
509 <sourceDirectory>${basedir}/integration/spark-common-test/src/main/java</sourceDirectory>
510 <sourceDirectory>${basedir}/integration/hive/src/main/scala</sourceDirectory>
511 <sourceDirectory>${basedir}/integration/hive/src/main/java</sourceDirectory>
512 <sourceDirectory>${basedir}/integration/presto/src/main/scala</sourceDirectory>
513 <sourceDirectory>${basedir}/integration/presto/src/main/java</sourceDirectory>
514 <sourceDirectory>${basedir}/streaming/src/main/java</sourceDirectory>
515 <sourceDirectory>${basedir}/streaming/src/main/scala</sourceDirectory>
516 </sourceDirectories>
517 </configuration>
518 </plugin>
519 </plugins>
520 </build>
521 </profile>
522 <profile>
523 <id>spark-2.2</id>
524 <activation>
525 <activeByDefault>true</activeByDefault>
526 </activation>
527 <properties>
528 <spark.version>2.2.1</spark.version>
529 <scala.binary.version>2.11</scala.binary.version>
530 <scala.version>2.11.8</scala.version>
531 </properties>
532 <modules>
533 <module>integration/spark2</module>
534 <module>integration/hive</module>
535 <module>integration/presto</module>
536 <module>streaming</module>
537 <module>examples/spark2</module>
538 </modules>
539 <build>
540 <plugins>
541 <plugin>
542 <groupId>org.eluder.coveralls</groupId>
543 <artifactId>coveralls-maven-plugin</artifactId>
544 <version>4.3.0</version>
545 <configuration>
546 <repoToken>opPwqWW41vYppv6KISea3u1TJvE1ugJ5Y</repoToken>
547 <sourceEncoding>UTF-8</sourceEncoding>
548 <jacocoReports>
549 <jacocoReport>${basedir}/target/carbondata-coverage-report/carbondata-coverage-report.xml
550 </jacocoReport>
551 </jacocoReports>
552 <sourceDirectories>
553 <sourceDirectory>${basedir}/common/src/main/java</sourceDirectory>
554 <sourceDirectory>${basedir}/core/src/main/java</sourceDirectory>
555 <sourceDirectory>${basedir}/processing/src/main/java</sourceDirectory>
556 <sourceDirectory>${basedir}/hadoop/src/main/java</sourceDirectory>
557 <sourceDirectory>${basedir}/integration/spark2/src/main/scala</sourceDirectory>
558 <sourceDirectory>${basedir}/integration/spark2/src/main/spark2.2</sourceDirectory>
559 <sourceDirectory>${basedir}/integration/spark2/src/main/java</sourceDirectory>
560 <sourceDirectory>${basedir}/integration/spark-common/src/main/scala</sourceDirectory>
561 <sourceDirectory>${basedir}/integration/spark-common/src/main/java</sourceDirectory>
562 <sourceDirectory>${basedir}/integration/spark-common-test/src/main/scala</sourceDirectory>
563 <sourceDirectory>${basedir}/integration/spark-common-test/src/main/java</sourceDirectory>
564 <sourceDirectory>${basedir}/integration/hive/src/main/scala</sourceDirectory>
565 <sourceDirectory>${basedir}/integration/hive/src/main/java</sourceDirectory>
566 <sourceDirectory>${basedir}/integration/presto/src/main/scala</sourceDirectory>
567 <sourceDirectory>${basedir}/integration/presto/src/main/java</sourceDirectory>
568 <sourceDirectory>${basedir}/streaming/src/main/java</sourceDirectory>
569 <sourceDirectory>${basedir}/streaming/src/main/scala</sourceDirectory>
570 </sourceDirectories>
571 </configuration>
572 </plugin>
573 </plugins>
574 </build>
575 </profile>
576 <profile>
577 <id>include-all</id>
578 </profile>
579 <profile>
580 <id>store-sdk</id>
581 <modules>
582 <module>store/sdk</module>
583 </modules>
584 </profile>
585 <profile>
586 <id>sdvtest</id>
587 <modules>
588 <module>integration/spark-common-cluster-test</module>
589 </modules>
590 </profile>
591 <profile>
592 <id>rat</id>
593 <build>
594 <plugins>
595 <plugin>
596 <groupId>org.apache.rat</groupId>
597 <artifactId>apache-rat-plugin</artifactId>
598 <version>0.12</version>
599 <executions>
600 <execution>
601 <phase>verify</phase>
602 <goals>
603 <goal>check</goal>
604 </goals>
605 </execution>
606 </executions>
607 <configuration>
608 <reportFile>${project.build.directory}/${project.build.finalName}.rat</reportFile>
609 <excludeSubProjects>false</excludeSubProjects>
610 <consoleOutput>true</consoleOutput>
611 <useDefaultExcludes>true</useDefaultExcludes>
612 <excludes>
613 <exclude>**/target/**/*</exclude>
614 <exclude>.github/**/*</exclude>
615 <exclude>**/*.iml</exclude>
616 <exclude>**/src/test/**/*</exclude>
617 <exclude>examples/**/*.csv</exclude>
618 </excludes>
619 </configuration>
620 </plugin>
621 </plugins>
622 </build>
623 </profile>
624 <profile>
625 <id>windows</id>
626 <properties>
627 <script.exetension>.bat</script.exetension>
628 </properties>
629 </profile>
630 </profiles>
631
632 </project>