popd > /dev/null
}
+## usage: do_setupconf <civicrm-path>
+function do_setupconf() {
+ pushd "$1" >> /dev/null
+ echo "[[Initialize bin/setup.conf]]"
+ if [ ! -f "bin/setup.conf" ]; then
+ pwd
+ echo cp "bin/setup.conf.txt" "bin/setup.conf"
+ cp "bin/setup.conf.txt" "bin/setup.conf"
+ fi
+ echo "[[chmod 600 bin/setup.conf]]"
+ chmod 600 bin/setup.conf
+ echo ""
+ echo "====================[ Next steps (for Civi v4.6+) ]===================="
+ echo " * Edit the following file and fill in credentials for the CiviCRM DB."
+ echo " $1/bin/setup.conf"
+ echo " * Perform one of these steps:"
+ echo " + Run 'bin/setup.sh -Dg' to download and generate missing code."
+ echo " + Run 'bin/setup.sh' to download code and reset the CiviCRM DB"
+ echo " with the latest schema."
+ echo " * If this is a network-accessible server (eg staging/production), then"
+ echo " setup.conf may present a security issue. The permissions have been"
+ echo " preset to restrict access in most servers - but this may not work"
+ echo " in all environments. Please:"
+ echo " + Check whether the file is web-accessible."
+ echo " + Optionally, change the permissions."
+ echo " + Optionally, delete the file."
+ popd > /dev/null
+}
+
###########################################
## config_repo <repo-name> <local-path> <default-branch> <git-scripts-path>
## 1 2 3 4
CIVICRM_BRANCH="master"
FORK_GIT_BASE_URL=""
UPSTREAM_GIT_BASE_URL="https://github.com/civicrm"
+SKIP_GENCODE=
while [ -n "$1" ]; do
if [ "$1" == "--l10n" ]; then
elif [ "$1" == "--fork" ]; then
shift
FORK_GIT_BASE_URL="$1"
+ elif [ "$1" == "--skip-gencode" ]; then
+ SKIP_GENCODE=1
+ elif [ "$1" == "--branch" ]; then
+ shift
+ CIVICRM_BRANCH="$1"
elif [ -z "$CIVICRM_CMS" ]; then
## First arg
CIVICRM_CMS="$1"
if [ -z "$CIVICRM_ROOT" -o ! -d "$CIVICRM_ROOT" -o -z "$UPSTREAM_GIT_BASE_URL" -o -z "$CIVICRM_CMS" ]; then
echo "Convert a directory into a set of CiviCRM git clones"
- echo "usage: $0 <Drupal|Drupal6|Joomla|WordPress|all> <existing-civicrm-root> [--fork <base-url>] [--upstream <base-url>] [--l10n] [--hooks]"
+ echo "usage: $0 <Drupal|Drupal6|Joomla|WordPress|all> <existing-civicrm-root> [--fork <base-url>] [--upstream <base-url>] [--l10n] [--hooks] [--branch <branch>]"
echo " <cms-name>: one of: Drupal|Drupal6|Joomla|WordPress|all"
echo " <git-base-url>: a base URL shared by the desiried git repos (e.g. git://github.com/civicrm)"
echo " <existing-civicrm-root>: the main directory containing CiviCRM"
echo " --hooks: optionally install recommended git hooks; the hooks are mostly"
echo " tested with git CLI under Linux and OSX; they haven't been"
echo " tested with git GUIs or Windows"
+ echo " --branch <branch>: specy the base branch name to checkout (ex: 'master', '4.4')"
+ echo " For some repos, this name is adapted (ex: Drupal's '7.x-master' or '6.x-master'"
+ echo " --skip-gencode: optionally disable gencode execution"
echo ""
echo "Note: If pointing to a pre-existing directory, your local changes may be replaced by"
echo "the pristine code from git. If you've made changes, then make sure there's a backup!"
config_repo civicrm-joomla "$CIVICRM_ROOT/joomla" "$CIVICRM_BRANCH" "../../tools/scripts/git"
config_repo civicrm-wordpress "$CIVICRM_ROOT/WordPress" "$CIVICRM_BRANCH" "../../tools/scripts/git"
;;
+ none)
+ ;;
*)
echo "Unrecognized CMS: $CIVICRM_CMS"
esac
do_targzify "https://download.civicrm.org/civicrm-l10n-core/archives/civicrm-l10n-daily.tar.gz" "civicrm-l10n-daily.tar.gz" "$CIVICRM_ROOT/l10n"
fi
-do_gencode "$CIVICRM_ROOT"
+if [ -f "$CIVICRM_ROOT/composer.json" ]; then
+ ## Civi v4.6+
+ do_setupconf "$CIVICRM_ROOT"
+elif [ -z "$SKIP_GENCODE" ]; then
+ do_gencode "$CIVICRM_ROOT"
+fi