blob: 975829883a730da8f4d6adceacdec5006aaba1ad (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
|
#!/bin/bash
#
# Basic files templater module.
#
# Parameters
SHARE="$1"
# Include basic functions
source $SHARE/templater/functions || exit 1
# drupal-composer implementation
function templater_drupal_composer {
if [ ! -e 'web/sites/default/settings.local.php' ]; then
templater_echo "Setting up Drupal with composer..."
# Check for existing composer.json
if [ -e "composer.json" ]; then
templater_echo "Cannot proceeed, composer.json already present"
return 1
fi
# Check for composer
if ! which composer &> /dev/null; then
templater_echo "error: please install composer first"
return 1
fi
# Setup project using composer
# See https://www.drupal.org/docs/develop/using-composer/using-composer-to-install-drupal-and-manage-dependencies
# https://www.drupal.org/docs/develop/using-composer/using-composer-with-drupal
#composer create-project drupal/recommended-project .
composer create-project drupal-composer/drupal-project:8.x-dev . --no-interaction
if [ ! -e "web/sites/default/services.dev.yml" ]; then
cp $SHARE/drupal-composer/files/services.dev.yml web/sites/default/services.dev.yml
fi
if [ ! -e "web/sites/default/settings.custom.php" ]; then
cp $SHARE/drupal-composer/files/settings.custom.php web/sites/default/settings.custom.php
fi
if [ ! -e "web/sites/default/settings.local.php" ]; then
cp $SHARE/drupal-composer/files/settings.local.php web/sites/default/settings.local.php
if [ -d ".git" ]; then
git ignore web/sites/default/settings.local.php
else
echo "web/sites/default/settings.local.php" >> .gitignore
fi
fi
# Ensure both settings.custom.php and settings.local.php are loaded
cat $SHARE/drupal-composer/files/settings.loader.snippet >> web/sites/default/settings.php
templater_install_makefile $SHARE/drupal-composer/files/Makefile.drupal-composer
if [ ! -e "README.drupal-composer.md" ]; then
cp $SHARE/drupal-composer/files/README.drupal-composer.md .
fi
if [ -d "puppet" ] && [ ! -e "puppet/Puppetfile" ]; then
cp $SHARE/drupal-composer/files/puppet/Puppetfile puppet/
else
cp $SHARE/drupal-composer/files/puppet/Puppetfile puppet/Puppetfile.drupal-composer
fi
# Use pushtodeploy instead
#if [ ! -e "bin/post-receive" ]; then
# mkdir -p bin && cp $SHARE/drupal-composer/files/bin/post-receive bin/
#fi
templater_echo "Please use pushtodeploy module for automated deployments"
mkdir -p web/sites/default/config/sync web/libraries vendor
touch web/sites/default/{files,config/sync}/.empty
git add -f web/sites/default/{files,config/sync}/.empty
else
templater_echo "Drupal already set"
fi
}
# Dispatch
templater_drupal_composer
|