Skip to content

Commit 301d86b

Browse files
committed
package: add support for nightly packages
Arduino IDE has support for “nightly” versions of boards manager packages (arduino/Arduino#3449). These versions are distinguished by the lack of “size” and “checksum” fields in json file. IDE always uninstalls previously installed nightly version before installing the new one. This change adds support for generation of nightly package builds.
1 parent 61787b2 commit 301d86b

File tree

2 files changed

+31
-10
lines changed

2 files changed

+31
-10
lines changed

package/build_boards_manager_package.sh

+31-8
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,19 @@
11
#!/bin/bash
22
#
3+
next="2.4.0"
34

45
# Figure out how will the package be called
5-
ver=`git describe --tags --always`
6+
ver=`git describe --exact-match`
7+
if [ $? -ne 0 ]; then
8+
# not tagged version; generate nightly package
9+
date_str=`date +"%Y%m%d"`
10+
is_nightly=1
11+
plain_ver="${next}-nightly"
12+
ver="${plain_ver}+${date_str}"
13+
else
14+
plain_ver=$ver
15+
fi
16+
617
package_name=esp8266-$ver
718
echo "Version: $ver"
819
echo "Package name: $package_name"
@@ -71,7 +82,7 @@ $SED 's/recipe.hooks.core.prebuild.1.pattern.*//g' \
7182
> $outdir/platform.txt
7283

7384
# Put core version and short hash of git version into core_version.h
74-
ver_define=`echo $ver | tr "[:lower:].-" "[:upper:]_"`
85+
ver_define=`echo $plain_ver | tr "[:lower:].-+" "[:upper:]_"`
7586
echo Ver define: $ver_define
7687
echo \#define ARDUINO_ESP8266_GIT_VER 0x`git rev-parse --short=8 HEAD 2>/dev/null` >$outdir/cores/esp8266/core_version.h
7788
echo \#define ARDUINO_ESP8266_RELEASE_$ver_define >>$outdir/cores/esp8266/core_version.h
@@ -90,14 +101,26 @@ echo Size: $size
90101
echo SHA-256: $sha
91102

92103
echo "Making package_esp8266com_index.json"
93-
cat $srcdir/package/package_esp8266com_index.template.json | \
94-
jq ".packages[0].platforms[0].version = \"$ver\" | \
104+
105+
jq_arg=".packages[0].platforms[0].version = \"$ver\" | \
95106
.packages[0].platforms[0].url = \"$PKG_URL\" |\
96107
.packages[0].platforms[0].archiveFileName = \"$package_name.zip\" |\
97-
.packages[0].platforms[0].checksum = \"SHA-256:$sha\" |\
98-
.packages[0].platforms[0].size = \"$size\" |\
99-
.packages[0].platforms[0].help.online = \"$DOC_URL\"" \
100-
> package_esp8266com_index.json
108+
.packages[0].platforms[0].help.online = \"$DOC_URL\""
109+
110+
if [ -z "$is_nightly" ]; then
111+
jq_arg="$jq_arg |\
112+
.packages[0].platforms[0].size = \"$size\" |\
113+
.packages[0].platforms[0].checksum = \"SHA-256:$sha\" |"
114+
fi
115+
116+
cat $srcdir/package/package_esp8266com_index.template.json | \
117+
jq "$jq_arg" > package_esp8266com_index.json
118+
119+
old_json=package_esp8266com_index_stable.json
120+
wget -O $old_json http://arduino.esp8266.com/$branch/package_esp8266com_index.json
121+
new_json=package_esp8266com_index.json
122+
123+
python ../../merge_packages.py $new_json $old_json >tmp && mv tmp $new_json && rm $old_json
101124

102125
popd
103126
popd

package/package_esp8266com_index.template.json

-2
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,6 @@
1616
"category": "ESP8266",
1717
"url": "",
1818
"archiveFileName": "",
19-
"checksum": "",
20-
"size": "",
2119
"help": {
2220
"online": ""
2321
},

0 commit comments

Comments
 (0)