dk: maj doc et support de branche de profil

This commit is contained in:
Jephté Clain 2019-05-02 13:39:24 +04:00
parent d7c981d257
commit b068a12c02
1 changed files with 48 additions and 31 deletions

79
dk
View File

@ -61,23 +61,34 @@ OPTIONS générales
OPTIONS build OPTIONS build
(ces options ne sont valides que pour les commandes build, brd, bs) (ces options ne sont valides que pour les commandes build, brd, bs)
-g, --ug, --no-update-apps -g, --ug, --no-update-apps
ne pas mettre à jour les dépôts dépendants. ces dépôts sont ne pas mettre à jour les dépôts dépendants. ces dépôts sont définis dans
définis dans le fichier update-apps.conf qui a le format le fichier update-apps.conf qui a le format suivant:
suivant:
DEFAULT_BRANCH= DEFAULT_BRANCH=
APPS=() APPS=() # liste d'applications à mettre à jour
app_URL= app_URL= # url du dépôt
app_DEST= app_DEST= # répertoire dans lequel faire le checkout
app_ORIGIN= app_ORIGIN= # origine de la branche (origin par défaut)
app_BRANCH= app_PROFILE_BRANCH= # branche spécifique à un profil
app_TYPE= app_BRANCH= # ...ou branche par défaut
app_AFTER_UPDATE=() app_TYPE= # type de projet (composer par défaut)
app_AFTER_UPDATE=() # liste de commandes à lancer après le checkout
-u, --uu, --update-apps-only -u, --uu, --update-apps-only
Ne faire que la mise à jour depuis les dépôts dépendants. Ne faire que la mise à jour depuis les dépôts dépendants.
--uo, --update-apps-origin ORIGIN --uo, --update-apps-origin ORIGIN
Spécifier l'origine par défaut pour update-apps Spécifier l'origine par défaut pour update-apps
--ub, --update-apps-branch BRANCH --ub, --update-apps-branch BRANCH
Spécifier la branche par défaut pour update-apps" Spécifier la branche par défaut pour update-apps
VARIABLES de update-apps.conf
AFTER_UPDATE
Cette variable est une liste de commandes à lancer après la maj du dépôt
- si le chemin est absolu ou relatif, lancer la commande telle quelle
- s'il n'y a pas de chemin, alors ce doit être le nom d'une fonction
existante auquel on enlève le préfixe update_apps_func_
FONCTIONS de update-apps.conf
sqlmig [DESTDIR [SRCDIR]]
Copier les définitions des bases de données au format sqlmig de
SRCDIR/config/sqlmig vers DESTDIR/config/mariadb/sqlmig"
} }
function get_version() { function get_version() {
@ -278,27 +289,40 @@ function build_update_apps() {
for app in "${APPS[@]}"; do for app in "${APPS[@]}"; do
etitle "$app" etitle "$app"
url="${app}_URL"; url="${!url}" url="${app}_URL"; url="${!url}"
dest="${app}_DEST"; dest="${!dest}"
origin="${app}_ORIGIN"; origin="${!origin}"
branch="${app}_BRANCH"; branch="${!branch}"
type="${app}_TYPE"; type="${!type}"
after_updates="${app}_AFTER_UPDATE"
if is_defined "$after_updates"; then
after_updates="$after_updates[@]"; after_updates="${!after_updates}"
else
# script par défaut après update-apps
after_updates=(sqlmig)
fi
[ -n "$url" ] || { [ -n "$url" ] || {
ewarn "$app: vous devez définir l'url" ewarn "$app: vous devez définir l'url"
eend; return 1 eend; return 1
} }
[ -n "$dest" ] || dest="$app"
dest="${app}_DEST"; dest="${!dest}"
[ -n "$dest" ] || dest="$app/b"
mkdir -p "$dest" || { eend; return 1; } mkdir -p "$dest" || { eend; return 1; }
origin="${app}_ORIGIN"; origin="${!origin}"
[ -n "$origin" ] || origin="$DEFAULT_ORIGIN" [ -n "$origin" ] || origin="$DEFAULT_ORIGIN"
branch="${app}_${PROFILE}_BRANCH"; branch="${!branch}"
[ -n "$branch" ] || { branch="${app}_BRANCH"; branch="${!branch}"; }
[ -n "$branch" ] || branch="$DEFAULT_BRANCH" [ -n "$branch" ] || branch="$DEFAULT_BRANCH"
type="${app}_TYPE"; type="${!type}"
if [ -z "$type" ]; then
if [ -f "$dest/composer.json" ]; then
type=composer
else
type=inconnu
fi
fi
after_updates="${app}_AFTER_UPDATE"
if is_defined "$after_updates"; then
after_updates="$after_updates[@]"; after_updates="${!after_updates}"
elif [ "$type" == composer ]; then
after_updates=(sqlmig)
else
after_updates=()
fi
dest="$dest/$app" dest="$dest/$app"
if [ ! -d "$dest" ]; then if [ ! -d "$dest" ]; then
# clonage initial # clonage initial
@ -314,13 +338,6 @@ function build_update_apps() {
cd "$cwd" cd "$cwd"
fi fi
if [ -z "$type" ]; then
if [ -f "$dest/composer.json" ]; then
type=composer
else
type=inconnu
fi
fi
estep "Type de dépôt: $type" estep "Type de dépôt: $type"
if [ "$type" == composer ]; then if [ "$type" == composer ]; then
composer=/usr/bin/composer composer=/usr/bin/composer