blob: 0612d1964328860d84b8fa64f9e936bdf670ba54 [file] [log] [blame]
<?xml version="1.0"?>
<!--
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>
<artifactId>pinot</artifactId>
<groupId>org.apache.pinot</groupId>
<version>0.3.0-SNAPSHOT</version>
</parent>
<artifactId>pinot-tools</artifactId>
<name>Pinot Tools</name>
<url>https://pinot.apache.org/</url>
<properties>
<pinot.root>${basedir}/..</pinot.root>
</properties>
<dependencies>
<dependency>
<groupId>org.apache.pinot</groupId>
<artifactId>pinot-core</artifactId>
</dependency>
<dependency>
<groupId>org.apache.pinot</groupId>
<artifactId>pinot-common</artifactId>
</dependency>
<dependency>
<groupId>org.apache.pinot</groupId>
<artifactId>pinot-server</artifactId>
</dependency>
<dependency>
<groupId>org.apache.pinot</groupId>
<artifactId>pinot-controller</artifactId>
</dependency>
<dependency>
<groupId>org.apache.pinot</groupId>
<artifactId>pinot-broker</artifactId>
</dependency>
<dependency>
<groupId>org.apache.pinot</groupId>
<artifactId>pinot-parquet</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.apache.pinot</groupId>
<artifactId>pinot-connector-kafka-base</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.apache.pinot</groupId>
<artifactId>pinot-connector-kafka-${kafka.version}</artifactId>
<version>${project.version}</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>commons-cli</groupId>
<artifactId>commons-cli</artifactId>
</dependency>
<dependency>
<groupId>args4j</groupId>
<artifactId>args4j</artifactId>
</dependency>
<dependency>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.glassfish.tyrus.bundles</groupId>
<artifactId>tyrus-standalone-client</artifactId>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
</dependency>
<dependency>
<groupId>org.yaml</groupId>
<artifactId>snakeyaml</artifactId>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-math3</artifactId>
</dependency>
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-aws</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-common</artifactId>
<exclusions>
<exclusion>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-annotations</artifactId>
</exclusion>
</exclusions>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>appassembler-maven-plugin</artifactId>
<configuration>
<programs>
<program>
<mainClass>org.apache.pinot.tools.PinotToolLauncher</mainClass>
<name>pinot-tools</name>
<jvmSettings>
<initialMemorySize>1G</initialMemorySize>
<maxMemorySize>1G</maxMemorySize>
<extraArguments>
<extraArgument>-Dlog4j2.configurationFile=conf/pinot-tools-log4j2.xml</extraArgument>
</extraArguments>
</jvmSettings>
</program>
<program>
<mainClass>org.apache.pinot.tools.admin.PinotAdministrator</mainClass>
<name>pinot-admin</name>
<jvmSettings>
<initialMemorySize>4G</initialMemorySize>
<maxMemorySize>4G</maxMemorySize>
<extraArguments>
<extraArgument>-XX:MaxDirectMemorySize=30g</extraArgument>
<extraArgument>-Dlog4j2.configurationFile=conf/pinot-admin-log4j2.xml</extraArgument>
</extraArguments>
</jvmSettings>
</program>
<program>
<mainClass>org.apache.pinot.tools.scan.query.ScanBasedQueryProcessor</mainClass>
<name>scan-query</name>
<jvmSettings>
<initialMemorySize>1G</initialMemorySize>
<maxMemorySize>20G</maxMemorySize>
<extraArguments>
<extraArgument>-XX:MaxDirectMemorySize=30g</extraArgument>
<extraArgument>-Dlog4j2.configurationFile=conf/pinot-tools-log4j2.xml</extraArgument>
</extraArguments>
</jvmSettings>
</program>
<program>
<mainClass>org.apache.pinot.tools.query.comparison.QueryComparison</mainClass>
<name>query-comparator</name>
<jvmSettings>
<initialMemorySize>10G</initialMemorySize>
<maxMemorySize>30G</maxMemorySize>
<extraArguments>
<extraArgument>-XX:MaxDirectMemorySize=30g</extraArgument>
<extraArgument>-Dlog4j2.configurationFile=conf/pinot-tools-log4j2.xml</extraArgument>
</extraArguments>
</jvmSettings>
</program>
<program>
<mainClass>org.apache.pinot.tools.query.comparison.StarQueryComparison</mainClass>
<name>star-query-comparator</name>
<jvmSettings>
<initialMemorySize>10G</initialMemorySize>
<maxMemorySize>30G</maxMemorySize>
<extraArguments>
<extraArgument>-XX:MaxDirectMemorySize=30g</extraArgument>
<extraArgument>-Dlog4j2.configurationFile=conf/pinot-tools-log4j2.xml</extraArgument>
</extraArguments>
</jvmSettings>
</program>
<program>
<mainClass>org.apache.pinot.tools.query.comparison.StatsGenerator</mainClass>
<name>stats-generator</name>
<jvmSettings>
<initialMemorySize>1G</initialMemorySize>
<maxMemorySize>1G</maxMemorySize>
<extraArguments>
<extraArgument>-Dlog4j2.configurationFile=conf/pinot-tools-log4j2.xml</extraArgument>
</extraArguments>
</jvmSettings>
</program>
<program>
<mainClass>org.apache.pinot.tools.StarTreeIndexViewer</mainClass>
<name>star-tree-index-viewer</name>
<jvmSettings>
<initialMemorySize>1G</initialMemorySize>
<maxMemorySize>1G</maxMemorySize>
<extraArguments>
<extraArgument>-Dlog4j2.configurationFile=conf/pinot-tools-log4j2.xml</extraArgument>
</extraArguments>
</jvmSettings>
</program>
<program>
<mainClass>org.apache.pinot.tools.admin.PinotController</mainClass>
<name>start-controller</name>
<jvmSettings>
<initialMemorySize>1G</initialMemorySize>
<maxMemorySize>1G</maxMemorySize>
<extraArguments>
<extraArgument>-Dlog4j2.configurationFile=conf/pinot-controller-log4j2.xml</extraArgument>
</extraArguments>
</jvmSettings>
</program>
<program>
<mainClass>org.apache.pinot.tools.admin.PinotBroker</mainClass>
<name>start-broker</name>
<jvmSettings>
<initialMemorySize>1G</initialMemorySize>
<maxMemorySize>1G</maxMemorySize>
<extraArguments>
<extraArgument>-Dlog4j2.configurationFile=conf/pinot-broker-log4j2.xml</extraArgument>
</extraArguments>
</jvmSettings>
</program>
<program>
<mainClass>org.apache.pinot.tools.admin.PinotServer</mainClass>
<name>start-server</name>
<jvmSettings>
<initialMemorySize>1G</initialMemorySize>
<maxMemorySize>1G</maxMemorySize>
<extraArguments>
<extraArgument>-Dlog4j2.configurationFile=conf/pinot-server-log4j2.xml</extraArgument>
</extraArguments>
</jvmSettings>
</program>
<program>
<mainClass>org.apache.pinot.tools.Quickstart</mainClass>
<name>quick-start-offline</name>
<jvmSettings>
<initialMemorySize>1G</initialMemorySize>
<maxMemorySize>1G</maxMemorySize>
<extraArguments>
<extraArgument>-Dlog4j2.configurationFile=conf/quickstart-log4j2.xml</extraArgument>
</extraArguments>
</jvmSettings>
</program>
<program>
<mainClass>org.apache.pinot.tools.HybridQuickstart</mainClass>
<name>quick-start-hybrid</name>
<jvmSettings>
<initialMemorySize>1G</initialMemorySize>
<maxMemorySize>1G</maxMemorySize>
<extraArguments>
<extraArgument>-XX:MaxDirectMemorySize=6g</extraArgument>
<extraArgument>-Dlog4j2.configurationFile=conf/quickstart-log4j2.xml</extraArgument>
</extraArguments>
</jvmSettings>
</program>
<program>
<mainClass>org.apache.pinot.tools.RealtimeQuickStart</mainClass>
<name>quick-start-realtime</name>
<jvmSettings>
<initialMemorySize>1G</initialMemorySize>
<maxMemorySize>1G</maxMemorySize>
<extraArguments>
<extraArgument>-Dlog4j2.configurationFile=conf/quickstart-log4j2.xml</extraArgument>
</extraArguments>
</jvmSettings>
</program>
</programs>
<binFileExtensions>
<unix>.sh</unix>
</binFileExtensions>
<!-- Set the target configuration directory to be used in the bin scripts -->
<configurationDirectory>conf</configurationDirectory>
<!-- Copy the contents from "/src/main/config" to the target configuration directory in the assembled application -->
<copyConfigurationDirectory>false</copyConfigurationDirectory>
<!-- Include the target configuration directory in the beginning of the classpath declaration in the bin scripts -->
<includeConfigurationDirectoryInClasspath>false</includeConfigurationDirectoryInClasspath>
<assembleDirectory>${project.build.directory}/${project.artifactId}-pkg</assembleDirectory>
<unixScriptTemplate>${project.basedir}/src/main/resources/appAssemblerScriptTemplate</unixScriptTemplate>
<!-- Generate bin scripts for windows and unix pr default -->
<platforms>
<platform>unix</platform>
</platforms>
<repositoryLayout>flat</repositoryLayout>
<repositoryName>lib</repositoryName>
</configuration>
</plugin>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<executions>
<execution>
<id>build-pinot-tool-launcher</id>
<configuration>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
<archive>
<manifest>
<mainClass>org.apache.pinot.tools.PinotToolLauncher</mainClass>
</manifest>
</archive>
<finalName>pinot-tool-launcher</finalName>
</configuration>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
<execution>
<id>build-query-comparison</id>
<configuration>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
<archive>
<manifest>
<mainClass>org.apache.pinot.tools.query.comparison.QueryComparison</mainClass>
</manifest>
</archive>
<finalName>query-comparison</finalName>
</configuration>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-enforcer-plugin</artifactId>
</plugin>
<plugin>
<artifactId>maven-resources-plugin</artifactId>
<version>2.6</version>
<executions>
<execution>
<id>copy-kafka-resources</id>
<phase>process-resources</phase>
<goals>
<goal>copy-resources</goal>
</goals>
<configuration>
<!-- this is important -->
<overwrite>true</overwrite>
<!-- target -->
<outputDirectory>${basedir}/target/classes/sample_data/</outputDirectory>
<resources>
<resource>
<!-- source -->
<directory>src/main/resources/sample_data/kafka_${kafka.version}</directory>
</resource>
</resources>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>