遵循以下最佳实践的项目将能够自愿的自我认证,并显示他们已经实现了核心基础设施计划(OpenSSF)徽章。 显示详细资料
[](https://www.bestpractices.dev/projects/4839)
<a href="https://www.bestpractices.dev/projects/4839"><img src="https://www.bestpractices.dev/projects/4839/badge"></a>
The Tribal Build, Integrate, and Test System (TriBITS) is a framework designed to handle large software development projects involving multiple independent development teams and multiple source repositories which is built on top of the open-source CMake set of tools. TriBITS also defines a complete software development, testing, and deployment system supporting processes consistent with modern agile software development best practices. TriBITS Core is a set of macros and functions written in CMake that provides a framework for large complex CMake projects and enhances the flexibility and power of CMake.
Must have tests. Must mention Issue IDs. Must have documentation. Must be reviewed. See https://github.com/TriBITSPub/TriBITS/blob/master/CONTRIBUTING.md
Currently, @bartlettroscoe makes all decisions. See https://github.com/TriBITSPub/TriBITS/blob/master/CONTRIBUTING.md#process-details
https://github.com/TriBITSPub/TriBITS/blob/master/CONTRIBUTING.md#process-details
There is no one else can can fully take over the project from me at this point. The goal is to refactor and simplify the software so that anyone with the basics skills can maintain the project. See "TriBITS Maintainer" at https://github.com/TriBITSPub/TriBITS/blob/master/CONTRIBUTING.md.
There is a set of GitHUb issues that provides a backlog. The priority of those items are determined by need by specific customers at a give time. There are some specific driven efforts and those are given their won GitHub Issue Project board in addition to Issue Epic. The Kanban board is https://github.com/TriBITSPub/TriBITS/projects/1.
This is documented in several ways in https://tribits.org/doc/TribitsDevelopersGuide.html
The documentation is largely contained along with the source code itself and extracted with custom automated tools.
https://github.com/TriBITSPub/TriBITS#readme
TriBITS maintains excellent backwards compatibility.
All non-trivial changes to the software are tracked in GitHub Issues in https://github.com/TriBITSPub/TriBITS/issues or related public GitHub projects.
There has never been a security vulnerability reported for TriBITS.
https://github.com/TriBITSPub/TriBITS/wiki/Kanban-Process-for-Issue-Tracking#vulnerability_reports
There is no portable tool that can enforce CMake coding standards. I tried to download and get working 'cmake-format' and 'cmake-lint' from https://github.com/cheshirekow/cmake_format but I failed.
TriBITS follows CMake standards and CMake follows this (unless the user overrides these with CMake cache vars).
CMAKE_BUILD_TYPE=Debug. It is that easy.
TriBITS and CMake are excellent at handling build dependencies.
Assuming the compilers and linkers are deterministic, projects built with TriBITS/CMake will have this property. (So projects would have to set -frandom-seed manually.)
-frandom-seed
With the caveat that CMake does not support uninstall. Therefore, if the user wants to provide for uninstall, then they must install the software into a new unique subdirectory and then delete that subdirectory. It has to be this way because CMake allows for arbitrary commands to be run at install time and it would be near impossible for CMake to keep track of exactly what files got installed or updated in such arbitrary commands. Uninstall of a complex project into a set of directories with other software is just not a reasonable requirement.
TriBITS follows CMake standard of setting -DCMAKE_INSTALL_PREFIX=<base-dir>.
-DCMAKE_INSTALL_PREFIX=<base-dir>
TriBITS requires just raw CMake. That is what makes TriBITS shin over every other system based on CMake (that almost always requires some specific version of Python).
TriBITS requires nothing, only CMake (nothing to list). https://tribits.org/doc/TribitsDevelopersGuide.html#tribits-system-project-dependencies
TriBITS is frequently tested against updated versions of CMake.
Because CMake maintains excellent backward compatibility, newer versions of CMake can be used with version of TriBITS from many years ago.
TriBITS only has a required dependency on CMake. That is all.
TriBITS currently uses the checkin-test.py script. In the near future, it will use GitHub Actions.
TriBITS adds automated tests for almost every bug reported. (Exceptions include changes to files under tribits/common_tpls/ that are not really not part of TriBITS itself, they are just in the TriBiTS repo.)
There are no coverage tools for CMake code so it would be impossible to put a number on this.
https://github.com/TriBITSPub/TriBITS/blob/master/CONTRIBUTING.md#requirements
https://github.com/TriBITSPub/TriBITS/blob/master/CONTRIBUTING.md
Warnings in TriBITS core code are addressed as soon as they are identified.
There are no such algorithms in TriBITS.
All communication is done with CTest which supports HTTPS.
Releases are done with GitHub and GitHub would therefore support this.
We don't do signed releases in TriBITS because there are no releases (yet). Just git commits and git SHA1s (which are secure by design).
There are no inputs to TriBITS that could create security vulnerabilities or any such inputs would be impossible for TriBITS to check. For example, if -DCMAKE_INSTALL_PREFIX=/usr was selected but the user did not have read permissions to /usr, then the OS would disallow the install.
TriBITS itself has no known security implications. It is just a macro language built on top of CMake.
警告:需要URL,但找不到URL。
No such tool exists for CMake code.
There is no such tool for CMake code.
后退