diff --git a/distribution/pom.xml b/distribution/pom.xml index fc0975cbe17a..06b3c5a19da5 100644 --- a/distribution/pom.xml +++ b/distribution/pom.xml @@ -46,142 +46,107 @@ --clean - - - - org.codehaus.mojo - exec-maven-plugin - - - pull-deps - package - - exec - - - java - - -classpath - - -Ddruid.extensions.loadList=[] - -Ddruid.extensions.directory=${project.build.directory}/extensions - - -Ddruid.extensions.hadoopDependenciesDir=${project.build.directory}/hadoop-dependencies - - org.apache.druid.cli.Main - tools - pull-deps - --clean - --defaultVersion - ${project.parent.version} - -l - ${settings.localRepository} - -h - org.apache.hadoop:hadoop-client:${hadoop.compile.version} - -c - org.apache.druid.extensions:druid-avro-extensions - -c - org.apache.druid.extensions:druid-datasketches - -c - org.apache.druid.extensions:druid-hdfs-storage - -c - org.apache.druid.extensions:druid-histogram - -c - org.apache.druid.extensions:druid-kafka-eight - -c - org.apache.druid.extensions:druid-kafka-extraction-namespace - -c - org.apache.druid.extensions:druid-kafka-indexing-service - -c - org.apache.druid.extensions:druid-lookups-cached-global - -c - org.apache.druid.extensions:druid-lookups-cached-single - -c - org.apache.druid.extensions:druid-protobuf-extensions - -c - org.apache.druid.extensions:mysql-metadata-storage - -c - org.apache.druid.extensions:postgresql-metadata-storage - -c - org.apache.druid.extensions:druid-kerberos - -c - org.apache.druid.extensions:druid-s3-extensions - -c - org.apache.druid.extensions:druid-stats - -c - org.apache.druid.extensions:druid-examples - -c - org.apache.druid.extensions:simple-client-sslcontext - -c - org.apache.druid.extensions:druid-basic-security - ${druid.distribution.pulldeps.opts} - - - - - mysql-tarball - package - - exec - - - tar - - -C - ${project.build.directory}/extensions - -czvf - - ${project.build.directory}/mysql-metadata-storage-${project.parent.version}.tar.gz - - mysql-metadata-storage - - - - - - - org.apache.maven.plugins - maven-assembly-plugin - - - distro-assembly - package - - single - - - ${project.parent.artifactId}-${project.parent.version} - posix - - src/assembly/assembly.xml - - - - - - - org.codehaus.mojo - license-maven-plugin - - - download-licenses - - download-licenses - - - - - - - bundle-contrib-exts + dist + + false + + tar + + org.codehaus.mojo exec-maven-plugin + + pull-deps + package + + exec + + + java + + -classpath + + -Ddruid.extensions.loadList=[] + -Ddruid.extensions.directory=${project.build.directory}/extensions + + + -Ddruid.extensions.hadoopDependenciesDir=${project.build.directory}/hadoop-dependencies + + org.apache.druid.cli.Main + tools + pull-deps + --clean + --defaultVersion + ${project.parent.version} + -l + ${settings.localRepository} + -h + org.apache.hadoop:hadoop-client:${hadoop.compile.version} + -c + org.apache.druid.extensions:druid-avro-extensions + -c + org.apache.druid.extensions:druid-datasketches + -c + org.apache.druid.extensions:druid-hdfs-storage + -c + org.apache.druid.extensions:druid-histogram + -c + org.apache.druid.extensions:druid-kafka-eight + -c + org.apache.druid.extensions:druid-kafka-extraction-namespace + -c + org.apache.druid.extensions:druid-kafka-indexing-service + -c + org.apache.druid.extensions:druid-lookups-cached-global + -c + org.apache.druid.extensions:druid-lookups-cached-single + -c + org.apache.druid.extensions:druid-protobuf-extensions + -c + org.apache.druid.extensions:mysql-metadata-storage + -c + org.apache.druid.extensions:postgresql-metadata-storage + -c + org.apache.druid.extensions:druid-kerberos + -c + org.apache.druid.extensions:druid-s3-extensions + -c + org.apache.druid.extensions:druid-stats + -c + org.apache.druid.extensions:druid-examples + -c + org.apache.druid.extensions:simple-client-sslcontext + -c + org.apache.druid.extensions:druid-basic-security + ${druid.distribution.pulldeps.opts} + + + + + mysql-tarball + package + + exec + + + tar + + -C + ${project.build.directory}/extensions + -czvf + + ${project.build.directory}/mysql-metadata-storage-${project.parent.version}.tar.gz + + mysql-metadata-storage + + + pull-deps-contrib-exts package @@ -254,6 +219,38 @@ + + org.apache.maven.plugins + maven-assembly-plugin + + + distro-assembly + package + + single + + + ${project.parent.artifactId}-${project.parent.version} + posix + + src/assembly/assembly.xml + + + + + + + org.codehaus.mojo + license-maven-plugin + + + download-licenses + + download-licenses + + + + diff --git a/docs/content/development/build.md b/docs/content/development/build.md index a01b3c5a587a..9a45a8b9d32d 100644 --- a/docs/content/development/build.md +++ b/docs/content/development/build.md @@ -7,23 +7,39 @@ layout: doc_page You can build Druid directly from source. Please note that these instructions are for building the latest stable of Druid. For building the latest code in master, follow the instructions [here](https://github.com/apache/incubator-druid/blob/master/docs/content/development/build.md). -Building Druid requires the following: + +#### Prerequisites + +##### Installing Java and Maven: - [JDK 8](http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html) - [Maven version 3.x](http://maven.apache.org/download.cgi) -To do so, run these commands: +##### Downloading the source: -``` +```bash git clone git@github.com:apache/incubator-druid.git cd druid -mvn clean package ``` -This will compile the project and create the Druid binary distribution tar under -`distribution/target/druid-VERSION-bin.tar.gz`. -This will also create a tarball that contains `mysql-metadata-storage` extension under -`distribution/target/mysql-metadata-storage-bin.tar.gz`. If you want Druid to load `mysql-metadata-storage`, you can +#### Building the source + +##### Building the Druid binary distribution tarball: + +```bash +mvn clean install -Pdist -Dtar -DskipTests +``` + +Once it succeeds, you can find the Druid binary (`druid-VERSION-bin.tar.gz`) +and `mysql-metadata-storage` extension under `${DRUID_ROOT}/distribution/target/`. + +If you want Druid to load `mysql-metadata-storage`, you can first untar `druid-VERSION-bin.tar.gz`, then go to ```druid-/extensions```, untar `mysql-metadata-storage-bin.tar.gz` there. Now just specifiy `mysql-metadata-storage` in `druid.extensions.loadList` so that Druid will pick it up. See [Including Extensions](../operations/including-extensions.html) for more information. + +##### Building the source code only: + +```bash +mvn clean install -DskipTests +``` \ No newline at end of file