Skip to content
Snippets Groups Projects
Commit b740efd3 authored by Anthony Borghi's avatar Anthony Borghi
Browse files

update script Utils

parent a46d16a0
Branches
Tags
No related merge requests found
robocopy "githooks" "../.git/hooks" /E /NFL /NDL /NJH /NJS /nc /ns /np
#!/bin/bash
#
# Récupère l'ensemble des dépendances depuis conf/_install/dependency.xml
# Nécessite xmllint : sudo apt install libxml2-utils
#
#
#
#
if [ "../conf/_install/dependency.xml" ]; then
let depsCount=$(xmllint --xpath 'count(//dependenciesCollection/dependency/name)' ../conf/_install/dependency.xml)
declare -A aDeps
vitisVersion=master
depsCount=0
dependencies=($(cat "../conf/_install/dependency.xml" | tr -d '\040\011\012\015' | grep -oP '<dependency>([\s\S]*?)<\/dependency>'))
for (( i=1; i <= $depsCount; i++ )); do
for i in ${!dependencies[*]}; do
sName="$(xmllint --xpath 'string(//dependenciesCollection/dependency['$i']/name)' ../conf/_install/dependency.xml)"
sVersion="$(xmllint --xpath 'string(//dependenciesCollection/dependency['$i']/version)' ../conf/_install/dependency.xml)"
sNature="$(xmllint --xpath 'string(//dependenciesCollection/dependency['$i']/nature)' ../conf/_install/dependency.xml)"
sName=$(grep -oP '(?<=name>)[^<]+' <<< ${dependencies[$i]})
sVersion=$(grep -oP '(?<=version>)[^<]+' <<< ${dependencies[$i]})
sNature=$(grep -oP '(?<=nature>)[^<]+' <<< ${dependencies[$i]})
if [ $sName == "vitis" ]; then
vitisVersion=$sVersion
......@@ -27,22 +26,22 @@ if [ "../conf/_install/dependency.xml" ]; then
aDeps[$i, name]=$sName
aDeps[$i, version]=$sVersion
aDeps[$i, nature]=$sNature
let depsCount++
fi
done
echo "[INFO] dependencies:"
echo "vitis : $vitisVersion"
for (( i=1; i <= $depsCount; i++ )); do
echo "name: ${aDeps[$i, name]}"
echo "version: ${aDeps[$i, version]}"
for i in ${!dependencies[*]}; do
echo "(${aDeps[$i, nature]}) ${aDeps[$i, name]} : ${aDeps[$i, version]}"
done
echo "depsCount : ${depsCount}"
export vitisVersion
export depsCount
export aDeps
else
echo "[ERROR] ../conf/_install/dependency.xml not found"
fi
......@@ -19,23 +19,69 @@ read APP_EXISTING_PATH
cd ..
# Supprime les anciens symlinks
if [ -d "client" ]; then
rm -Rf client
fi
if [ -d "vas" ]; then
rm -Rf vas
fi
find src/vitis/client -type l -delete
find src/vitis/vas/sql -type l -delete
find src/vitis/vas/rest -type l -delete
# Vitis
echo "---- Link vitis ----"
if ! [ -e "$(pwd)/client" ]; then
echo "---- Link vitis 2 ----"
ln -rsf src/vitis/client client
mkdir client
mkdir client/javascript
mkdir client/modules
ln -rsf src/vitis/client/css client/css
ln -rsf src/vitis/client/forms client/forms
ln -rsf src/vitis/client/images client/images
ln -rsf src/vitis/client/javascript/app client/javascript/app
ln -rsf src/vitis/client/javascript/externs client/javascript/externs
ln -rsf src/vitis/client/javascript/require client/javascript/require
ln -rsf src/vitis/client/lang client/lang
ln -rsf src/vitis/client/less client/less
ln -rsf src/vitis/client/modules/vitis client/modules/vitis
ln -rsf src/vitis/client/templates client/templates
ln -rsf src/vitis/client/.htaccess client/.htaccess
ln -rsf src/vitis/client/index.html client/index.html
fi
if ! [ -e "$(pwd)/vas" ]; then
ln -rsf src/vitis/vas vas
mkdir vas
mkdir vas/rest
mkdir vas/rest/ws
ln -rsf src/vitis/vas/doc vas/doc
ln -rsf src/vitis/vas/rest/class vas/rest/class
ln -rsf src/vitis/vas/rest/inc vas/rest/inc
ln -rsf src/vitis/vas/rest/ws/vitis vas/rest/ws/vitis
ln -rsf src/vitis/vas/rest/index.phtml vas/rest/index.phtml
ln -rsf src/vitis/vas/rest/index.vhtml vas/rest/index.vhtml
ln -rsf src/vitis/vas/sql vas/sql
ln -rsf src/vitis/vas/util vas/util
fi
# Conf
echo "---- Link conf ----"
if ! [ -e "src/vitis/client/conf" ]; then
ln -rsf conf src/vitis/client/conf
# ln -rsf conf client/conf
mkdir client/conf
for elem in $( ls "conf"); do
if [[ $elem != 'properties.json' ]]; then
if [[ -d "conf/${elem}" || -f "conf/${elem}" ]]; then
echo "---- Link conf/$elem"
ln -rsf conf/$elem client/conf/$elem
fi
fi
done
fi
if ! [ -e "conf/closure" ]; then
ln -rsf src/closure/conf conf/closure
ln -rsf src/closure/conf client/conf/closure
fi
# Modules
......@@ -47,22 +93,17 @@ if [[ $depsCount > 0 ]]; then
echo "---- Link module_${module} ----"
if [ -d "$(pwd)/src/module_${module}/module" ]; then
if ! [ -e "src/vitis/client/modules/${module}" ]; then
ln -rsf src/module_${module}/module src/vitis/client/modules/${module}
ln -rsf src/module_${module}/module client/modules/${module}
fi
fi
if [ -d "$(pwd)/src/module_${module}/web_service/ws" ]; then
if ! [ -e "src/vitis/vas/rest/ws/${module}" ]; then
ln -rsf src/module_${module}/web_service/ws src/vitis/vas/rest/ws/${module}
fi
fi
if [ -d "$(pwd)/src/module_${module}/web_service/conf" ]; then
if ! [ -e "src/vitis/vas/rest/conf/${module}" ]; then
ln -rsf src/module_${module}/web_service/conf src/vitis/vas/rest/conf/${module}
ln -rsf src/module_${module}/web_service/ws vas/rest/ws/${module}
fi
fi
if [ -d "$(pwd)/src/module_${module}/web_service/sql" ]; then
if ! [ -e "src/vitis/vas/sql/${module}" ]; then
ln -rsf src/module_${module}/web_service/sql src/vitis/vas/sql/${module}
ln -rsf src/module_${module}/web_service/sql vas/sql/${module}
fi
fi
if [ -d "$(pwd)/src/module_${module}/web_service/class" ]; then
......@@ -70,7 +111,7 @@ if [[ $depsCount > 0 ]]; then
if [ -d "$(pwd)/src/module_${module}/web_service/class/${class_dir}" ]; then
echo "---- Link module_${module}/${class_dir} ----"
if ! [ -e "src/vitis/vas/rest/class/${class_dir}" ]; then
ln -rsf src/module_${module}/web_service/class/${class_dir} src/vitis/vas/rest/class/${class_dir}
ln -rsf src/module_${module}/web_service/class/${class_dir} vas/rest/class/${class_dir}
fi
fi
done
......@@ -84,6 +125,7 @@ if [[ $depsCount > 0 ]]; then
echo "---- Link exixting app ${APP_EXISTING_PATH} ----"
declare -a existing_folders_path=("vas/server"
"vas/rest/conf"
"vas/log"
"vas/public"
"vas/shared"
......@@ -99,11 +141,6 @@ if [[ $depsCount > 0 ]]; then
done
declare -a existing_files_path=("client/conf/properties.json"
"vas/rest/conf/properties.inc"
"vas/rest/conf/properties_domain.inc"
"vas/rest/conf/properties_post.inc"
"vas/rest/conf/properties_server.inc"
"vas/rest/conf/version.inc"
"vas/rest/.htaccess")
for file_path in "${existing_files_path[@]}"; do
if [ -f "${APP_EXISTING_PATH}/$file_path" ]; then
......@@ -114,15 +151,8 @@ if [[ $depsCount > 0 ]]; then
for properties_dir in $( ls "${APP_EXISTING_PATH}/vas/rest/conf"); do
if [ -d "${APP_EXISTING_PATH}/vas/rest/conf/${properties_dir}" ]; then
if [ -d "$(pwd)/vas/rest/conf/${properties_dir}" ]; then
for properties_file in $( ls "${APP_EXISTING_PATH}/vas/rest/conf/${properties_dir}"); do
# if [ ${properties_file:0:10}=="properties" || ${properties_file}=="version.inc" ]; then
if [[ $properties_file == "properties"* ]] || [[ $properties_file == "version.inc" ]]; then
echo "copy vas/rest/conf/${properties_dir}/${properties_file}"
cp -f "${APP_EXISTING_PATH}/vas/rest/conf/${properties_dir}/${properties_file}" "$(pwd)/vas/rest/conf/${properties_dir}/${properties_file}"
fi
done
fi
echo "copy ${APP_EXISTING_PATH}/vas/rest/conf/${properties_dir}/ > $(pwd)/vas/rest/conf/"
cp -Rf "${APP_EXISTING_PATH}/vas/rest/conf/${properties_dir}/" "$(pwd)/vas/rest/conf/"
fi
done
fi
......
@echo off
title Install Vitis App
setlocal EnableDelayedExpansion
cd ..
set /p existing_path="Existing app path: "
REM Client Dir
echo Create client directory
if exist "client" (
rmdir /S /Q "client"
)
echo copy client
robocopy "src/vitis/client" "client" /E /NFL /NDL /NJH /NJS /nc /ns /np
echo copy client/conf
robocopy "conf" "client/conf" /E /NFL /NDL /NJH /NJS /nc /ns /np
echo copy client/conf/closure
robocopy "src/closure/conf" "client/conf/closure" /E /NFL /NDL /NJH /NJS /nc /ns /np
echo Copy client modules
for /d %%g in ("src/module_*") do (
set x=%%g
echo !x:~7!
if exist "src/%%g/module" (
echo copy client/modules/!x:~7!
robocopy "src/%%g/module" "client/modules/!x:~7!" /E /NFL /NDL /NJH /NJS /nc /ns /np
)
)
REM VAS dir
echo Create vas directory
echo Create client directory
if exist "vas" (
rmdir /S /Q "vas"
)
echo copy vas
robocopy "src/vitis/vas" "vas" /E /NFL /NDL /NJH /NJS /nc /ns /np
echo Copy vas web_services
for /d %%g in ("src/module_*") do (
set x=%%g
echo !x:~7!
if exist "src/%%g/web_service/conf" (
echo copy vas/rest/conf/!x:~7!
robocopy "src/%%g/web_service/conf" "vas/rest/conf/!x:~7!" /E /NFL /NDL /NJH /NJS /nc /ns /np
)
if exist "src/%%g/web_service/sql" (
echo copy vas/sql/!x:~7!
robocopy "src/%%g/web_service/sql" "vas/sql/!x:~7!" /E /NFL /NDL /NJH /NJS /nc /ns /np
)
if exist "src/%%g/web_service/ws" (
echo copy vas/rest/ws/!x:~7!
robocopy "src/%%g/web_service/ws" "vas/rest/ws/!x:~7!" /E /NFL /NDL /NJH /NJS /nc /ns /np
)
if exist "src/%%g/web_service/class" (
echo copy vas/rest/class
robocopy "src/%%g/web_service/class" "vas/rest/class" /E /NFL /NDL /NJH /NJS /nc /ns /np
)
if exist "src/%%g/web_service/ws_data" (
echo copy vas/ws_data
robocopy "src/%%g/web_service/ws_data" "vas/ws_data" /E /NFL /NDL /NJH /NJS /nc /ns /np
)
if exist "src/%%g/web_service/public" (
echo copy vas/public
robocopy "src/%%g/web_service/public" "vas/public" /E /NFL /NDL /NJH /NJS /nc /ns /np
)
if exist "src/%%g/web_service/upload" (
echo copy vas/upload
robocopy "src/%%g/web_service/upload" "vas/upload" /E /NFL /NDL /NJH /NJS /nc /ns /np
)
)
REM Copy from existing path
if exist %existing_path% (
echo copy properties from %existing_path%
for %%G in (vas\server,vas\rest\conf,vas\log,vas\public,vas\shared,vas\tmp,vas\upload,vas\ws_data) do (
echo %%G
if exist %existing_path%\%%G (
echo copy %%G
robocopy "%existing_path%\%%G" "%%G" /E /NFL /NDL /NJH /NJS /nc /ns /np
)
)
if exist %existing_path%\client\conf\properties.json (
echo copy properties.json
robocopy "%existing_path%\client\conf" "client\conf" "properties.json" /NFL /NDL /NJH /NJS /nc /ns /np
)
if exist %existing_path%\vas\rest\.htaccess (
echo copy .htaccess
robocopy "%existing_path%\vas\rest" "vas\rest" ".htaccess" /NFL /NDL /NJH /NJS /nc /ns /np
)
if exist "%existing_path%\vas\rest\conf" (
echo copy vas\rest\conf
robocopy "%existing_path%\vas\rest\conf" "vas\rest\conf" /E /NFL /NDL /NJH /NJS /nc /ns /np
)
)
......@@ -17,17 +17,7 @@ cd ..
# Vitis
echo "---- Pull vitis ----"
git subtree pull --prefix src/vitis --squash -m "pull subtree" "git@gitlab.veremes.net:Development/vitis_apps/sources/vitis.git" master
# fichiers à ignorer
git update-index --assume-unchanged conf/properties.json
git update-index --assume-unchanged conf/package.json
git update-index --assume-unchanged src/vitis/vas/rest/.htaccess
git update-index --assume-unchanged src/vitis/vas/rest/conf/properties.inc
git update-index --assume-unchanged src/vitis/vas/rest/conf/properties_domain.inc
git update-index --assume-unchanged src/vitis/vas/rest/conf/properties_post.inc
git update-index --assume-unchanged src/vitis/vas/rest/conf/properties_server.inc
git update-index --assume-unchanged src/vitis/vas/rest/conf/version.inc
git subtree pull --prefix src/vitis --squash -m "pull subtree" "git@gitlab.veremes.net:Development/vitis_apps/sources/vitis.git" $vitisVersion
# Modules
if [[ $depsCount > 0 ]]; then
......@@ -36,11 +26,7 @@ if [[ $depsCount > 0 ]]; then
echo "---- Pull ${aDeps[$i, name]} ----"
# Ajoute le dépôt
git subtree pull --prefix src/${aDeps[$i, name]} --squash -m "pull subtree" "git@gitlab.veremes.net:Development/vitis_apps/sources/${aDeps[$i, name]}.git" master
# fichiers à ignorer
git update-index --assume-unchanged src/${aDeps[$i, name]}/web_service/conf/properties.inc
git update-index --assume-unchanged src/${aDeps[$i, name]}/web_service/conf/properties_server.inc
git update-index --assume-unchanged src/${aDeps[$i, name]}/web_service/conf/version.inc
git subtree pull --prefix src/${aDeps[$i, name]} --squash -m "pull subtree" "git@gitlab.veremes.net:Development/vitis_apps/sources/${aDeps[$i, name]}.git" ${aDeps[$i, version]}
fi
done
fi
......@@ -17,7 +17,11 @@ cd ..
# Vitis
echo "---- Push vitis ----"
git subtree push --prefix src/vitis "git@gitlab.veremes.net:Development/vitis_apps/sources/vitis.git" master
{ # 'try' block
git subtree push --prefix src/vitis "git@gitlab.veremes.net:Development/vitis_apps/sources/vitis.git" $vitisVersion
} || { # 'catch' block
echo "could not push vitis"
}
# Modules
if [[ $depsCount > 0 ]]; then
......@@ -28,7 +32,7 @@ if [[ $depsCount > 0 ]]; then
# Push le dépôt
{ # 'try' block
git subtree push --prefix src/${aDeps[$i, name]} "git@gitlab.veremes.net:Development/vitis_apps/sources/${aDeps[$i, name]}.git" master
git subtree push --prefix src/${aDeps[$i, name]} "git@gitlab.veremes.net:Development/vitis_apps/sources/${aDeps[$i, name]}.git" ${aDeps[$i, version]}
} || { # 'catch' block
echo "could not push ${aDeps[$i, name]}"
}
......
@echo off
title Update Vitis tree
echo Update Vitis tree
setlocal EnableDelayedExpansion
cd utils
REM Pull repo
"C:\Program Files\Git\bin\sh.exe" --login -i -c "git pull"
REM Pull subtrees
"C:\Program Files\Git\bin\sh.exe" --login -i -c "./pull_subtrees.sh"
REM Save important files
if exist "../vas/rest/sql" (
robocopy "../vas/rest/sql" "../vas/rest/sql_bak" /E /NFL /NDL /NJH /NJS /nc /ns /np
)
if exist "../vas/rest/conf" (
robocopy "../vas/rest/conf" "../vas/rest/conf_bak" /E /NFL /NDL /NJH /NJS /nc /ns /np
)
REM Replace Vitis files
for /d %%g in ("../src/vitis/client/*") do (
set x=%%g
echo copy client/!x!
rmdir /S /Q "../client/!x!"
robocopy "../src/vitis/client/!x!" "../client/!x!" /E /NFL /NDL /NJH /NJS /nc /ns /np
)
for /d %%g in ("../src/vitis/vas/sql") do (
echo copy vas/sql
rmdir /S /Q "../vas/sql"
robocopy "../src/vitis/vas/sql" "../vas/sql" /E /NFL /NDL /NJH /NJS /nc /ns /np
)
for /d %%g in ("../src/vitis/vas/rest/class") do (
echo copy vas/rest/class
rmdir /S /Q "../vas/rest/class"
robocopy "../src/vitis/vas/rest/class" "../vas/rest/class" /E /NFL /NDL /NJH /NJS /nc /ns /np
)
for /d %%g in ("../src/vitis/vas/rest/conf") do (
echo copy vas/rest/conf
robocopy "../src/vitis/vas/rest/conf" "../vas/rest/conf_veremes" /E /NFL /NDL /NJH /NJS /nc /ns /np
)
for /d %%g in ("../src/vitis/vas/rest/inc") do (
echo copy vas/rest/inc
rmdir /S /Q "../vas/rest/inc"
robocopy "../src/vitis/vas/rest/inc" "../vas/rest/inc" /E /NFL /NDL /NJH /NJS /nc /ns /np
)
for /d %%g in ("../src/vitis/vas/rest/ws") do (
echo copy vas/rest/ws
rmdir /S /Q "../vas/rest/ws"
robocopy "../src/vitis/vas/rest/ws" "../vas/rest/ws" /E /NFL /NDL /NJH /NJS /nc /ns /np
)
REM Replace modules files
for /d %%g in ("../src/module_*") do (
set x=%%g
if exist "../src/%%g/module" (
echo copy client/modules/!x:~7!
robocopy "../src/%%g/module" "../client/modules/!x:~7!" /E /NFL /NDL /NJH /NJS /nc /ns /np
)
if exist "../src/%%g/web_service/conf" (
echo copy vas/rest/conf_veremes/!x:~7!
robocopy "../src/%%g/web_service/conf" "../vas/rest/conf_veremes/!x:~7!" /E /NFL /NDL /NJH /NJS /nc /ns /np
)
if exist "../src/%%g/web_service/sql" (
echo copy vas/sql/!x:~7!
robocopy "../src/%%g/web_service/sql" "../vas/sql/!x:~7!" /E /NFL /NDL /NJH /NJS /nc /ns /np
)
if exist "../src/%%g/web_service/ws" (
echo copy vas/rest/ws/!x:~7!
robocopy "../src/%%g/web_service/ws" "../vas/rest/ws/!x:~7!" /E /NFL /NDL /NJH /NJS /nc /ns /np
)
if exist "../src/%%g/web_service/class" (
echo copy vas/rest/class
robocopy "../src/%%g/web_service/class" "../vas/rest/class" /E /NFL /NDL /NJH /NJS /nc /ns /np
)
)
cd ..
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment