diff options
author | Konstantin Boudnik <cos@apache.org> | 2015-09-04 17:32:16 -0700 |
---|---|---|
committer | Konstantin Boudnik <cos@apache.org> | 2015-09-10 13:43:30 -0700 |
commit | 1409498304703f35711e89eebae8d87669c011ec (patch) | |
tree | 710ec5e9c48ed24b523fc1a7a07f1068909b6dc9 /bigtop.bom | |
parent | 5228576c24e3d622a688aecea167f6cac6969e76 (diff) |
BIGTOP-1494. Introduce Groovy DSL to replace bigtop.mk
Diffstat (limited to 'bigtop.bom')
-rw-r--r-- | bigtop.bom | 368 |
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}" } + } + } +} |