| /* |
| * 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. |
| */ |
| |
| /** DSL documentation |
| The structure of this configuration DSL is pretty self-explanatory. The main |
| section is 'components' that contains the description of all things included |
| into the stack. The following words are considered terminals and shouldn't be |
| modified as it will affect the parsing behavior: |
| - bigtop |
| - version |
| - stack |
| - version_base |
| - apache |
| - pkg |
| - tarball, source, destinations |
| - url, download_path, site, archive |
| Also, the following are base constants and if renamed will affect the some of |
| the stack's definitions |
| - APACHE_MIRROR |
| - APACHE_ARCHIVE |
| |
| bigtop { // *the name should be change: the parsing code depends on it* |
| version = "STACK-VERSION" // *required* |
| stack { // *required* Fundamental properties of the Stack: JDK, SDK, GDK, etc |
| 'jdk' { version = '1.7'; version_base = version } |
| 'scala' { version = '2.10.4'; version_base = version } |
| } |
| apache { // *required* These shoudn't be modified unless ASF Infra demands changes |
| APACHE_MIRROR = "http://apache.osuosl.org" |
| APACHE_ARCHIVE = "http://archive.apache.org/dist" |
| } |
| components { *required; preserve the name* if empty, nothing will be built |
| 'label' { // label *SHOULD* be the same as the name; otherwise some tasks will fail |
| name = 'component1' // *required* the name of the component |
| // 'pkg' value is optional and will be set to that of 'name' i.e. [pkg := name] |
| pkg = name // *optional* and will be set to the 'name' value |
| // 'base' is required; [pkg := base ]; [release := 1 ] |
| version { base = 'x.y.z'; pkg = base; release = 1 } |
| tarball { |
| source = "apache-component1-${version.base}.tar.gz" // *optional* |
| destination = source |
| } |
| url { // *optional* |
| download_path = "/component1/component1-${version.base}" |
| site = "${apache.APACHE_MIRROR}/${download_path}" |
| archive = "${apache.APACHE_ARCHIVE}/${download_path}" |
| } |
| } |
| } |
| } |
| End of DSL Documentation */ |
| |
| bigtop { |
| /** Base Configuration of the mirror and archives */ |
| version = "1.2.0-SNAPSHOT" |
| stack { |
| 'jdk' { version = '1.7'; version_base = version } |
| 'scala' { version = '2.10.4'; version_base = version } |
| } |
| apache { |
| APACHE_MIRROR = "http://apache.osuosl.org" |
| APACHE_ARCHIVE = "http://archive.apache.org/dist" |
| } |
| /** End of Base Configuration */ |
| |
| /** Dependencies section defines the order in which packages should be built. |
| The syntax is as follows: |
| dependsOn := [list of dependents] |
| So, below phoenix and giraph ought to be build after the hbase has been built |
| |
| To build a component without its dependencies, simply comment out |
| dependencies section or run build with -Dbuildnodeps=true |
| */ |
| dependencies = [ |
| zookeeper:['hadoop', 'hbase'], |
| hadoop:['ignite-hadoop', 'hbase', 'crunch', 'pig', 'hive', 'tez', 'sqoop', 'sqoop2', |
| 'oozie', 'mahout', 'flume', 'giraph', 'solr', 'crunch', 'spark', |
| 'phoenix', 'alluxio', 'kafka', 'ycsb', 'kite', 'hama', 'zeppelin', |
| 'tajo', 'apex' |
| ], |
| hbase:['phoenix','giraph','ycsb','hive'], |
| pig:['datafu', 'oozie'], |
| hive:['oozie', 'pig','zeppelin'], |
| 'ignite-hadoop':['zeppelin'], |
| spark:['zeppelin'] |
| ] |
| |
| components { |
| 'zookeeper' { |
| name = 'zookeeper' |
| pkg = name |
| version { |
| base = '3.4.6' |
| pkg = base |
| release = 1 |
| } |
| tarball { |
| source = "zookeeper-${version.base}.tar.gz" |
| destination = source |
| } |
| url { |
| download_path = "/zookeeper/zookeeper-${version.base}" |
| site = "${apache.APACHE_MIRROR}/${download_path}" |
| archive = "${apache.APACHE_ARCHIVE}/${download_path}" |
| } |
| } |
| 'hadoop' { |
| name = 'hadoop' |
| relNotes = 'Apache Hadoop' |
| version { base = '2.7.2'; pkg = base; release = 1 } |
| tarball { destination = "${name}-${version.base}.tar.gz" |
| source = "${name}-${version.base}-src.tar.gz" } |
| url { download_path = "/$name/common/$name-${version.base}" |
| site = "${apache.APACHE_MIRROR}/${download_path}" |
| archive = "${apache.APACHE_ARCHIVE}/${download_path}" } |
| } |
| 'ignite-hadoop' { |
| name = 'ignite-hadoop' |
| relNotes = 'Apache Ignite in-memory data fabric' |
| version { base = '1.5.0.final'; pkg = base; release = 1 } |
| tarball { destination = "${name}-${version.base}.tar.gz" |
| source = "apache-ignite-${version.base}-src.zip" } |
| url { download_path = "/ignite/${version.base}/" |
| site = "${apache.APACHE_MIRROR}/${download_path}" |
| archive = "${apache.APACHE_ARCHIVE}/${download_path}" } |
| } |
| |
| 'hbase' { |
| name = 'hbase' |
| relNotes = 'Apache HBase' |
| version { base = '1.1.3'; pkg = base; release = 1 } |
| tarball { destination = "${name}-${version.base}.tar.gz" |
| source = "${name}-${version.base}-src.tar.gz" } |
| url { download_path = "/$name/${version.base}/" |
| site = "${apache.APACHE_MIRROR}/${download_path}" |
| archive = "${apache.APACHE_ARCHIVE}/${download_path}" } |
| } |
| |
| 'pig' { |
| name = 'pig' |
| pkg = 'pig' |
| relNotes = 'Apache Pig' |
| version { base = '0.15.0'; pkg = base; release = 1 } |
| tarball { destination = "${name}-${version.base}-src.tar.gz" |
| source = destination } |
| url { download_path = "/$name/$name-${version.base}/" |
| site = "${apache.APACHE_MIRROR}/${download_path}" |
| archive = "${apache.APACHE_ARCHIVE}/${download_path}" } |
| } |
| 'hive' { |
| name = 'hive' |
| relNotes = 'Apache Hive' |
| version { base = '1.2.1'; pkg = base; release = 1 } |
| tarball { destination = "apache-${name}-${version.base}-src.tar.gz" |
| source = destination } |
| url { download_path = "/$name/$name-${version.base}/" |
| site = "${apache.APACHE_MIRROR}/${download_path}" |
| archive = "${apache.APACHE_ARCHIVE}/${download_path}" } |
| } |
| 'tez' { |
| name = 'tez' |
| relNotes = 'Apache TEZ' |
| version { base = '0.6.2'; pkg = base; release = 1 } |
| tarball { destination = "apache-${name}-${version.base}-src.tar.gz" |
| source = destination } |
| url { download_path = "/$name/${version.base}/" |
| site = "${apache.APACHE_MIRROR}/${download_path}" |
| archive = "${apache.APACHE_ARCHIVE}/${download_path}" } |
| } |
| 'sqoop' { |
| name = 'sqoop' |
| relNotes = 'Apache Sqoop v1' |
| version { base = '1.4.6'; pkg = base; release = 1 } |
| tarball { destination = "${name}-${version.base}.tar.gz" |
| source = destination } |
| url { download_path = "/$name/${version.base}/" |
| site = "${apache.APACHE_MIRROR}/${download_path}" |
| archive = "${apache.APACHE_ARCHIVE}/${download_path}" } |
| } |
| 'sqoop2' { |
| name = 'sqoop2' |
| relNotes = 'Apache Sqoop v2' |
| version { base = '1.99.4'; pkg = base; release = 1 } |
| tarball { destination = "${sqoop.name}-${version.base}.tar.gz" |
| source = destination } |
| url { download_path = "/${sqoop.name}/${version.base}/" |
| site = "${apache.APACHE_MIRROR}/${download_path}" |
| archive = "${apache.APACHE_ARCHIVE}/${download_path}" } |
| } |
| 'oozie' { |
| name = 'oozie' |
| relNotes = 'Apache Oozie' |
| version { base = '4.2.0'; pkg = base; release = 1 } |
| tarball { destination = "$name-${version.base}.tar.gz" |
| source = destination } |
| url { download_path = "/$name/${version.base}/" |
| site = "${apache.APACHE_MIRROR}/${download_path}" |
| archive = "${apache.APACHE_ARCHIVE}/${download_path}" } |
| } |
| 'mahout' { |
| name = 'mahout' |
| relNotes = 'Apache Mahout' |
| version { base = '0.11.1'; pkg = base; release = 1 } |
| tarball { destination = "apache-$name-distribution-${version.base}-src.tar.gz" |
| source = destination } |
| url { download_path = "/$name/${version.base}/" |
| site = "${apache.APACHE_MIRROR}/${download_path}" |
| archive = "${apache.APACHE_ARCHIVE}/${download_path}" } |
| } |
| 'flume' { |
| name = 'flume' |
| relNotes = 'Apache Flume' |
| version { base = '1.6.0'; pkg = base; release = 1 } |
| tarball { destination = "apache-$name-${version.base}-src.tar.gz" |
| source = destination } |
| url { download_path = "/$name/${version.base}/" |
| site = "${apache.APACHE_MIRROR}/${download_path}" |
| archive = "${apache.APACHE_ARCHIVE}/${download_path}" } |
| } |
| 'giraph' { |
| name = 'giraph' |
| relNotes = 'Apache Giraph' |
| version { base = '1.1.0'; pkg = base; release = 1 } |
| tarball { destination = "$name-${version.base}.tar.gz" |
| source = "$name-dist-${version.base}-src.tar.gz" } |
| url { download_path = "/$name/$name-${version.base}/" |
| site = "${apache.APACHE_MIRROR}/${download_path}" |
| archive = "${apache.APACHE_ARCHIVE}/${download_path}" } |
| } |
| 'hue' { |
| name = 'hue' |
| relNotes = 'Hadoop User Interface' |
| version { base = '3.9.0'; pkg = base; release = 1 } |
| tarball { destination = "$name-${version.base}.tar.gz" |
| source = "release-${version.base}.tar.gz" } |
| url { site = "https://github.com/cloudera/hue/archive" |
| archive = site } |
| } |
| 'datafu' { |
| name = 'datafu' |
| pkg = 'pig-udf-datafu' |
| relNotes = 'Pig UDF Datafu' |
| version { base = '1.0.0'; pkg = base; release = 1 } |
| tarball { destination = "$name-${version.base}.tar.gz" |
| source = "${version.base}.tar.gz" } |
| url { site = "https://github.com/linkedin/datafu/archive" |
| archive = site } |
| } |
| 'solr' { |
| name = 'solr' |
| relNotes = 'Apache Solr' |
| version { base = '4.9.0'; pkg = base; release = 1 } |
| tarball { destination = "$name-${version.base}-src.tgz" |
| source = destination } |
| url { download_path = "lucene/$name/${version.base}" |
| site = "${apache.APACHE_MIRROR}/${download_path}" |
| archive = "${apache.APACHE_ARCHIVE}/${download_path}" } |
| } |
| 'crunch' { |
| name = 'crunch' |
| relNotes = 'Apache Crunch' |
| version { base = '0.13.0'; pkg = base; release = 1 } |
| tarball { destination = "apache-$name-${version.base}-src.tar.gz" |
| source = destination } |
| url { download_path = "/$name/$name-${version.base}/" |
| site = "${apache.APACHE_MIRROR}/${download_path}" |
| archive = "${apache.APACHE_ARCHIVE}/${download_path}" } |
| } |
| 'spark' { |
| name = 'spark' |
| pkg = 'spark-core' |
| relNotes = 'Apache Spark' |
| version { base = '1.5.1'; pkg = base; release = 1 } |
| tarball { destination = "$name-${version.base}.tar.gz" |
| source = "$name-${version.base}.tgz" } |
| url { download_path = "/$name/$name-${version.base}" |
| site = "${apache.APACHE_MIRROR}/${download_path}" |
| archive = "${apache.APACHE_ARCHIVE}/${download_path}" } |
| } |
| |
| 'flink' { |
| name = 'flink' |
| relNotes = 'Apache Flink' |
| version { base = '1.0.3'; pkg = base; release = 1 } |
| tarball { destination = "$name-${version.base}.tar.gz" |
| source = "$name-${version.base}-src.tgz" } |
| url { download_path = "/$name/$name-${version.base}" |
| site = "${apache.APACHE_MIRROR}/${download_path}" |
| archive = "${apache.APACHE_ARCHIVE}/${download_path}" } |
| } |
| |
| |
| 'phoenix' { |
| name = 'phoenix' |
| relNotes = 'Apache Phoenix: A SQL skin over HBase' |
| /* |
| * phoenix.hbase is used to select the Phoenix release corresponding |
| * to the base HBase version. Update as needed whenever changing the |
| * HBase version in the BOM. |
| */ |
| phoenix.hbase ='HBase-1.1' |
| version { base = "4.7.0-${phoenix.hbase}"; pkg = '4.7.0'; release = 1 } |
| tarball { destination = "$name-${version.base}-src.tar.gz" |
| source = destination } |
| url { download_path = "/$name/$name-${version.base}/src" |
| site = "${apache.APACHE_MIRROR}/${download_path}" |
| archive = "${apache.APACHE_ARCHIVE}/${download_path}" } |
| } |
| 'bigtop-groovy' { |
| name = 'bigtop-groovy' |
| version { base = '2.4.4'; pkg = '2.4.4'; release = 1} |
| relNotes = "Groovy: a dynamic language for the Java platform" |
| tarball { destination = "$name-${version.base}.tar.gz"; |
| source = "apache-groovy-binary-${version.base}.zip"} |
| url { site = "http://dl.bintray.com/groovy/maven/"; archive = site } |
| // Optional, as only null values are specified |
| git { repo = null; ref = null; dir = null} |
| } |
| 'bigtop-utils' { |
| name = "bigtop-utils" |
| relNotes = "Service package for Apache Bigtop runtime" |
| version { base = bigtop.version; pkg = base-"-SNAPSHOT"; release = 1 } |
| tarball { destination = "bigtop-utils-${version.base}.tar.gz" } |
| } |
| 'bigtop-jsvc' { |
| name = "bigtop-jsvc" |
| relNotes = "Apache Common Daemon (jsvc) service package" |
| version { base = '1.0.15'; pkg = base; release = 1 } |
| tarball { source = "commons-daemon-${version.base}-native-src.tar.gz" |
| destination = "commons-daemon-${version.base}.tar.gz" } |
| url { download_path = "/commons/daemon/source" |
| site = "${apache.APACHE_MIRROR}/${download_path}" |
| archive = "${apache.APACHE_ARCHIVE}/${download_path}" } |
| } |
| 'bigtop-tomcat' { |
| name = "bigtop-tomcat" |
| relNotes = "Apache Tomcat" |
| version { base = '6.0.45'; pkg = base; release = 1 } |
| tarball { source = "apache-tomcat-${version.base}-src.tar.gz" |
| destination = "apache-tomcat-${version.base}.tar.gz" } |
| url { download_path = "/tomcat/tomcat-6/v${version.base}/src" |
| site = "${apache.APACHE_MIRROR}/${download_path}" |
| archive = "${apache.APACHE_ARCHIVE}/${download_path}" } |
| } |
| 'alluxio' { |
| name = "alluxio" |
| pkg = "alluxio" |
| relNotes = "Alluxio: a memory-centric distributed file system" |
| version { base = '1.0.1'; pkg = base; release = 1 } |
| tarball { destination = "$name-${version.base}.tar.gz" |
| source = "v${version.base}.tar.gz" } |
| url { site = "https://github.com/Alluxio/alluxio/archive" |
| archive = site } |
| } |
| 'kafka' { |
| name = 'kafka' |
| relNotes = 'Apache Kafka' |
| version { base = '0.8.1.1'; pkg = base; release = 1 } |
| tarball { destination = "$name-${version.base}.tar.gz" |
| source = "$name-${version.base}-src.tgz" } |
| url { download_path = "/$name/${version.base}/" |
| site = "${apache.APACHE_MIRROR}/${download_path}" |
| archive = "${apache.APACHE_ARCHIVE}/${download_path}" } |
| } |
| 'ycsb' { |
| name = 'ycsb' |
| relNotes = 'Yahoo! Cloud Serving Benchmark' |
| version { base = '0.4.0'; pkg = base; release = 1 } |
| tarball { destination = "$name-${version.base}.tar.gz" |
| source = "${version.base}.tar.gz" } |
| url { site = "https://github.com/brianfrankcooper/YCSB/archive" |
| archive = site } |
| } |
| 'kite' { |
| name = 'kite' |
| relNotes = 'Kite Software Development Kit' |
| version { base = '1.1.0'; pkg = base; release = 1 } |
| tarball { destination = "$name-${version.base}.tar.gz" |
| source = "release-${version.base}.tar.gz" } |
| url { site = "https://github.com/kite-sdk/kite/archive" |
| archive = site } |
| } |
| 'hama' { |
| name = 'hama' |
| relNotes = 'Apache Hama' |
| version { base = '0.7.0'; pkg = base; release = 1 } |
| tarball { destination = "$name-dist-${version.base}.tar.gz" |
| source = "$name-dist-${version.base}-src.tar.gz" } |
| url { download_path = "/$name/$name-${version.base}/" |
| site = "${apache.APACHE_MIRROR}/${download_path}" |
| archive = "${apache.APACHE_ARCHIVE}/${download_path}" } |
| } |
| 'zeppelin' { |
| name = 'zeppelin' |
| relNotes = 'Apache Zeppelin (incubating)' |
| version { base = '0.5.6'; pkg = base; release = 1 } |
| tarball { source = "$name-${version.base}-incubating.tgz" |
| destination = "$name-${version.base}.tar.gz" } |
| url { download_path = "/incubator/$name/${version.base}-incubating/" |
| site = "${apache.APACHE_MIRROR}/${download_path}" |
| archive = "${apache.APACHE_ARCHIVE}/${download_path}" } |
| } |
| 'tajo' { |
| name = 'tajo' |
| relNotes = 'Apache Tajo' |
| version { base = '0.11.1'; pkg = base; release = 1 } |
| tarball { source = "$name-${version.base}-src.tar.gz" |
| destination = "$name-${version.base}.tar.gz" } |
| url { download_path = "/$name/$name-${version.base}" |
| site = "${apache.APACHE_MIRROR}/${download_path}" |
| archive = "${apache.APACHE_ARCHIVE}/${download_path}" } |
| } |
| 'apex' { |
| name = 'apex' |
| relNotes = 'Apache Apex' |
| version { base = '3.4.0'; pkg = base; release = 1 } |
| tarball { source = "$name-${version.base}-source-release.tar.gz" |
| destination = "$name-${version.base}.tar.gz" } |
| url { download_path = "/incubator/$name/v${version.base}/" |
| site = "${apache.APACHE_MIRROR}/${download_path}" |
| archive = "${apache.APACHE_ARCHIVE}/${download_path}" } |
| } |
| 'qfs' { |
| name = 'qfs' |
| relNotes = 'Quantcast Filesystem' |
| version { base = '1.1.4'; pkg = base; release = 1 } |
| tarball { destination = "$name-${version.base}.tar.gz" |
| source = "${version.base}.tar.gz" } |
| url { site = "https://github.com/quantcast/qfs/archive" |
| archive = site } |
| } |
| } |
| } |