Я новичок в использовании git-хуков, и теперь я пытаюсь восстановить пакеты nuget для проектов в моем решении и после этого построить решение.
Я создал git hook 'post-merge' и добавил следующий код:
#!/bin/sh
RED='\033[0;31m'
GREEN='\033[0;32m'
NC='\033[0m'
projectRoot="$(git rev-parse --show-toplevel)"
solutionFile="solution.sln"
msBuild="C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\MSBuild\15.0\Bin\MSBuild.exe"
echo -e "\n${RED}Restoring nuget packages for ${solutionFile}...${NC}"
./nuget.exe restore $projectRoot/development/$solutionFile
echo -e "${GREEN}Done restoring nuget packages for ${solutionFile}.${NC}\n"
echo -e "\n${RED}Building ${solutionFile}...${NC}"
"$msBuild" $projectRoot/development/$solutionFile
echo -e "${GREEN}Done building ${solutionFile}.${NC}\n"
exit 1
Я добавил выход 1, чтобы я мог проверить свои команды, фактически не тянув проект.
Теперь, после того как я запустил nuget.exe в пути решения, он возвращает путь автообнаружения msbuild, я хочу использовать этот путь для поиска msbuild.exe, чтобы я мог запустить msbuild для решения в зависимости от используемой версии.
Как мне это сделать?
И если есть какой-либо способ улучшить или улучшить этот код, пожалуйста, дайте мне знать!
Спасибо!