CARPLAY版本整理
This commit is contained in:
1
MXC_A27-PCB4.5-270T/lib/awtk/awtk/staticcheck/README.md
Normal file
1
MXC_A27-PCB4.5-270T/lib/awtk/awtk/staticcheck/README.md
Normal file
@ -0,0 +1 @@
|
||||
# 静态代码检查
|
@ -0,0 +1,80 @@
|
||||
import os
|
||||
import copy
|
||||
import glob
|
||||
import subprocess
|
||||
|
||||
def joinPath(root, subdir):
|
||||
return os.path.abspath(os.path.normpath(os.path.join(root, subdir)))
|
||||
|
||||
if 'AWTK_ROOT_DIR' in os.environ:
|
||||
AWTK_ROOT_DIR=os.path.abspath(os.environ['AWTK_ROOT_DIR']);
|
||||
else:
|
||||
AWTK_ROOT_DIR=os.path.abspath('../../');
|
||||
|
||||
AWTK_SRC_DIR=joinPath(AWTK_ROOT_DIR, 'src');
|
||||
|
||||
AWKT_TKC_FILES=glob.glob(AWTK_SRC_DIR+'/tkc/*.c')
|
||||
AWKT_BASE_FILES=glob.glob(AWTK_SRC_DIR+'/base/*.c')
|
||||
AWKT_WIDGETS_FILES=glob.glob(AWTK_SRC_DIR+'/widgets/*.c')
|
||||
AWKT_WIDGETS_FILES=glob.glob(AWTK_SRC_DIR+'/widgets/*.c')
|
||||
AWKT_EXT_WIDGETS_FILES=glob.glob(AWTK_SRC_DIR+'/ext_widgets/*.c') + glob.glob(AWTK_SRC_DIR+'/ext_widgets/*/*.c')
|
||||
AWKT_UILOADER_FILES=glob.glob(AWTK_SRC_DIR+'/ui_loader/*.c')
|
||||
AWKT_LAYOUTERS_FILES=glob.glob(AWTK_SRC_DIR+'/layouters/*.c')
|
||||
AWKT_XML_FILES=glob.glob(AWTK_SRC_DIR+'/xml/*.c')
|
||||
AWKT_SVG_FILES=glob.glob(AWTK_SRC_DIR+'/svg/*.c')
|
||||
AWKT_APP_CONF_FILES=glob.glob(AWTK_SRC_DIR+'/conf_io/*.c')
|
||||
AWKT_UBJSON_FILES=glob.glob(AWTK_SRC_DIR+'/ubjson/*.c')
|
||||
AWKT_CLIPBOARD_FILES=glob.glob(AWTK_SRC_DIR+'/clip_board/clip_board_default.c')
|
||||
AWKT_WIDGET_ANIMATORS_FILES=glob.glob(AWTK_SRC_DIR+'/widget_animators/*.c')
|
||||
AWKT_WINDOW_ANIMATORS_FILES=glob.glob(AWTK_SRC_DIR+'/window_animators/*.c')
|
||||
AWKT_DIALOG_HIGHLIGHTERS_FILES=glob.glob(AWTK_SRC_DIR+'/dialog_highlighters/*.c')
|
||||
AWKT_FONT_LOADER_FILES=glob.glob(AWTK_SRC_DIR+'/font_loader/*.c')
|
||||
AWKT_IMAGE_LOADER_FILES=glob.glob(AWTK_SRC_DIR+'/image_loader/*.c')
|
||||
AWKT_DESIGNER_SUPPORT_FILES=glob.glob(AWTK_SRC_DIR+'/designer_support/*.c')
|
||||
AWKT_INPUT_METHOD_FILES=glob.glob(AWTK_SRC_DIR+'/input_methods/input_method_creator.c')
|
||||
AWKT_FONT_GLOBAL_FILES=glob.glob(AWTK_SRC_DIR+'/*.c')
|
||||
NATIVE_WINDOW_FILES=glob.glob(AWTK_SRC_DIR+'/native_window/native_window_raw.c')
|
||||
WINDOW_MANAGER_FILES=glob.glob(AWTK_SRC_DIR+'/window_manager/window_manager_default.c')
|
||||
GRAPHIC_BUFFER_FILES=glob.glob(AWTK_SRC_DIR+'/graphic_buffer/graphic_buffer_default.c')
|
||||
|
||||
COMMON_FILES=AWKT_TKC_FILES + AWKT_BASE_FILES + AWKT_WIDGETS_FILES + AWKT_EXT_WIDGETS_FILES + AWKT_UILOADER_FILES + AWKT_LAYOUTERS_FILES + AWKT_SVG_FILES + AWKT_APP_CONF_FILES + AWKT_WIDGET_ANIMATORS_FILES + AWKT_WINDOW_ANIMATORS_FILES + AWKT_DIALOG_HIGHLIGHTERS_FILES + AWKT_CLIPBOARD_FILES + AWKT_FONT_GLOBAL_FILES + AWKT_INPUT_METHOD_FILES + NATIVE_WINDOW_FILES + WINDOW_MANAGER_FILES + GRAPHIC_BUFFER_FILES;
|
||||
|
||||
INFER_FILES=COMMON_FILES
|
||||
WEB_FILES=COMMON_FILES + AWKT_XML_FILES + AWKT_DESIGNER_SUPPORT_FILES
|
||||
CPPCHECK_FILES=COMMON_FILES + AWKT_XML_FILES + AWKT_FONT_LOADER_FILES + AWKT_IMAGE_LOADER_FILES
|
||||
|
||||
def getCppCheckFiles():
|
||||
return CPPCHECK_FILES;
|
||||
|
||||
def getInferFiles():
|
||||
return INFER_FILES;
|
||||
|
||||
def getWebFiles():
|
||||
return WEB_FILES;
|
||||
|
||||
def getIncludes():
|
||||
return '-I' + AWTK_ROOT_DIR + '/3rd ' + '-I' + AWTK_ROOT_DIR + ' -I' + AWTK_SRC_DIR +' -I' + AWTK_SRC_DIR +'/ext_widgets';
|
||||
|
||||
def toExe(name):
|
||||
if OS_NAME == 'Windows':
|
||||
return name + '.exe'
|
||||
else:
|
||||
return name
|
||||
|
||||
def writeArgs(filename, str):
|
||||
with open(filename, "w") as text_file:
|
||||
text_file.write(str);
|
||||
|
||||
def runArgsInFile(cmd, flags, files):
|
||||
cmd_args = flags + ' ' + getIncludes() + ' ' + ' '.join(files)
|
||||
cmd_args = cmd_args.replace('\\', '\\\\');
|
||||
writeArgs("args.txt", cmd_args);
|
||||
print(cmd_args)
|
||||
os.system(cmd + ' @args.txt');
|
||||
|
||||
def run(cmd, flags, files):
|
||||
cmd_args = cmd + ' ' + flags + ' ' + getIncludes() + ' ' + ' '.join(files)
|
||||
cmd_args = cmd_args.replace('\\', '\\\\');
|
||||
print(cmd_args)
|
||||
os.system(cmd_args);
|
||||
|
@ -0,0 +1,13 @@
|
||||
# 使用cppcheck对AWTK进行静态检查
|
||||
|
||||
### 安装cppcheck
|
||||
|
||||
请参考[http://cppcheck.sourceforge.net/](http://cppcheck.sourceforge.net/)
|
||||
|
||||
### 使用方法
|
||||
|
||||
```
|
||||
python run.py
|
||||
```
|
||||
|
||||
|
@ -0,0 +1,8 @@
|
||||
import os
|
||||
import sys
|
||||
sys.path.append("../common")
|
||||
import awtk_files as awtk;
|
||||
|
||||
CPPFLAGS = '-DHAS_STD_MALLOC -DNDEBUG --enable=warning --enable=performance -DWITH_CPPCHECK '
|
||||
|
||||
awtk.run('cppcheck', CPPFLAGS, awtk.getCppCheckFiles())
|
3
MXC_A27-PCB4.5-270T/lib/awtk/awtk/staticcheck/infer/.gitignore
vendored
Normal file
3
MXC_A27-PCB4.5-270T/lib/awtk/awtk/staticcheck/infer/.gitignore
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
*.o
|
||||
*.obj
|
||||
infer-out
|
@ -0,0 +1,6 @@
|
||||
{
|
||||
"disable-issue-type": [
|
||||
"DEAD_STORE", "MEMORY_LEAK"
|
||||
],
|
||||
"liveness": false
|
||||
}
|
@ -0,0 +1,13 @@
|
||||
# 使用infer对AWTK进行静态检查
|
||||
|
||||
### 安装infer
|
||||
|
||||
请参考[https://fbinfer.com/](https://fbinfer.com/)
|
||||
|
||||
### 使用方法
|
||||
|
||||
```
|
||||
python run.py
|
||||
```
|
||||
|
||||
|
@ -0,0 +1,7 @@
|
||||
import os
|
||||
import sys
|
||||
sys.path.append("../common")
|
||||
import awtk_files as awtk;
|
||||
|
||||
CPPFLAGS = 'run -- clang -c -DHAS_STD_MALLOC -DNDEBUG '
|
||||
awtk.run('infer', CPPFLAGS, awtk.getInferFiles())
|
Reference in New Issue
Block a user