/
Dengit-man
/
CustomLocaleKeyShortcut
Обзор
Документация
Войти
/
Dengit-man
/
CustomLocaleKeyShortcut
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
7
CI/CD
Аналитика
Безопасность
AddMacOS
scripts/generate_report.sh
49 строк
2 KB
Dengit-man
Добавлено создание отчёта о результате сборки.
25 янв 2026, 06:44
Верифицирован
25 янв 2026, 06:44
ae27f19
Код
Авторство
О чём код?
#!/bin/bash # Переменные для хранения информации о сборке BUILD_TYPE="${1:-Unknown}" dir="${2:-.}" # Каталог (по умолчанию текущий) out_file="${3:-report.json}" # Файл, в который будет записан список projName="${4:-}" # Файл, в который будет записан список # По умолчанию считаем, что сборка успешна BUILD_RESULT="success" # Проверка успешности сборки if [[ ! -z $(find "$dir" -maxdepth 1 -name '*.exe' -print -quit) ]]; then BUILD_RESULT="success" else BUILD_RESULT="fail" fi echo "Список выходных файлов 5" # Формирование JSON-отчета cat <<EOF > "$out_file" { "build_type": "$BUILD_TYPE", "build_result": "$BUILD_RESULT", "project": "$projName", "output_files": [ EOF # Добавляем список файлов (каждый как строка JSON) first=true for f in "$dir"/*.exe "$dir"/*.dll; do [[ -e "$f" ]] || continue # Пропустить, если совпадений нет if $first; then first=false else echo "," >> "$out_file" fi # Экранирование символов для корректной строки JSON escaped=$(printf '%s' "$f" | sed 's/\\/\\\\/g; s/"/\\"/g') echo " \"$escaped\"" >> "$out_file" done # Закрытие массива и объекта cat <<EOF >> "$out_file" ] } EOF exit 0