update relaese script

This commit is contained in:
Gabor Kiss-Vamosi
2020-07-07 10:00:38 +02:00
parent e30efb716f
commit a117b3cead

262
scripts/release.py Normal file → Executable file
View File

@@ -1,227 +1,224 @@
#!/usr/bin/env python
import re import re
import os import os
lastNum = re.compile(r'(?:[^\d]*(\d+)[^\d]*)+') lastNum = re.compile(r'(?:[^\d]*(\d+)[^\d]*)+')
def title(t): def title(t):
print("\n---------------------------------") print("\n---------------------------------")
print(t) print(t)
print("---------------------------------") print("---------------------------------")
def cmd(c): def cmd(c):
print("\n" + c) print("\n" + c)
r = os.system(c) r = os.system(c)
if r: if r:
print("Exit due to previous error") print("### Error: " + str(r))
exit(r)
def lvgl_clone(): def lvgl_clone():
title("lvgl: Clone") title("lvgl: Clone")
cmd("git clone https://github.com/lvgl/lvgl.git") cmd("git clone https://github.com/lvgl/lvgl.git")
os.chdir("./lvgl") os.chdir("./lvgl")
cmd("git co master") cmd("git co master")
def lvgl_format(): def lvgl_format():
title("lvgl: Run code formatter") title("lvgl: Run code formatter")
os.chdir("./scripts") os.chdir("./scripts")
cmd("./code-format.sh") cmd("./code-format.sh")
cmd("git ci -am 'Run code formatter'") os.system("git ci -am 'Run code formatter'")
os.chdir("..") os.chdir("..")
def lvgl_update_version(): def lvgl_update_version():
title("lvgl: Update version number") title("lvgl: Update version number")
f = open("./lvgl.h", "r") f = open("./lvgl.h", "r")
outbuf = "" outbuf = ""
major_ver = -1 major_ver = -1
minor_ver = -1 minor_ver = -1
patch_ver = -1 patch_ver = -1
for i in f.read().splitlines(): for i in f.read().splitlines():
r = re.search(r'^#define LVGL_VERSION_MAJOR ', i) r = re.search(r'^#define LVGL_VERSION_MAJOR ', i)
if r: if r:
m = lastNum.search(i) m = lastNum.search(i)
if m: major_ver = m.group(1) if m: major_ver = m.group(1)
r = re.search(r'^#define LVGL_VERSION_MINOR ', i) r = re.search(r'^#define LVGL_VERSION_MINOR ', i)
if r: if r:
m = lastNum.search(i) m = lastNum.search(i)
if m: minor_ver = m.group(1) if m: minor_ver = m.group(1)
r = re.search(r'^#define LVGL_VERSION_PATCH ', i) r = re.search(r'^#define LVGL_VERSION_PATCH ', i)
if r: if r:
m = lastNum.search(i) m = lastNum.search(i)
if m: patch_ver = m.group(1) if m: patch_ver = m.group(1)
r = re.search(r'^#define LVGL_VERSION_INFO ', i) r = re.search(r'^#define LVGL_VERSION_INFO ', i)
if r: if r:
i = "#define LVGL_VERSION_INFO \"\"" i = "#define LVGL_VERSION_INFO \"\""
outbuf += i + '\n' outbuf += i + '\n'
f.close() f.close()
f = open("./lvgl.h", "w") f = open("./lvgl.h", "w")
f.write(outbuf) f.write(outbuf)
f.close() f.close()
s = "v" + str(major_ver) + "." + str(minor_ver) + "." + str(patch_ver) s = "v" + str(major_ver) + "." + str(minor_ver) + "." + str(patch_ver)
print("New version:" + s) print("New version:" + s)
return s return s
def lvgl_update_library_json(v): def lvgl_update_library_json(v):
title("lvgl: Update version number in library.json") title("lvgl: Update version number in library.json")
f = open("./library.json", "r") f = open("./library.json", "r")
outbuf = "" outbuf = ""
for i in f.read().splitlines(): for i in f.read().splitlines():
r = re.search(r'"version": ', i) r = re.search(r'"version": ', i)
if r: if r:
i = ' "version": "' + v + '",' i = ' "version": "' + v + '",'
outbuf += i + '\n' outbuf += i + '\n'
f.close() f.close()
f = open("./library.json", "w") f = open("./library.json", "w")
f.write(outbuf) f.write(outbuf)
f.close() f.close()
def lvgl_update_lv_conf_templ(ver_str): def lvgl_update_lv_conf_templ(ver_str):
title("lvgl: Update version number in lv_conf_template.h") title("lvgl: Update version number in lv_conf_template.h")
cmd("sed -i -r 's/v[0-9]+\.[0-9]+\.[0-9]+/"+ ver_str +"/' lv_conf_template.h ") cmd("sed -i -r 's/v[0-9]+\.[0-9]+\.[0-9]+/"+ ver_str +"/' lv_conf_template.h ")
def lvgl_commit_push(v): def lvgl_commit_push(v):
title("lvgl: commit and push release") title("lvgl: commit and push release")
cmd('git ci -am "Release ' + v + '"') os.system('git ci -am "Release ' + v + '"')
cmd('git tag -a ' + v + ' -m "Release ' + v +'"') cmd('git tag -a ' + v + ' -m "Release ' + v +'"')
cmd('git push origin master') cmd('git push origin master')
cmd('git push origin ' + v) cmd('git push origin ' + v)
def lvgl_merge_to_release_branch(v): def lvgl_merge_to_release_branch(v):
title("lvgl: merge to release branch") title("lvgl: merge to release branch")
cmd('git co release/v7') cmd('git co release/v7')
cmd('git merge master') cmd('git merge master')
cmd('git push origin release/v7') cmd('git push origin release/v7')
os.chdir("../") os.chdir("../")
def lvgl_update_api_docs(): def lvgl_update_api_docs():
title("lvgl: Update API with Doxygen") title("lvgl: Update API with Doxygen")
cmd("cd scripts; doxygen"); cmd("cd scripts; doxygen");
def examples_clone(): def examples_clone():
title("examples: Clone") title("examples: Clone")
cmd("git clone https://github.com/lvgl/lv_examples.git") cmd("git clone https://github.com/lvgl/lv_examples.git")
os.chdir("./lv_examples") os.chdir("./lv_examples")
cmd("git co master") cmd("git co master")
def examples_commit_push(v): def examples_commit_push(v):
title("examples: commit and push release") title("examples: commit and push release")
cmd('git ci -am "Release ' + v + '"') os.system('git ci -am "Release ' + v + '"')
cmd('git tag -a ' + v + ' -m "Release ' + v +'"') cmd('git tag -a ' + v + ' -m "Release ' + v +'"')
cmd('git push origin master') cmd('git push origin master')
cmd('git push origin ' + v) cmd('git push origin ' + v)
def examples_merge_to_release_branch(v): def examples_merge_to_release_branch(v):
title("examples: merge to release branch") title("examples: merge to release branch")
cmd('git co release/v7') cmd('git co release/v7')
cmd('git merge master') cmd('git merge master')
cmd('git push origin release/v7') cmd('git push origin release/v7')
os.chdir("../") os.chdir("../")
def drivers_clone(): def drivers_clone():
title("drivers: Clone") title("drivers: Clone")
cmd("git clone https://github.com/lvgl/lv_drivers.git") cmd("git clone https://github.com/lvgl/lv_drivers.git")
os.chdir("./lv_drivers") os.chdir("./lv_drivers")
cmd("git co master") cmd("git co master")
def drivers_commit_push(v): def drivers_commit_push(v):
title("drivers: commit and push release") title("drivers: commit and push release")
cmd('git ci -am "Release ' + v + '"') os.system('git ci -am "Release ' + v + '"')
cmd('git tag -a ' + v + ' -m "Release ' + v +'"') cmd('git tag -a ' + v + ' -m "Release ' + v +'"')
cmd('git push origin master') cmd('git push origin master')
cmd('git push origin ' + v) cmd('git push origin ' + v)
def drivers_merge_to_release_branch(v): def drivers_merge_to_release_branch(v):
title("drivers: merge to release branch") title("drivers: merge to release branch")
cmd('git co release/v7') cmd('git co release/v7')
cmd('git merge master') cmd('git merge master')
cmd('git push origin release/v7') cmd('git push origin release/v7')
os.chdir("../") os.chdir("../")
def docs_clone(): def docs_clone():
title("docs: Clone") title("docs: Clone")
cmd("git clone --recursive https://github.com/lvgl/docs.git") #cmd("git clone --recursive https://github.com/lvgl/docs.git")
os.chdir("./docs") os.chdir("./docs")
def docs_get_api(): def docs_get_api():
title("docs: Get API files") title("docs: Get API files")
cmd("git co latest") cmd("git co latest --")
cmd("rm -rf xml"); cmd("rm -rf xml");
cmd("cp -r ../../lvgl/docs/api_doc/xml ."); cmd("cp -r ../lvgl/docs/api_doc/xml .");
cmd("git add xml"); cmd("git add xml");
cmd('git commit -m "update API"') cmd('git commit -m "update API"')
def docs_update_version(v): def docs_update_version(v):
title("docs: Update version number") title("docs: Update version number")
f = open("./conf.py", "r") f = open("./conf.py", "r")
outbuf = "" outbuf = ""
for i in f.read().splitlines(): for i in f.read().splitlines():
r = re.search(r'^version = ', i) r = re.search(r'^version = ', i)
if r: if r:
i = "version = '" + v + "'" i = "version = '" + v + "'"
r = re.search(r'^release = ', i) r = re.search(r'^release = ', i)
if r: if r:
i = "version = '" + v + "'" i = "version = '" + v + "'"
outbuf += i + '\n' outbuf += i + '\n'
f.close() f.close()
f = open("./conf.py", "w") f = open("./conf.py", "w")
f.write(outbuf) f.write(outbuf)
f.close() f.close()
cmd("git add conf.py") cmd("git add conf.py")
cmd('git ci -m "update conf.py to ' + v '"') cmd('git ci -m "update conf.py to ' + v + '"')
def docs_update_trans():
title("docs: Update translations")
cmd("cd en && ./trans_push.py && ./trans_pull.py")
def docs_build(): def docs_build():
title("docs: Build") title("docs: Build")
cmd("git checkout master") cmd("git checkout master")
cmd("./update.py latest") cmd("./update.py latest")
def clean_up(): def clean_up():
title("Clean up repos") title("Clean up repos")
os.chdir("../..") os.chdir("../")
cmd("rm -rf lvgl docs lv_examples lv_drivers") cmd("rm -rf lvgl docs lv_examples lv_drivers")
lvgl_clone() lvgl_clone()
lvgl_format() lvgl_format()
@@ -243,7 +240,6 @@ drivers_merge_to_release_branch(ver_str)
docs_clone() docs_clone()
docs_get_api() docs_get_api()
docs_update_version(ver_str) docs_update_version(ver_str)
#docs_update_trans() # Zanata is not working now
docs_build() docs_build()
clean_up() clean_up()