diff --git a/dk b/dk index 11327bc..3666200 100755 --- a/dk +++ b/dk @@ -61,23 +61,34 @@ OPTIONS générales OPTIONS build (ces options ne sont valides que pour les commandes build, brd, bs) -g, --ug, --no-update-apps - ne pas mettre à jour les dépôts dépendants. ces dépôts sont - définis dans le fichier update-apps.conf qui a le format - suivant: + ne pas mettre à jour les dépôts dépendants. ces dépôts sont définis dans + le fichier update-apps.conf qui a le format suivant: DEFAULT_BRANCH= - APPS=() - app_URL= - app_DEST= - app_ORIGIN= - app_BRANCH= - app_TYPE= - app_AFTER_UPDATE=() + APPS=() # liste d'applications à mettre à jour + app_URL= # url du dépôt + app_DEST= # répertoire dans lequel faire le checkout + app_ORIGIN= # origine de la branche (origin par défaut) + app_PROFILE_BRANCH= # branche spécifique à un profil + app_BRANCH= # ...ou branche par défaut + 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 Ne faire que la mise à jour depuis les dépôts dépendants. --uo, --update-apps-origin ORIGIN Spécifier l'origine par défaut pour update-apps --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() { @@ -278,27 +289,40 @@ function build_update_apps() { for app in "${APPS[@]}"; do etitle "$app" 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" ] || { ewarn "$app: vous devez définir l'url" eend; return 1 } - [ -n "$dest" ] || dest="$app" + + dest="${app}_DEST"; dest="${!dest}" + [ -n "$dest" ] || dest="$app/b" mkdir -p "$dest" || { eend; return 1; } + + origin="${app}_ORIGIN"; origin="${!origin}" [ -n "$origin" ] || origin="$DEFAULT_ORIGIN" + + branch="${app}_${PROFILE}_BRANCH"; branch="${!branch}" + [ -n "$branch" ] || { branch="${app}_BRANCH"; branch="${!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" if [ ! -d "$dest" ]; then # clonage initial @@ -314,13 +338,6 @@ function build_update_apps() { cd "$cwd" 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" if [ "$type" == composer ]; then composer=/usr/bin/composer