Samsung / Universum

Universum project is a Python solution that simplifies SW project verification by integrating existing CI systems and provides additional functionality for CI.
BSD 2-Clause "Simplified" License
17 stars 14 forks source link

Reimplement current style checking functionality as a part of CI script #25

Open k-dovgan opened 5 years ago

k-dovgan commented 5 years ago

Originally created on Thu, 16 Mar 2017 16:00:28 +0900

Currently there is a script created by SQA team. It must be rewritten in python and incorporated into CI system.

Main functionality:

  1. The new script should support follow checkers:
    • "Dos end" file format checking
    • Tab checking (exclude for Makefile)
    • Trailing whitespaces Code style checker (Uncrustify or something else)
  2. Script should have a possibility to check only the new patch changes (shelve) or all project tree
  3. All code style reports should be generate in colourful html files
  4. Code style (Uncrustify) report should be a compare line-by-line between latest version (left side) in repository and new changes (right side). As a feature: compare only the changed code instead of the entire source file. For the latter the following tool can be used: https://github.com/llvm-mirror/clang/blob/master/tools/clang-format/clang-format-diff.py
  5. Code style (Uncrustify) should use the default config files for C/C++ and JAVA languages. Also must be default config file for Linux Kernel and possibility to upload custom config file for each project
  6. html reports should be attached as links at the Swarm Review in comments. Vote Up and Down is enabled or disabled by needs
k-dovgan commented 5 years ago

Originally posted by a.neyvanov on Thu, 31 Aug 2017 17:35:05 +0900

Info about modern code style checkers(beautifiers): https://stackoverflow.com/questions/841075/best-c-code-formatter-beautifier