mirror of
https://github.com/espressif/esp-idf.git
synced 2025-08-10 04:43:33 +00:00
update the build_apps.py, now it can recognize build
and preserve
keys
This commit is contained in:
@@ -5,9 +5,10 @@
|
|||||||
#
|
#
|
||||||
|
|
||||||
import argparse
|
import argparse
|
||||||
|
import shutil
|
||||||
import sys
|
import sys
|
||||||
import logging
|
import logging
|
||||||
from find_build_apps import BuildItem, BuildError, setup_logging, BUILD_SYSTEMS, safe_exit_if_file_is_empty
|
from find_build_apps import BuildItem, BuildError, setup_logging, BUILD_SYSTEMS
|
||||||
|
|
||||||
|
|
||||||
def main():
|
def main():
|
||||||
@@ -71,10 +72,11 @@ def main():
|
|||||||
help="Name of the file to read the list of builds from. If not specified, read from stdin.",
|
help="Name of the file to read the list of builds from. If not specified, read from stdin.",
|
||||||
)
|
)
|
||||||
args = parser.parse_args()
|
args = parser.parse_args()
|
||||||
|
|
||||||
setup_logging(args)
|
setup_logging(args)
|
||||||
|
|
||||||
safe_exit_if_file_is_empty(args.build_list.name)
|
|
||||||
build_items = [BuildItem.from_json(line) for line in args.build_list]
|
build_items = [BuildItem.from_json(line) for line in args.build_list]
|
||||||
|
|
||||||
if not build_items:
|
if not build_items:
|
||||||
logging.error("Empty build list!")
|
logging.error("Empty build list!")
|
||||||
raise SystemExit(1)
|
raise SystemExit(1)
|
||||||
@@ -106,6 +108,10 @@ def main():
|
|||||||
|
|
||||||
failed_builds = []
|
failed_builds = []
|
||||||
for build_info in builds_for_current_job:
|
for build_info in builds_for_current_job:
|
||||||
|
if not build_info.build:
|
||||||
|
logging.info('Skip build detected. Skipping...')
|
||||||
|
continue
|
||||||
|
|
||||||
logging.info("Running build {}: {}".format(build_info.index, repr(build_info)))
|
logging.info("Running build {}: {}".format(build_info.index, repr(build_info)))
|
||||||
build_system_class = BUILD_SYSTEMS[build_info.build_system]
|
build_system_class = BUILD_SYSTEMS[build_info.build_system]
|
||||||
try:
|
try:
|
||||||
@@ -116,6 +122,11 @@ def main():
|
|||||||
failed_builds.append(build_info)
|
failed_builds.append(build_info)
|
||||||
else:
|
else:
|
||||||
raise SystemExit(1)
|
raise SystemExit(1)
|
||||||
|
else:
|
||||||
|
if not build_info.preserve:
|
||||||
|
logging.info('NOT preserve artifacts detected. Deleting...')
|
||||||
|
shutil.rmtree(build_info.work_dir, ignore_errors=True)
|
||||||
|
shutil.rmtree(build_info.build_log_path, ignore_errors=True)
|
||||||
|
|
||||||
if failed_builds:
|
if failed_builds:
|
||||||
logging.error("The following build have failed:")
|
logging.error("The following build have failed:")
|
||||||
|
@@ -13,10 +13,10 @@ import logging
|
|||||||
import re
|
import re
|
||||||
|
|
||||||
try:
|
try:
|
||||||
from find_build_apps import BuildItem, setup_logging, safe_exit_if_file_is_empty
|
from find_build_apps import BuildItem, setup_logging
|
||||||
except ImportError:
|
except ImportError:
|
||||||
sys.path.insert(0, os.path.join(os.path.dirname(__file__), ".."))
|
sys.path.insert(0, os.path.join(os.path.dirname(__file__), ".."))
|
||||||
from find_build_apps import BuildItem, setup_logging, safe_exit_if_file_is_empty
|
from find_build_apps import BuildItem, setup_logging
|
||||||
|
|
||||||
WARNING_REGEX = re.compile(r"(?:error|warning)[^\w]", re.MULTILINE | re.IGNORECASE)
|
WARNING_REGEX = re.compile(r"(?:error|warning)[^\w]", re.MULTILINE | re.IGNORECASE)
|
||||||
|
|
||||||
@@ -69,7 +69,6 @@ def main():
|
|||||||
args = parser.parse_args()
|
args = parser.parse_args()
|
||||||
setup_logging(args)
|
setup_logging(args)
|
||||||
|
|
||||||
safe_exit_if_file_is_empty(args.build_list.name)
|
|
||||||
build_items = [BuildItem.from_json(line) for line in args.build_list]
|
build_items = [BuildItem.from_json(line) for line in args.build_list]
|
||||||
|
|
||||||
if not build_items:
|
if not build_items:
|
||||||
|
@@ -6,7 +6,6 @@ from .common import (
|
|||||||
config_rules_from_str,
|
config_rules_from_str,
|
||||||
setup_logging,
|
setup_logging,
|
||||||
DEFAULT_TARGET,
|
DEFAULT_TARGET,
|
||||||
safe_exit_if_file_is_empty,
|
|
||||||
)
|
)
|
||||||
from .cmake import CMakeBuildSystem, BUILD_SYSTEM_CMAKE
|
from .cmake import CMakeBuildSystem, BUILD_SYSTEM_CMAKE
|
||||||
from .make import MakeBuildSystem, BUILD_SYSTEM_MAKE
|
from .make import MakeBuildSystem, BUILD_SYSTEM_MAKE
|
||||||
@@ -29,5 +28,4 @@ __all__ = [
|
|||||||
"MakeBuildSystem",
|
"MakeBuildSystem",
|
||||||
"BUILD_SYSTEM_MAKE",
|
"BUILD_SYSTEM_MAKE",
|
||||||
"BUILD_SYSTEMS",
|
"BUILD_SYSTEMS",
|
||||||
"safe_exit_if_file_is_empty",
|
|
||||||
]
|
]
|
||||||
|
@@ -392,9 +392,3 @@ def setup_logging(args):
|
|||||||
stream=args.log_file or sys.stderr,
|
stream=args.log_file or sys.stderr,
|
||||||
level=log_level,
|
level=log_level,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
def safe_exit_if_file_is_empty(file_name):
|
|
||||||
if os.stat(file_name).st_size == 0:
|
|
||||||
logging.warning('Skipping all...')
|
|
||||||
sys.exit(0)
|
|
||||||
|
Reference in New Issue
Block a user