#!/bin/bash # Joomla installation at: JOOMLADIR="/srv/http/joomla5" # this is a script file to generate a zip package from this source: cd "$(dirname "$0")" cd .. # now we are at the depot directory # if there is a file named depot.xml, we ask to increase the version with read -p "Do you want to update/increase the patch (last) version number? (y/N)" -n 1 -r echo # (optional) move to a new line if [[ $REPLY =~ ^[YyJj]$ ]] then echo "Updating the version" # patch=`xmllint -xpath 'string(//*[local-name()="version"])' depot.xml | rev | cut -f1 -d. | rev` # echo "$patch" # patch=$((patch+1)) # echo "$patch" version=`xmllint -xpath 'string(//*[local-name()="version"])' depot.xml` major=`echo "$version" | cut -f1 -d.` minor=`echo "$version" | cut -f2 -d.` patch=`echo "$version" | cut -f3 -d.` echo "$version" patch=$((patch+1)) minor=$((minor)) newversion="$major.$minor.$patch" echo "$newversion" printf -v date '%(%Y-%m-%d)T\n' -1 xmllint --shell depot.xml << EOF cd extension/version set $newversion cd /extension/creationDate set $date save EOF else echo "Keep the version" fi mkdir -p zip # Generate ZIP file without directories zip, script zip -q -r zip/depot.zip * -x .git/\* -x script/\* -x zip/\* # Install this extension to the active Joomla installation per CLI read -p "Do you want to install this to the Joomla installation at \"$JOOMLADIR\"? (Y/n)" -n 1 -r echo # (optional) move to a new line if [[ $REPLY =~ ^[Nn]$ ]] then echo "Extension was not installed" else # Find the CLI php procedure, file joomla.php in cli must exists. FILE="${JOOMLADIR}/cli/joomla.php" if [ -f "$FILE" ] then echo "$FILE exists." php $FILE --version php $FILE --help php $FILE list # sudo -g http php $FILE core:update:check php $FILE core:update:check pwd # sudo -u http php $FILE extension:install --path zip/depot.zip -v php $FILE extension:install --path zip/depot.zip -v php $FILE extension:list --type component else echo "$FILE does not exists." exit 9 fi fi