-
Notifications
You must be signed in to change notification settings - Fork 180
/
Copy pathinstall-esp-idf.sh
executable file
·98 lines (78 loc) · 2.6 KB
/
install-esp-idf.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
#/bin/bash
source ./tools/config.sh
if ! [ -x "$(command -v $SED)" ]; then
echo "ERROR: $SED is not installed! Please install $SED first."
exit 1
fi
#
# CLONE ESP-IDF
#
if [ ! -d "$IDF_PATH" ]; then
echo "ESP-IDF is not installed! Installing local copy"
git clone $IDF_REPO_URL -b $IDF_BRANCH
idf_was_installed="1"
fi
if [ "$IDF_TAG" ]; then
git -C "$IDF_PATH" checkout "tags/$IDF_TAG"
idf_was_installed="1"
elif [ "$IDF_COMMIT" ]; then
git -C "$IDF_PATH" checkout "$IDF_COMMIT"
commit_predefined="1"
fi
#
# UPDATE ESP-IDF TOOLS AND MODULES
#
if [ ! -x $idf_was_installed ] || [ ! -x $commit_predefined ]; then
git -C $IDF_PATH submodule update --init --recursive
$IDF_PATH/install.sh
export IDF_COMMIT=$(git -C "$IDF_PATH" rev-parse --short HEAD)
export IDF_BRANCH=$(git -C "$IDF_PATH" symbolic-ref --short HEAD || git -C "$IDF_PATH" tag --points-at HEAD)
# Temporarily patch the ESP32-S2 I2C LL driver to keep the clock source
cd $IDF_PATH
patch -p1 -N -i ../patches/esp32s2_i2c_ll_master_init.diff
patch -p1 -N -i ../patches/mmu_map.diff
cd -
fi
#
# SETUP ESP-IDF ENV
#
source $IDF_PATH/export.sh
#
# SETUP ARDUINO DEPLOY
#
if [ "$GITHUB_EVENT_NAME" == "schedule" ] || [ "$GITHUB_EVENT_NAME" == "repository_dispatch" -a "$GITHUB_EVENT_ACTION" == "deploy" ]; then
# format new branch name and pr title
if [ -x $commit_predefined ]; then #commit was not specified at build time
AR_NEW_BRANCH_NAME="idf-$IDF_BRANCH"
AR_NEW_COMMIT_MESSAGE="IDF $IDF_BRANCH $IDF_COMMIT"
AR_NEW_PR_TITLE="IDF $IDF_BRANCH"
else
AR_NEW_BRANCH_NAME="idf-$IDF_COMMIT"
AR_NEW_COMMIT_MESSAGE="IDF $IDF_COMMIT"
AR_NEW_PR_TITLE="$AR_NEW_COMMIT_MESSAGE"
fi
LIBS_VERSION="idf-"${IDF_BRANCH//\//_}"-$IDF_COMMIT"
AR_HAS_COMMIT=`git_commit_exists "$AR_COMPS/arduino" "$AR_NEW_COMMIT_MESSAGE"`
AR_HAS_BRANCH=`git_branch_exists "$AR_COMPS/arduino" "$AR_NEW_BRANCH_NAME"`
AR_HAS_PR=`github_pr_exists "$AR_REPO" "$AR_NEW_BRANCH_NAME"`
LIBS_HAS_COMMIT=`git_commit_exists "$IDF_LIBS_DIR" "$AR_NEW_COMMIT_MESSAGE"`
LIBS_HAS_BRANCH=`git_branch_exists "$IDF_LIBS_DIR" "$AR_NEW_BRANCH_NAME"`
if [ "$LIBS_HAS_COMMIT" == "1" ]; then
echo "Commit '$AR_NEW_COMMIT_MESSAGE' Already Exists in esp32-arduino-libs"
fi
if [ "$AR_HAS_COMMIT" == "1" ]; then
echo "Commit '$AR_NEW_COMMIT_MESSAGE' Already Exists in arduino-esp32"
fi
if [ "$LIBS_HAS_COMMIT" == "1" ] && [ "$AR_HAS_COMMIT" == "1" ]; then
exit 0
fi
export AR_NEW_BRANCH_NAME
export AR_NEW_COMMIT_MESSAGE
export AR_NEW_PR_TITLE
export AR_HAS_COMMIT
export AR_HAS_BRANCH
export AR_HAS_PR
export LIBS_VERSION
export LIBS_HAS_COMMIT
export LIBS_HAS_BRANCH
fi