aboutsummaryrefslogtreecommitdiff
path: root/bigtop.bom
diff options
context:
space:
mode:
authorKonstantin Boudnik <cos@apache.org>2015-09-04 17:32:16 -0700
committerKonstantin Boudnik <cos@apache.org>2015-09-10 13:43:30 -0700
commit1409498304703f35711e89eebae8d87669c011ec (patch)
tree710ec5e9c48ed24b523fc1a7a07f1068909b6dc9 /bigtop.bom
parent5228576c24e3d622a688aecea167f6cac6969e76 (diff)
BIGTOP-1494. Introduce Groovy DSL to replace bigtop.mk
Diffstat (limited to 'bigtop.bom')
-rw-r--r--bigtop.bom368
1 files changed, 368 insertions, 0 deletions
diff --git a/bigtop.bom b/bigtop.bom
new file mode 100644
index 00000000..ddc1894c
--- /dev/null
+++ b/bigtop.bom
@@ -0,0 +1,368 @@
+/*
+ * 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.3'; 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 could be anything; it's a good practice to make it same as the name
+ 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.1.0-SNAPSHOT"
+ stack {
+ 'jdk' { version = '1.7'; version_base = version }
+ 'scala' { version = '2.10.3'; version_base = version }
+ }
+ apache {
+ APACHE_MIRROR = "http://apache.osuosl.org"
+ APACHE_ARCHIVE = "http://archive.apache.org/dist"
+ }
+/** End of Base Configuration */
+
+ 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.1'; 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' {
+ name = 'ignite-hadoop'
+ relNotes = 'Apache Ignite in-memory data fabric'
+ version { base = '1.3.0'; pkg = base; release = 1 }
+ tarball { destination = "${name}-${version.base}.tar.gz"
+ source = "apache-ignite-${version.base}-incubating-src.zip" }
+ url { download_path = "/incubator/ignite/${version.base}/"
+ site = "${apache.APACHE_MIRROR}/${download_path}"
+ archive = "${apache.APACHE_ARCHIVE}/${download_path}" }
+ }
+
+ 'hbase' {
+ name = 'hbase'
+ relNotes = 'Apache HBase'
+ version { base = '0.98.12'; pkg = base; release = 1 }
+ tarball { destination = "${name}-${version.base}.tar.gz"
+ source = "${name}-${version.base}-src.tar.gz" }
+ url { download_path = "/$name/$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.14.0'; pkg = base; release = 1 }
+ tarball { destination = "${name}-${version.base}.tar.gz"
+ source = "${name}-${version.base}-src.tar.gz" }
+ 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.0.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}" }
+ }
+ '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.5'; 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.0.1'; 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.0'; 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.8.1'; 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.tar.gz"
+ 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.12.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'
+ relNotes = 'Apache Spark'
+ version { base = '1.3.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}" }
+ }
+ 'phoenix' {
+ name = 'phoenix'
+ relNotes = 'Apache Phoenix: A SQL skin over HBase'
+ version { base = '4.4.0'; pkg = base; release = 1 }
+ phoenix.hbase ='HBase-0.98'
+ tarball { destination = "$name-${version.base}-${phoenix.hbase}-src.tar.gz"
+ source = destination }
+ url { download_path = "/$name/$name-${version.base}-${phoenix.hbase}/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.36'; 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}" }
+ }
+ 'tachyon' {
+ name = "tachyon"
+ name = "tachyon-tfs"
+ relNotes = "Tachyon: a memory-centric distributed file system"
+ version { base = '0.6.0'; pkg = base; release = 1 }
+ tarball { destination = "$name-${version.base}.tar.gz"
+ source = "v${version.base}.tar.gz" }
+ url { site = "https://github.com/amplab/tachyon/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.tar.gz" }
+ 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.1.4'; 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}" }
+ }
+ }
+}