From 1c4312596e2352299183077bf930bc57b16bb5b0 Mon Sep 17 00:00:00 2001 From: Jan Umbach Date: Mon, 14 Aug 2023 00:06:23 +0200 Subject: [PATCH] whops --- 22222publish_firmware.sh | 346 --------------------------------------- s | 0 2 files changed, 346 deletions(-) delete mode 100644 22222publish_firmware.sh delete mode 100644 s diff --git a/22222publish_firmware.sh b/22222publish_firmware.sh deleted file mode 100644 index d8c1681..0000000 --- a/22222publish_firmware.sh +++ /dev/null @@ -1,346 +0,0 @@ -#!/bin/bash - -#BASEDIR=$(dirname "$0") -#cd "$BASEDIR" - -# Set the IDF_PATH environment variable to point to the ESP-IDF installation -export IDF_PATH=~/esp/esp-idf - -version_file="version.txt" -initial_version="1.0" -initProject="false" - -firmware_server_path="./firmwareserver" - -# Function to translate text using translate-shell -translate() { - text="$1" - lang="$2" - translation=$(trans -b :"$lang" "$text") - echo "$translation" -} - -# check if backup file exists and restore it -if [ -f "$version_file.backup" ]; then - mv "$version_file.backup" "$version_file" -fi - -# Check if version file exists -if [ -f "$version_file" ]; then - current_version=$(cat "$version_file") -else - echo "" - echo "" - read -p "Version file not found. Create version.txt with initial version $initial_version? (y/n) " create_new - if [ "$create_new" = "y" ]; then - echo "$initial_version" >"$version_file" - current_version="$initial_version" - initProject="true" - else - echo "Cancelling script." - exit 0 - fi -fi - -# check if project is initialized -if [ "$initProject" = "true" ]; then - echo "" - echo "###############################################" - echo "" - echo "Project initialized with version $initial_version" - echo "" - echo "###############################################" - echo "" - -else - - # create backup file from version.txt - cp "$version_file" "$version_file.backup" - - # Ask user for input - - echo "" - echo "" - read -p "Is this a bugfix update (y/n)? [y]" bug_fixes - - if [ "$bug_fixes" = "y" ] || [ "$bug_fixes" = "" ]; then - new_version=$(echo "$current_version + 0.1" | bc) - - else - echo "" - echo "" - read -p "Are there major changes (y/n)? [n]" major_changes - - # Determine the version increment based on user input - if [ "$major_changes" = "y" ]; then - new_version=$(echo "$current_version + 1.1" | bc) - else - echo "" - echo "###############################################" - echo "" - echo "No version change needed." - echo "" - echo "###############################################" - - exit 0 - fi - fi - - # Update version in the file - echo "$new_version" >"$version_file" - - echo "" - echo "###############################################" - echo "" - echo "Update and publish firmware to version: $new_version ..." - echo "" - echo "###############################################" - echo "" -fi - -echo "building project..." -echo "" - -. ${IDF_PATH}/export.sh >/dev/null 2>&1 - -# Clean the build directory - -#check if passing --clean to script -if [ "$1" = "--clean" ]; then - echo "cleaning project..." - echo "" - "$IDF_PATH/tools/idf.py" fullclean -fi -"$IDF_PATH/tools/idf.py" build - -# Check if the build was successful -if [ $? -eq 0 ]; then - - # get project name in cmake file but the file contains multiple project texts - project_name=$(grep -oP '(?<=project\().*(?=\))' CMakeLists.txt) - - echo "project name: $project_name" - - # check if project_name.bin file in ./build directory exists - if [ -f "./build/$project_name.bin" ]; then - echo "firmware file found: $project_name.bin" - else - echo "firmware file not found: $project_name.bin" - exit 1 - fi - - # git get current branch name - branch_name=$(git rev-parse --abbrev-ref HEAD) - - # check if folder firmware_server_path exists and create if not exists - if [ ! -d "$firmware_server_path" ]; then - # promt user to create folder otherwise exit 1 - echo "" - echo "###############################################" - echo "" - echo "Folder $firmware_server_path does not exist!" - exit 1 - fi - # check if folder exists and create if not exist in firmware_server_path / project_name - if [ ! -d "$firmware_server_path/$project_name" ]; then - # promt user to create folder otherwise exit 1 - echo "" - echo "###############################################" - echo "" - read -p "Device $project_name does not exist! Create it? (y/n) " create_folder - if [ "$create_folder" = "y" ]; then - mkdir -p "$firmware_server_path/$project_name" - else - echo "Cancelling script." - exit 1 - fi - - fi - - # check if folder exists and create if not exist in firmware_server_path / project_name / branch_name - if [ ! -d "$firmware_server_path/$project_name/$branch_name" ]; then - # promt user to create folder otherwise exit 1 - echo "" - echo "###############################################" - echo "" - read -p "Branch $branch_name does not exist! Create it? (y/n) " create_folder - if [ "$create_folder" = "y" ]; then - mkdir -p "$firmware_server_path/$project_name/$branch_name" - else - echo "Cancelling script." - exit 1 - fi - - fi - - # copy firmware file to firmware_server_path / project_name / branch_name - cp "./build/$project_name.bin" "$firmware_server_path/$project_name/$branch_name/firmware$new_version.bin" - - # check if file exists and create one firmware_server_path / project_name / branch_name / info.json - if [ ! -f "$firmware_server_path/$project_name/$branch_name/info.json" ]; then - # promt user to create folder otherwise exit 1 - echo "" - echo "###############################################" - echo "" - read -p "File info.json does not exist! Create it? (y/n) " create_file - if [ "$create_file" = "y" ]; then - echo "creating file..." - echo "" - echo "{" >"$firmware_server_path/$project_name/$branch_name/info.json" - echo " \"version\": \"$new_version\"," >>"$firmware_server_path/$project_name/$branch_name/info.json" - echo " \"date\": \"$(date)\"" >>"$firmware_server_path/$project_name/$branch_name/info.json" - echo "}" >>"$firmware_server_path/$project_name/$branch_name/info.json" - else - echo "Cancelling script." - exit 1 - fi - fi - - # check if ./changelog_en.txt exists If not exists create empty file - if [ ! -f "./changelog_en.txt" ]; then - echo "creating changelog_en.txt..." - echo "" >"./changelog_en.txt" - fi - - # read changelog_en.txt - changes_en=$(cat "./changelog_en.txt") - - # check if changes_en is empty or contains no letters or numbers - echo "" - echo "###############################################" - echo "" - - if [ -z "$changes_en" ] || [ ! -n "$(echo "$changes_en" | sed -e 's/[[:space:]]//g')" ]; then - - echo "Enter quick changes:" - echo "" - read -p "English: " changes_en - echo "" - echo "###############################################" - echo "" - else - changesFromFile="true" - fi - - echo "English changes:" - echo "$changes_en" - - changes_de=$(translate "$changes_en" de) - echo "" - echo "German changes:" - echo "$changes_de" - - echo "" - echo "###############################################" - echo "" - - # check if var "changesFromFile" is true - - if [ "$changesFromFile" = "true" ]; then - # ask to agree or edit changes - read -p "Do you agree with the changes? (y/n) [y]" agree_changes - if [ "$agree_changes" != "y" ] && [ "$agree_changes" != "" ]; then - echo "Enter changes:" - echo "" - read -p "English: " changes_en - echo "" - echo "###############################################" - echo "" - echo "English changes:" - echo "$changes_en" - echo "" - changes_de=$(translate "$changes_en" de) - - echo "German changes:" - echo "$changes_de" - echo "" - changesFromFile="false" - fi - fi - - # if changes entered ask to agree or discard - if [ ! -z "$changes_de" ] || [ ! -z "$changes_en" ]; then - if [ "$changesFromFile" != "true" ]; then - read -p "Do you agree with the changes? (y/n) " agree_changes - fi - - if [ "$changesFromFile" = "true" ] || [ "$agree_changes" = "y" ]; then - - # escape to json in $changes_de and $changes_en - changes_de_escaped=$(echo "$changes_de" | sed ':a;N;$!ba;s/\n/\\n/g') - changes_en_escaped=$(echo "$changes_en" | sed ':a;N;$!ba;s/\n/\\n/g') - - # check if file exists and create one firmware_server_path / project_name / branch_name / changelog.json - if [ ! -f "$firmware_server_path/$project_name/$branch_name/changelog.json" ]; then - # create file with content {} - echo "{}" >"$firmware_server_path/$project_name/$branch_name/changelog.json" - fi - - # update version in changelog.json: add {version:{"de": "changes", "en": "changes"}} to the root {} - echo "updating changelog.json..." - - new_entry="{\"de\": \"$changes_de_escaped\", \"en\": \"$changes_en_escaped\"}" - jq --arg new_version "$new_version" --argjson new_entry "$new_entry" \ - '. * {($new_version): $new_entry}' \ - "$firmware_server_path/$project_name/$branch_name/changelog.json" >output.json - - if [ $? -eq 0 ]; then - mv output.json "$firmware_server_path/$project_name/$branch_name/changelog.json" - - #create changelogs folder if not exists - if [ ! -d "./changelogs" ]; then - mkdir "./changelogs" - fi - - if [ "$changesFromFile" = "true" ]; then - - mv "changelog_en.txt" "./changelogs/$project_name-$new_version-en.txt" - touch "changelog_en.txt" - else - # write changes_en to "./changelogs/$project_name-$new_version-en.txt" - echo "$changes_en" >"./changelogs/$project_name-$new_version-en.txt" - fi - else - rm output.json - echo "" - echo "" - echo "Error updating changelog.json!!!!" - fi - - # translate changes_en to changes_de - - else - echo "Cancelling script." - exit 1 - fi - fi - - # update version in info.json - echo "updating info.json..." - - sed -i "s/\"version\": \".*\"/\"version\": \"$new_version\"/g" "$firmware_server_path/$project_name/$branch_name/info.json" - sed -i "s/\"date\": \".*\"/\"date\": \"$(date)\"/g" "$firmware_server_path/$project_name/$branch_name/info.json" - - #remove old version file - rm "$version_file.backup" - - echo "" - echo "" - echo "###############################################" - echo "" - echo "Build successful :-) Firmware published!" - - exit 0 -else - # Restore the version file from backup - mv "$version_file.backup" "$version_file" - - echo "" - echo "" - echo "###############################################" - echo "" - echo "Build failed. Firmware will NOT be published!" - echo "" - echo "###############################################" - exit 1 -fi diff --git a/s b/s deleted file mode 100644 index e69de29..0000000