According to commit 400c1fa744 which
introduced rule A.5 to the coding guidelines, the initial exception list
was based on the non-standard function availability in minimal libc.
gmtime_r() however, has not been included to the list, although it's
present in minimal libc since 3e8df8b369.
This commit fixes this, by adding gmtime_r() to the rule A.5 exception
list.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
Rule A.5 is meant for code build with the embedded libCs and
which runs in embedded targets. Let's be more clear about this
and explicitly indicate that host tooling is not covered by it.
Otherwise, the current
"The "Zephyr codebase" in this context refers to all source
code files committed to the main Zephyr repository"
covers too much.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
Update the reference to the Bluetooth Appropriate Language Mapping
Tables document. The link is now the same as the Bluetooth SIG website
uses.
Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
Drop the section of the coding guidelines that's referring to Parasoft
Codescan as it's not used by the project anymore.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Fixed several headings in the contribute section that were not following
the documentation guidelines for headings.
Signed-off-by: Grzegorz Ferenc <Grzegorz.Ferenc@nordicsemi.no>
Sets static analysis an indispensable requirement for our project
releases.
Static analysis is not merely a tool but a proactive
strategy to unearth and address potential issues in the early stages
of development, long before they mature into critical
vulnerabilities. By scrutinizing code at rest, static analysis unveils
latent defects and potential security risks, thus bolstering the
resilience of our software against future threats.
Fixes: #64591
Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
Correct a previous mistake indicating syntax highlighting is
autoguessed.
Add recommendations and samples around languages that documentation
authors are encouraged to use.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Add a note about requirements for specialized drivers, clarifying the
requirements about using Zephyr APIs.
Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
Since there are multiple static analysis tools being used
now, it is better to change references for a particular one
and just point to static analysis section in the documentation.
JIRA is no longer used for tracking security issues. Update it
to Github.
Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
This commit fixes syntax higlighting of all the reStructuredText
snippets in the documentation guidelines by setting default
higlighting language to rst.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
The "Contributing to Zephyr" page used to be a simple table of contents
with pointers to sub-pages. This bland page was not very inviting to new
contributors, and provided little to no context as to what to expect in
each sub-section. This commit improves the landing page by implenmenting
the following changes:
- Remove auto toctree and replace with manually curated entries that
provide more context about each sub-section.
- Add a section about the Zephyr Contributor Badge.
- Add a section about getting help, with links to Discord and dev
mailing list.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
The intro of this document was starting to show its age. Simplified
some of the wording and added a reference to the documentation build
instructions.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
"Numbered steps" were dropped a long time ago in a previous revamp of
the stylesheet, so dropping instructions related to them in the
documentation guidelines.
Also remove unecessary mention to "how to build the doc" as it's
already mentioned as a note at the top of the document.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
The Python dependencies specific to building the documentation were
recently removed from the common requirements. Point users to the
documentation generation instructions and provide details on installing
the doc specific dependencies.
Signed-off-by: Keith Short <keithshort@google.com>
Zephyr scripts do not require documentation dependencies, so let's
move them from scripts/ to doc/.
Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
The link to the zephyr_licensing page was broken
=> fix it.
Also add a relatively evident if to the list:
There is no need to add an entry to the licensing
list if the integrated code is Apache 2.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
prefix with numbers to get sorting based on usage. Most common files
issue types should come first, with bugs being at the top.
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
This commit adds the "Rule A.5: C Standard Library Usage Restrictions
in Zephyr Codebase" to the coding guidelines.
The initial list of allowed non-ISO C libc functions is based on the
non-ISO C functions available in the minimal libc.
Signed-off-by: Stephanos Ioannidis <stephanos.ioannidis@nordicsemi.no>
This commit adds the "Rule A.4: C Standard Library Usage Restrictions
in Zephyr kernel" to the coding guidelines.
Signed-off-by: Stephanos Ioannidis <stephanos.ioannidis@nordicsemi.no>
Topic branches are not in widespread use and the details on how are
managed are being reworked.
Drop the topic branches reference (now being renamed "collab" branches)
from the contribution guideline and just ask to open PRs against main,
as that's the common case right now, saves first time users from having
to dig through the various branches in the repository.
Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
Add a generic section that covers changes to the main manifest,
requiring those to have TSC approval.
Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
Since tools that are not software that is compiled into the final images
may have very different requirements from regular external components,
introduce a new section outlining the process and rules to introduce new
tools into the project.
Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
The RFC proposal documentation better belongs with the other
documentation related to contributing to the Zephyr project.
Signed-off-by: Keith Short <keithshort@google.com>
Collect up all the contributor expectations and PR requirements into a
single place. Add additional guidelines about creating small PRs and how
to break up PRs into multiple commits.
Signed-off-by: Keith Short <keithshort@google.com>
Zephyr's coding style is based on the Linux kernel coding style, which
indicates a preferred limit of 80 columns. Zephyr's .clang-format sets
the ColumnLimit to 100. Update the documentation to match the
.clang-format parameters.
Signed-off-by: Keith Short <keithshort@google.com>
The current content does have all the critical information, but you
have to read carefully to catch several important details. This makes
it less likely that people will be able to follow the rules, which
wastes maintainers' time in PRs from new contributors, since we have
to explain the details repeatedly.
Fix it by making the introduction shorter while still covering all the
bases, and adding details with more concrete examples in the following
subsections.
Keep some other text in the document up to date and fix some
cross-references as needed.
Signed-off-by: Marti Bolivar <marti.bolivar@nordicsemi.no>
Add a note about the "branch out of date" and "Update branch" GitHub
feature. That message is confusing for new users and we often see people
losing approvals and introducing merge commits with it. Adding a note
in the contribution guidelines would hopefully help some.
Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>