eng: Update the python template, add a shell template

This commit is contained in:
Chris Johns
2020-09-01 12:09:41 +10:00
parent 5528b1779a
commit 415b072bab

View File

@@ -92,7 +92,7 @@ Use the following guidelines and template for C and C++ header files (here
* Separate the Doxygen comment block from the copyright and license, so that * Separate the Doxygen comment block from the copyright and license, so that
the copyright and license information is not included in the Doxygen output. the copyright and license information is not included in the Doxygen output.
* For C++ header files discard the extern "C". * For C++ header files discard the ``extern "C"`` start and end sections.
.. code-block:: c .. code-block:: c
@@ -138,12 +138,14 @@ Use the following guidelines and template for C and C++ header files (here
#include <foo/bar/xyz.h> #include <foo/bar/xyz.h>
/* Remove for C++ code */
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {
#endif #endif
/* Declarations, defines, macros, inline functions, etc. */ /* Declarations, defines, macros, inline functions, etc. */
/* Remove for C++ code */
#ifdef __cplusplus #ifdef __cplusplus
} }
#endif #endif
@@ -207,13 +209,66 @@ and <COPYRIGHT HOLDER> placeholders see :ref:`FileHeaderCopyright`.
Python File Template Python File Template
-------------------- --------------------
Use the following template for Python source files and other files which accept Use the following template for Python source files. For the <FIRST YEAR>,
a ``#``-style comment block. For the <FIRST YEAR>, <LAST YEAR>, and <LAST YEAR>, and <COPYRIGHT HOLDER> placeholders see
<COPYRIGHT HOLDER> placeholders see :ref:`FileHeaderCopyright`. :ref:`FileHeaderCopyright`.
The ``File documentation block`` is a `Python docstring (PEP 257)
<https://www.python.org/dev/peps/pep-0257/>`_ module documentation
block. RTEMS uses ``"""`` for Python docstrings.
.. code-block:: python
# SPDX-License-Identifier: BSD-2-Clause
"""File documentation block"""
# Copyright (C) <FIRST YEAR>, <LAST YEAR> <COPYRIGHT HOLDER>
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
# 1. Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# 2. Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in the
# documentation and/or other materials provided with the distribution.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
If the Python source file is a command line command add the following as the
first line of the file:
.. code-block:: python .. code-block:: python
#!/usr/bin/env python #!/usr/bin/env python
A command line Python module does not need to have the ``.py`` file extension.
Only specify ``python`` as the command to ``env``. A system that does not
provide the ``python`` command can install a virtual python environment or the
user can prepend the specific Python versioned command to the Python script on
the command line when invoking the command.
Shell Scripts
-------------
Use the following template for shell script source files and other files which
accept a ``#``-style comment block. For the <FIRST YEAR>, <LAST YEAR>, and
<COPYRIGHT HOLDER> placeholders see :ref:`FileHeaderCopyright`.
.. code-block:: shell
#!/bin/sh
# SPDX-License-Identifier: BSD-2-Clause # SPDX-License-Identifier: BSD-2-Clause
# File documentation block # File documentation block