Skip to content

Commit 2201770

Browse files
authored
Tools - makecorever.py fixed packaging & avoid needless overwrites (#9250)
update packaging script w/ new arguments rewrite ci build pattern to only rewrite core_version.h once per job restore behaviour from #6414 for other cases
1 parent 4214e16 commit 2201770

File tree

4 files changed

+17
-18
lines changed

4 files changed

+17
-18
lines changed

package/build_boards_manager_package.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -117,7 +117,7 @@ $SED -E "s/name=([a-zA-Z0-9\ -]+).*/name=\1(${ver})/g"\
117117
#echo "#define ARDUINO_ESP8266_GIT_DESC `git describe --tags 2>/dev/null`" >>${outdir}/cores/esp8266/core_version.h
118118
#echo "#define ARDUINO_ESP8266_RELEASE_${ver_define}" >>${outdir}/cores/esp8266/core_version.h
119119
#echo "#define ARDUINO_ESP8266_RELEASE \"${ver_define}\"" >>${outdir}/cores/esp8266/core_version.h
120-
python3 ${srcdir}/tools/makecorever.py -b ${outdir} -i cores/esp8266 -p ${srcdir} -v ${plain_ver} -r
120+
python3 ${srcdir}/tools/makecorever.py --git-root ${srcdir} --version ${plain_ver} --release ${outdir}/cores/esp8266/core_version.h
121121

122122
# Zip the package
123123
pushd package/versions/${visiblever}

tests/common.sh

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -312,6 +312,7 @@ function install_core()
312312
"compiler.c.extra_flags=-Wall -Wextra $debug_flags" \
313313
"compiler.cpp.extra_flags=-Wall -Wextra $debug_flags" \
314314
"mkbuildoptglobals.extra_flags=--ci --cache_core" \
315+
"recipe.hooks.prebuild.1.pattern=\"{runtime.tools.python3.path}/python3\" -I \"{runtime.tools.makecorever}\" --git-root \"{runtime.platform.path}\" --version \"{version}\" \"{runtime.platform.path}/cores/esp8266/core_version.h\"" \
315316
> ${core_path}/platform.local.txt
316317
echo -e "\n----platform.local.txt----"
317318
cat platform.local.txt

tests/sanity_check.sh

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,9 @@ source "$root/tests/common.sh"
55

66
pushd "$root"/tools
77
python3 get.py -q
8-
8+
python3 makecorever.py --git-root "$root" "$root/cores/esp8266/core_version.h"
99
popd
10+
1011
pushd "$cache_dir"
1112

1213
gcc="$root/tools/xtensa-lx106-elf/bin/xtensa-lx106-elf-gcc"\

tools/makecorever.py

Lines changed: 13 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,6 @@ def check_git(*args: str, cwd: Optional[str]):
5656

5757

5858
def generate(
59-
out: TextIO,
6059
*,
6160
git_root: pathlib.Path,
6261
hash_length: int = 8,
@@ -118,7 +117,7 @@ def git(*args):
118117
#define ARDUINO_ESP8266_DEV 1 // development version
119118
"""
120119

121-
out.write(text)
120+
return text
122121

123122

124123
if __name__ == "__main__":
@@ -158,20 +157,18 @@ def git(*args):
158157

159158
args = parser.parse_args()
160159

161-
def select_output(s: str) -> TextIO:
162-
if not s:
163-
return sys.stdout
160+
contents = generate(
161+
git_root=args.git_root,
162+
hash_length=args.hash_length,
163+
release=args.release,
164+
version=args.version,
165+
)
164166

165-
out = pathlib.Path(s)
167+
if args.output:
168+
out = pathlib.Path(args.output)
166169
out.parent.mkdir(parents=True, exist_ok=True)
167170

168-
return out.open("w", encoding="utf-8")
169-
170-
with select_output(args.output) as out:
171-
generate(
172-
out,
173-
git_root=args.git_root,
174-
hash_length=args.hash_length,
175-
release=args.release,
176-
version=args.version,
177-
)
171+
if not out.exists() or contents != out.read_text(encoding="utf-8"):
172+
out.write_text(contents, encoding="utf-8")
173+
else:
174+
print(contents, file=sys.stdout)

0 commit comments

Comments
 (0)