uncrustify
    uncrustify is used for automatic indentation and other formatting of the source code to follow Guidelines for code formatting. All code must remain invariant under uncrustify with the config at admin/uncrustify.cfg. A patched version of uncrustify is used. See Automatic source code formatting for details.
admin/copyright.py
    This Python script adds and formats copyright headers in source files. uncrustify.sh (see below) uses the script to check/update copyright years on changed files automatically.
admin/uncrustify.sh
    This bash script runs uncrustify and copyright.py for all files that have local changes and checks that they conform to the prescribed style. Optionally, the script can also apply changes to make the files conform. This script is automatically run by Jenkins to ensure that all commits adhere to Guidelines for code formatting. If the uncrustify job does not succeed, it means that this script has something to complain. See Automatic source code formatting for details.
admin/git-pre-commit
    This sample git pre-commit hook can be used if one wants to apply uncrustify.sh automatically before every commit to check for formatting issues. See Automatic source code formatting for details.
docs/doxygen/includesorter.py
    This Python script sorts and reformats #include directives according to the guidelines at Guidelines for #include directives. Details are documented on a separate page (with the whole suite of Python scripts used for source code checks): Include order sorting.
include directive checker
    In its present form, the above include sorter script cannot be conveniently applied in uncrustify.sh. To check for issues, it is instead integrated into a check-source build target. When this target is built, it also checks for include formatting issues. Internally, it uses the sorter script. This check is run in Jenkins as part of the Documentation job. Details for the checking mechanism are on a separate page (common for several checkers): Source tree checker scripts.
admin/reformat_all.sh
    This bash script runs uncrustify/copyright.py/ include sorter on all relevant files in the source tree (or in a particular directory). The script can also produce the list of files where these scripts are applied, for use with other scripts. See Automatic source code formatting for details.
git attributes
    git attributes (specified in .gitattributes files) are used to annotate which files are subject to automatic formatting checks (and for automatic reformatting by the above scripts). See man gitattributes for an overview of the mechanism. We use the filter attribute to specify the type of automatic checking/formatting to apply. Custom attributes are used for specifying some build system dependencies for easier processing in CMake.

include-what-you-use
uncrustify uncrustify ใช้สำหรับการเยื้องอัตโนมัติและการจัดรูปแบบอื่น ๆ ของซอร์สโค้ดเพื่อให้เป็นไปตามแนวทางสำหรับการจัดรูปแบบโค้ด รหัสทั้งหมดจะต้องไม่เปลี่ยนแปลงภายใต้ uncrustify ด้วยการกำหนดค่าที่ admin/uncrustify.cfg มีการใช้ uncrustify เวอร์ชันที่ได้รับการติดตั้งแล้ว ดูการจัดรูปแบบซอร์สโค้ดอัตโนมัติสำหรับรายละเอียด admin/copyright.py สคริปต์ Python นี้เพิ่มและจัดรูปแบบส่วนหัวลิขสิทธิ์ในไฟล์ต้นฉบับ uncrustify.sh (ดูด้านล่าง) ใช้สคริปต์เพื่อตรวจสอบ/อัปเดตปีลิขสิทธิ์ในไฟล์ที่เปลี่ยนแปลงโดยอัตโนมัติ admin/uncrustify.sh สคริปต์ทุบตีนี้รัน uncrustify และ copyright.py สำหรับไฟล์ทั้งหมดที่มีการเปลี่ยนแปลงในเครื่องและตรวจสอบว่าเป็นไปตามสไตล์ที่กำหนด ทางเลือก สคริปต์ยังสามารถใช้การเปลี่ยนแปลงเพื่อทำให้ไฟล์สอดคล้องกัน สคริปต์นี้รันโดยอัตโนมัติโดย Jenkins เพื่อให้แน่ใจว่าการคอมมิตทั้งหมดเป็นไปตามหลักเกณฑ์สำหรับการจัดรูปแบบโค้ด หากงานที่ไม่น่าเชื่อถือไม่สำเร็จ แสดงว่าสคริปต์นี้มีบางอย่างที่จะบ่น ดูการจัดรูปแบบซอร์สโค้ดอัตโนมัติสำหรับรายละเอียด admin/git-pre-commit ตัวอย่าง git pre-commit hook นี้สามารถใช้ได้หากต้องการใช้ uncrustify.sh โดยอัตโนมัติก่อนคอมมิตทุกครั้งเพื่อตรวจสอบปัญหาการจัดรูปแบบ ดูการจัดรูปแบบซอร์สโค้ดอัตโนมัติสำหรับรายละเอียด docs/doxygen/includesorter.py สคริปต์ Python นี้จะเรียงลำดับและฟอร์แมตคำสั่ง #include ตามแนวทางในแนวทางสำหรับคำสั่ง #include รายละเอียดได้รับการบันทึกไว้ในหน้าแยกต่างหาก (พร้อมชุดสคริปต์ Python ทั้งหมดที่ใช้สำหรับการตรวจสอบซอร์สโค้ด): รวมการเรียงลำดับ รวมตัวตรวจสอบคำสั่ง ในรูปแบบปัจจุบัน สคริปต์ตัวเรียงลำดับการรวมข้างต้นไม่สามารถใช้ได้อย่างสะดวกใน uncrustify.sh หากต้องการตรวจสอบปัญหา ระบบจะรวมเข้ากับเป้าหมายบิลด์แหล่งตรวจสอบแทน เมื่อสร้างเป้าหมายนี้แล้ว ก็จะตรวจสอบปัญหาการจัดรูปแบบที่รวมอยู่ด้วย ภายในจะใช้สคริปต์ตัวเรียงลำดับ การตรวจสอบนี้รันใน Jenkins โดยเป็นส่วนหนึ่งของงานเอกสาร รายละเอียดสำหรับกลไกการตรวจสอบอยู่ในหน้าแยกต่างหาก (ทั่วไปสำหรับตัวตรวจสอบหลายตัว): สคริปต์ตัวตรวจสอบแผนผังต้นทาง admin/reformat_all.sh สคริปต์ทุบตีนี้รัน uncrustify/copyright.py/ รวมตัวเรียงลำดับในไฟล์ที่เกี่ยวข้องทั้งหมดในแผนผังต้นทาง (หรือในไดเร็กทอรีเฉพาะ) สคริปต์ยังสามารถสร้างรายการไฟล์ที่ใช้สคริปต์เหล่านี้ เพื่อใช้กับสคริปต์อื่น ดูการจัดรูปแบบซอร์สโค้ดอัตโนมัติสำหรับรายละเอียด แอตทริบิวต์ git แอตทริบิวต์ git (ระบุไว้ในไฟล์ .gitattributes) ใช้เพื่ออธิบายประกอบไฟล์ที่ต้องได้รับการตรวจสอบการจัดรูปแบบอัตโนมัติ (และสำหรับการฟอร์แมตใหม่โดยอัตโนมัติด้วยสคริปต์ข้างต้น) ดู man gitattributes สำหรับภาพรวมของกลไก เราใช้แอตทริบิวต์ตัวกรองเพื่อระบุประเภทของการตรวจสอบ/การจัดรูปแบบอัตโนมัติที่จะใช้ แอตทริบิวต์ที่กำหนดเองใช้สำหรับระบุการพึ่งพาระบบบิวด์บางส่วนเพื่อการประมวลผลที่ง่ายขึ้นใน CMake รวมสิ่งที่คุณใช้
spam fails_task lang_mismatch pii not_appropriate hate_speech sexual_content quality toxicity humor helpfulness creativity violence