Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings
Ray Ni edited this pageJun 19, 2023 ·6 revisions

1. What is ECC tool?

ECC is a python tool which helps to detect coding style issues.
It reports errors for the codes which don't followEDK II C Coding Standards Specification.

2. Where is the ECC tool?

ECC tool is located in edk2/BaseTools/Source/Python/Ecc.

3. How to run ECC tool?

Steps to run the ECC tool:

  • 1). Enter edk2 directory, run:edksetup.bat** (on Windows)
    Enter edk2 directory, run: source edksetup.sh (on Linux)

  • 2). Then in the edk2 directory, you can type "Ecc" to run the ECC tool directly**.

  • 3). If you meet the following errors:**

    • Error 1:

      import antlr3ImportError: No module named antlr3

      This error may be met when you run the ECC tool with Python 2.x, then ECC depends on antlr V3.0.1, you can download it fromhttp://www.antlr3.org/download/Python/.After downloading and extracting it, you can enter the antlr tool directory and run:

      C:\Python27\python.exe setup.py install (on Windows)

      python setup.py install (on Linux)

    • Error 2:

      import antlr4 as antlrModuleNotFoundError: No module named 'antlr4'

      This error may be met when you run the ECC tool with Python 3.x, then ECC depends on antlr4, you can install it through the following command.

      py -3 -m pip install antlr4-python3-runtime==4.7.1 (on Windows)

      sudo python3 -m pip install antlr4-python3-runtime==4.7.1 (on Linux)

  • 4). You can type "Ecc -h/Ecc --help" to get the help info of the ECC tool.

  • 5). Common usage model:

    Ecc -c <config_file> -e <exception file> -t <to-be-scanned directory> -r <result CSV file>

    Notes: Please use the full path when specifying the target directory to scan.

    config.ini andexception.xml are in theedk2/BaseTools/Source/Python/Ecc directory.

    config.ini is the configuration file of the ECC tool. If the config file is not specified when running ECC, it will use the one in theEdk2/BaseTools/Source/Python/Ecc directory by default.exception.xml is used to skip some specific coding style issues.

    For example, to run ECC to check the coding style in MdePkg:

    Ecc –c D:/AWORK/edk2/BaseTools/Source/Python/Ecc/config.ini -e D:/AWORK/edk2/BaseTools/Source/Python/Ecc/exception.xml -t D:/AWORK/edk2/MdePkg -r MdePkgECC.csv

    Notes: When running ECC for a specific sub-dir, it may report some errors such as some library instances are not used, but when running ECC for the whole project, these errors are gone. We can ignore such kind of errors when running ECC for a specific sub-dir.

  • 6). You may need to maintain the config.ini and exception.xml files by yourself for your project.

    • a) If you want to skip to check some sub-dir or file, you can add them to the SkipDirList, SkipFileList part in the config.ini.A list for skip dirs when scanning source code:SkipDirList = BUILD, ..., TEST\TESTA list for skip files when scanning source code:SkipFileList = .gitignore,...

    • b) If you want to skip a specific ECC error, you can add them to the exception.xml file.The mapping relationship between exception format and ECC error is like below.

Clone this wiki locally


[8]ページ先頭

©2009-2025 Movatter.jp