aboutsummaryrefslogtreecommitdiff
path: root/bigtop_toolchain
diff options
context:
space:
mode:
authorKonstantin Boudnik <cos@apache.org>2015-02-03 21:22:05 -0800
committerKonstantin Boudnik <cos@apache.org>2015-03-02 21:50:52 -0800
commit25fee12844241fd20ca6bd281b7673691b0259a0 (patch)
treeed5bca3a99e7485a5d8fa13f1b13a8d50fdbcacd /bigtop_toolchain
parenta66540ef5ca56d940d9c71d5fa8dcfb64eaac671 (diff)
downloadbigtop-odpi-25fee12844241fd20ca6bd281b7673691b0259a0.tar.gz
BIGTOP-1423. Add Groovy installation to the bigtop_toolchain
Diffstat (limited to 'bigtop_toolchain')
-rw-r--r--bigtop_toolchain/README.md12
-rw-r--r--bigtop_toolchain/manifests/development-tools.pp18
-rw-r--r--bigtop_toolchain/manifests/groovy.pp38
3 files changed, 68 insertions, 0 deletions
diff --git a/bigtop_toolchain/README.md b/bigtop_toolchain/README.md
index 206d4b12..567705d9 100644
--- a/bigtop_toolchain/README.md
+++ b/bigtop_toolchain/README.md
@@ -83,6 +83,18 @@ The usage is as below:
By applying the snippet, Vagrant will be installed(the Docker installation will be added soon).
+## Optional development tools
+
+This isn't a part of fundamental toolchain recipes as we are trying to contain the size of CI and dev-
+images of docker containers.
+As Groovy isn't required (yet!) for creation of a Bigtop stack, this environment is separated for now
+In case you system doesn't have already installed version of Bigtop recommended Groovy environment,
+you should be able to so easily by running
+
+ puppet apply --modulepath=<path_to_bigtop> -e "include bigtop_toolchain::development-tools"
+
+Potentially, we'll be adding more development tools in this manifest.
+
## Requirements
For RedHat/Centos, due to redistribution restrictions the Oracle JDK must be downloaded seperately.
diff --git a/bigtop_toolchain/manifests/development-tools.pp b/bigtop_toolchain/manifests/development-tools.pp
new file mode 100644
index 00000000..0e26394a
--- /dev/null
+++ b/bigtop_toolchain/manifests/development-tools.pp
@@ -0,0 +1,18 @@
+# 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.
+
+class bigtop_toolchain::development-tools {
+ include bigtop_toolchain::groovy
+}
diff --git a/bigtop_toolchain/manifests/groovy.pp b/bigtop_toolchain/manifests/groovy.pp
new file mode 100644
index 00000000..eb32d75b
--- /dev/null
+++ b/bigtop_toolchain/manifests/groovy.pp
@@ -0,0 +1,38 @@
+# 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.
+
+class bigtop_toolchain::groovy {
+
+ include bigtop_toolchain::packages
+
+ exec {"/usr/bin/wget http://dl.bintray.com/groovy/maven/groovy-binary-2.4.0.zip":
+ cwd => "/usr/src",
+ require => Package[$packages::pkgs],
+ unless => "/usr/bin/test -f /usr/src/groovy-binary-2.4.0.zip",
+ }
+
+ exec {'/usr/bin/unzip -x -o /usr/src/groovy-binary-2.4.0.zip':
+ cwd => '/usr/local',
+ refreshonly => true,
+ subscribe => Exec["/usr/bin/wget http://dl.bintray.com/groovy/maven/groovy-binary-2.4.0.zip"],
+ require => Exec["/usr/bin/wget http://dl.bintray.com/groovy/maven/groovy-binary-2.4.0.zip"],
+ }
+
+ file {'/usr/local/groovy':
+ ensure => link,
+ target => '/usr/local/groovy-2.4.0',
+ require => Exec['/usr/bin/unzip -x -o /usr/src/groovy-binary-2.4.0.zip'],
+ }
+}