summaryrefslogtreecommitdiff
path: root/provisioning/modules/pixelated
diff options
context:
space:
mode:
authorFolker Bernitt <fbernitt@thoughtworks.com>2015-01-28 12:10:08 +0100
committerFolker Bernitt <fbernitt@thoughtworks.com>2015-01-28 12:11:57 +0100
commit2ff2612cfd50811f975a320a66402f0b6976e54d (patch)
tree049fe569a3ec5a0f143a8f938706b8ade80bf1df /provisioning/modules/pixelated
parent95204fb02aa9ea4e030b972685407e35a0b02f65 (diff)
Issue #252: Node modules are now installed in the box.
- They are symlinked into /vagrant/web-ui/node_modules
Diffstat (limited to 'provisioning/modules/pixelated')
-rwxr-xr-xprovisioning/modules/pixelated/files/activate_custom_node_modules.sh28
-rw-r--r--provisioning/modules/pixelated/manifests/source.pp17
2 files changed, 43 insertions, 2 deletions
diff --git a/provisioning/modules/pixelated/files/activate_custom_node_modules.sh b/provisioning/modules/pixelated/files/activate_custom_node_modules.sh
new file mode 100755
index 00000000..6508053d
--- /dev/null
+++ b/provisioning/modules/pixelated/files/activate_custom_node_modules.sh
@@ -0,0 +1,28 @@
+#!/bin/bash
+#
+# Copyright (c) 2014 ThoughtWorks, Inc.
+#
+# Pixelated is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Affero General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# Pixelated is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Affero General Public License for more details.
+#
+# You should have received a copy of the GNU Affero General Public License
+# along with Pixelated. If not, see <http://www.gnu.org/licenses/>.
+
+
+CUSTOM_NODE_MODULES_LOCATION="$HOME/boxed_noded_modules"
+VAGRANT_NODE_MODULES="/vagrant/web-ui/node_modules"
+
+export NODE_PATH="$CUSTOM_NODE_MODULES_LOCATION/node_modules"
+
+if [ ! -e $VAGRANT_NODE_MODULES ] ; then
+ ln -s $CUSTOM_NODE_MODULES_LOCATION $VAGRANT_NODE_MODULES
+fi
+
+
diff --git a/provisioning/modules/pixelated/manifests/source.pp b/provisioning/modules/pixelated/manifests/source.pp
index 0026ed3f..c84eecfe 100644
--- a/provisioning/modules/pixelated/manifests/source.pp
+++ b/provisioning/modules/pixelated/manifests/source.pp
@@ -9,7 +9,8 @@ class pixelated::source {
'libffi-dev',
'g++',
'ruby-dev',
- 'libsqlite3-dev' ]:
+ 'libsqlite3-dev',
+ 'libfontconfig1']:
ensure => latest
}
@@ -29,7 +30,7 @@ class pixelated::source {
exec { 'install-pixelated':
environment => 'USERNAME=vagrant',
- command => "/vagrant/install-pixelated.sh -v \"${virtualenv_path}\"",
+ command => "/vagrant/install-pixelated.sh -v \"${virtualenv_path}\" -n /home/vagrant/boxed_node_modules",
cwd => '/vagrant',
user => 'vagrant',
timeout => 0
@@ -41,6 +42,18 @@ class pixelated::source {
user => 'vagrant',
require => Exec['install-pixelated']
}
+
+ file { '/home/vagrant/.activate_custom_node_modules.sh':
+ owner => 'vagrant',
+ mode => '0600',
+ source => 'puppet:///modules/pixelated/activate_custom_node_modules.sh',
+ }
+ exec { 'add_custom_node_modules_to_bashrc':
+ command => "/bin/bash -c 'echo \"source /home/vagrant/.activate_custom_node_modules.sh\" >> /home/vagrant/.bashrc'",
+ unless => "/bin/grep \"source /home/vagrant/.activate_custom_node_modules.sh\" /home/vagrant/.bashrc",
+ user => 'vagrant',
+ require => [Exec['install-pixelated'], File['/home/vagrant/.activate_custom_node_modules.sh']]
+ }
}
Stage['main'] -> Stage['install_pixelated']