update relaese script
This commit is contained in:
262
scripts/release.py
Normal file → Executable file
262
scripts/release.py
Normal file → Executable 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()
|
||||||
|
|||||||
Reference in New Issue
Block a user