提交 90386971 编写于 作者: T thread-liu

[update] support bsp .ignore_format.yml.

上级 0c0c371b
...@@ -3,20 +3,7 @@ ...@@ -3,20 +3,7 @@
# If you need to exclude a file, add the path to the file in file_path. # If you need to exclude a file, add the path to the file in file_path.
file_path: file_path:
- bsp/stm32/stm32f072-st-nucleo/board/CubeMX_Config/Src/main.c - bsp/allwinner_tina/libcpu/cpu.c
dir_path: dir_path:
- bsp/stm32/libraries/STM32F0xx_HAL - tools
- bsp/stm32/libraries/STM32F1xx_HAL \ No newline at end of file
- bsp/stm32/libraries/STM32F2xx_HAL
- bsp/stm32/libraries/STM32F4xx_HAL
- bsp/stm32/libraries/STM32F7xx_HAL
- bsp/stm32/libraries/STM32G0xx_HAL
- bsp/stm32/libraries/STM32G4xx_HAL
- bsp/stm32/libraries/STM32H7xx_HAL
- bsp/stm32/libraries/STM32L0xx_HAL
- bsp/stm32/libraries/STM32L1xx_HAL
- bsp/stm32/libraries/STM32L4xx_HAL
- bsp/stm32/libraries/STM32MPxx_HAL
- bsp/stm32/libraries/STM32WBxx_HAL
- bsp/stm32/libraries/STM32WLxx_HAL
...@@ -34,7 +34,18 @@ class CheckOut: ...@@ -34,7 +34,18 @@ class CheckOut:
self.rtt_branch = rtt_branch self.rtt_branch = rtt_branch
def __exclude_file(self, file_path): def __exclude_file(self, file_path):
ignore_file_path = os.path.join(self.root, 'ignore_format.yml') dir_number = file_path.split('/')
ignore_path = file_path
# gets the file path depth.
for i in dir_number:
# current directory.
dir_name = os.path.dirname(ignore_path)
ignore_path = dir_name
# judge the ignore file exists in the current directory.
ignore_file_path = os.path.join(dir_name, ".ignore_format.yml")
if not os.path.exists(ignore_file_path):
continue
try: try:
with open(ignore_file_path) as f: with open(ignore_file_path) as f:
ignore_config = yaml.safe_load(f.read()) ignore_config = yaml.safe_load(f.read())
...@@ -42,14 +53,27 @@ class CheckOut: ...@@ -42,14 +53,27 @@ class CheckOut:
dir_ignore = ignore_config.get("dir_path", []) dir_ignore = ignore_config.get("dir_path", [])
except Exception as e: except Exception as e:
logging.error(e) logging.error(e)
return 1 continue
if file_path in file_ignore: try:
# judge file_path in the ignore file.
for file in file_ignore:
if file is not None:
file_real_path = os.path.join(dir_name, file)
if file_real_path == file_path:
logging.info("ignore file path: {}".format(file_real_path))
return 0 return 0
file_dir_path = os.path.dirname(file_path) file_dir_path = os.path.dirname(file_path)
if file_dir_path in dir_ignore: for _dir in dir_ignore:
if _dir is not None:
dir_real_path = os.path.join(dir_name, _dir)
if dir_real_path == file_dir_path:
logging.info("ignore dir path: {}".format(dir_real_path))
return 0 return 0
except Exception as e:
logging.error(e)
continue
return 1 return 1
...@@ -93,7 +117,7 @@ class FormatCheck: ...@@ -93,7 +117,7 @@ class FormatCheck:
def __init__(self, file_list): def __init__(self, file_list):
self.file_list = file_list self.file_list = file_list
def __check_file(self, file_lines): def __check_file(self, file_lines, file_path):
line_num = 1 line_num = 1
check_result = False check_result = False
for line in file_lines: for line in file_lines:
...@@ -101,12 +125,12 @@ class FormatCheck: ...@@ -101,12 +125,12 @@ class FormatCheck:
line_start = line.replace(' ', '') line_start = line.replace(' ', '')
# find tab # find tab
if line_start.startswith('\t'): if line_start.startswith('\t'):
logging.error("line[{}]: please use space replace tab at the start of this line.".format(line_num)) logging.error("{} line[{}]: please use space replace tab at the start of this line.".format(file_path, line_num))
check_result = False check_result = False
# check line end # check line end
lin_end = line.split('\n')[0] lin_end = line.split('\n')[0]
if lin_end.endswith(' ') or lin_end.endswith('\t'): if lin_end.endswith(' ') or lin_end.endswith('\t'):
logging.error("line[{}]: please delete extra space at the end of this line.".format(line_num)) logging.error("{} line[{}]: please delete extra space at the end of this line.".format(file_path, line_num))
check_result = False check_result = False
line_num += 1 line_num += 1
...@@ -140,7 +164,7 @@ class FormatCheck: ...@@ -140,7 +164,7 @@ class FormatCheck:
with open(file_path, 'r') as f: with open(file_path, 'r') as f:
file_lines = f.readlines() file_lines = f.readlines()
format_check_result = self.__check_file(file_lines) format_check_result = self.__check_file(file_lines, file_path)
if not encoding_check_result or not format_check_result: if not encoding_check_result or not format_check_result:
logging.error("files format check fail.") logging.error("files format check fail.")
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册