| <!-- |
| Documentation/_templates/layout.html |
| |
| Licensed to the Apache Software Foundation (ASF) under one or more |
| contributor license agreements. See the NOTICE file distributed with |
| this work for additional information regarding copyright ownership. The |
| ASF licenses this file to you under the Apache License, Version 2.0 (the |
| "License"); you may not use this file except in compliance with the |
| License. You may obtain a copy of the License at |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, software |
| distributed under the License is distributed on an "AS IS" BASIS, WITHOUT |
| WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the |
| License for the specific language governing permissions and limitations |
| under the License. |
| --> |
| |
| <!DOCTYPE html> |
| <html class="writer-html5" lang="en" > |
| <head> |
| <meta charset="utf-8" /><meta name="generator" content="Docutils 0.18.1: http://docutils.sourceforge.net/" /> |
| |
| <meta name="viewport" content="width=device-width, initial-scale=1.0" /> |
| <title>Development Workflow — NuttX latest documentation</title> |
| <link rel="stylesheet" href="../_static/pygments.css" type="text/css" /> |
| <link rel="stylesheet" href="../_static/css/theme.css" type="text/css" /> |
| <link rel="stylesheet" href="../_static/tabs.css" type="text/css" /> |
| <link rel="stylesheet" href="../_static/custom.css" type="text/css" /> |
| <link rel="shortcut icon" href="../_static/favicon.ico"/> |
| <!--[if lt IE 9]> |
| <script src="../_static/js/html5shiv.min.js"></script> |
| <![endif]--> |
| |
| <script src="../_static/jquery.js"></script> |
| <script src="../_static/_sphinx_javascript_frameworks_compat.js"></script> |
| <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script> |
| <script src="../_static/doctools.js"></script> |
| <script src="../_static/sphinx_highlight.js"></script> |
| <script src="../_static/js/theme.js"></script> |
| <link rel="index" title="Index" href="../genindex.html" /> |
| <link rel="search" title="Search" href="../search.html" /> |
| <link rel="next" title="Making Changes Using Git" href="making-changes.html" /> |
| <link rel="prev" title="Contributing" href="index.html" /> |
| </head> |
| |
| <body class="wy-body-for-nav"> |
| <div class="wy-grid-for-nav"> |
| <nav data-toggle="wy-nav-shift" class="wy-nav-side"> |
| <div class="wy-side-scroll"> |
| <div class="wy-side-nav-search" > |
| |
| <a href="../index.html" class="icon icon-home"> NuttX |
| |
| |
| |
| </a> |
| |
| <!-- this version selector is quite ugly, should be probably replaced by something |
| more modern --> |
| |
| <div class="version-selector"> |
| <select onchange="javascript:location.href = this.value;"> |
| |
| <option value="../../latest" selected="selected">latest</option> |
| |
| <option value="../../10.0.0" >10.0.0</option> |
| |
| <option value="../../10.0.1" >10.0.1</option> |
| |
| <option value="../../10.1.0" >10.1.0</option> |
| |
| <option value="../../10.2.0" >10.2.0</option> |
| |
| <option value="../../10.3.0" >10.3.0</option> |
| |
| <option value="../../11.0.0" >11.0.0</option> |
| |
| <option value="../../12.0.0" >12.0.0</option> |
| |
| <option value="../../12.1.0" >12.1.0</option> |
| |
| <option value="../../12.2.0" >12.2.0</option> |
| |
| <option value="../../12.2.1" >12.2.1</option> |
| |
| <option value="../../12.3.0" >12.3.0</option> |
| |
| <option value="../../12.4.0" >12.4.0</option> |
| |
| <option value="../../12.5.0" >12.5.0</option> |
| |
| <option value="../../12.5.1" >12.5.1</option> |
| |
| </select> |
| </div> |
| |
| |
| <div role="search"> |
| <form id="rtd-search-form" class="wy-form" action="../search.html" method="get"> |
| <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" /> |
| <input type="hidden" name="check_keywords" value="yes" /> |
| <input type="hidden" name="area" value="default" /> |
| </form> |
| </div> |
| |
| </div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu"> |
| <p class="caption" role="heading"><span class="caption-text">Table of Contents</span></p> |
| <ul class="current"> |
| <li class="toctree-l1"><a class="reference internal" href="../index.html">Home</a></li> |
| <li class="toctree-l1"><a class="reference internal" href="../introduction/index.html">Introduction</a></li> |
| <li class="toctree-l1"><a class="reference internal" href="../quickstart/index.html">Getting Started</a></li> |
| <li class="toctree-l1 current"><a class="reference internal" href="index.html">Contributing</a><ul class="current"> |
| <li class="toctree-l2 current"><a class="current reference internal" href="#">Development Workflow</a></li> |
| <li class="toctree-l2"><a class="reference internal" href="making-changes.html">Making Changes Using Git</a></li> |
| <li class="toctree-l2"><a class="reference internal" href="coding_style.html">C Coding Standard</a></li> |
| <li class="toctree-l2"><a class="reference internal" href="documentation.html">Documentation</a></li> |
| </ul> |
| </li> |
| <li class="toctree-l1"><a class="reference internal" href="../introduction/inviolables.html">The Inviolable Principles of NuttX</a></li> |
| <li class="toctree-l1"><a class="reference internal" href="../platforms/index.html">Supported Platforms</a></li> |
| <li class="toctree-l1"><a class="reference internal" href="../components/index.html">OS Components</a></li> |
| <li class="toctree-l1"><a class="reference internal" href="../applications/index.html">Applications</a></li> |
| <li class="toctree-l1"><a class="reference internal" href="../reference/index.html">API Reference</a></li> |
| <li class="toctree-l1"><a class="reference internal" href="../faq/index.html">FAQ</a></li> |
| <li class="toctree-l1"><a class="reference internal" href="../guides/index.html">Guides</a></li> |
| <li class="toctree-l1"><a class="reference internal" href="../glossary.html">Glossary</a></li> |
| </ul> |
| |
| </div> |
| </div> |
| </nav> |
| |
| <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" > |
| <i data-toggle="wy-nav-top" class="fa fa-bars"></i> |
| <a href="../index.html">NuttX</a> |
| </nav> |
| |
| <div class="wy-nav-content"> |
| <div class="rst-content"> |
| <div role="navigation" aria-label="Page navigation"> |
| <ul class="wy-breadcrumbs"> |
| <li><a href="../index.html" class="icon icon-home" aria-label="Home"></a></li> |
| <li class="breadcrumb-item"><a href="index.html">Contributing</a></li> |
| <li class="breadcrumb-item active">Development Workflow</li> |
| <li class="wy-breadcrumbs-aside"> |
| <a href="../_sources/contributing/workflow.rst.txt" rel="nofollow"> View page source</a> |
| </li> |
| </ul> |
| <hr/> |
| </div> |
| <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> |
| <div itemprop="articleBody"> |
| |
| <div class="admonition-todo admonition" id="id1"> |
| <p class="admonition-title">Todo</p> |
| <p>update when workflow is settled</p> |
| </div> |
| <section id="development-workflow"> |
| <h1>Development Workflow<a class="headerlink" href="#development-workflow" title="Permalink to this heading"></a></h1> |
| <p>NuttX development workflow is based around contributions submitted in the form of GitHub Pull Requests (PR). This is true both for external contributors and NuttX maintainers, as direct pushes to the repository are not allowed as a general rule. Once submitted, your PR |
| will be reviewed and checked using Continuous Integration (CI) practices.</p> |
| <p>You should be aware of the following:</p> |
| <blockquote> |
| <div><ul> |
| <li><p>All contributions must adhere to the <a class="reference internal" href="coding_style.html"><span class="doc">Coding Standard</span></a>. You can check your files using <code class="docutils literal notranslate"><span class="pre">nxstyle</span></code> |
| or complete patchsets using <code class="docutils literal notranslate"><span class="pre">checkpatch</span></code> script (both found in <code class="docutils literal notranslate"><span class="pre">tools</span></code> subdirectory of NuttX repository). This check will also run |
| automatically during CI to ensure conformance.</p> |
| <p>Note that not all existing files in the repository are already adapted to conform to the standard as this is an ongoing effort. Thus, |
| if you’re submitting a patch to an existing file you may have to make the file conform to the standard, even if you are not responsible |
| for those standard violations.</p> |
| <p>It is also appreciated that you separate any styling fixes in a separate commit from the functional changes so that these are more |
| easily readable during review.</p> |
| </li> |
| <li><p>Before starting work on any given non trivial contribution, do subscribe to the mailing list and ask about your idea to avoid |
| wasted effort by going the wrong-route.</p></li> |
| <li><p>If you are submitting an original contribution (you wrote the code yourself from scratch) it will have to be submitted under |
| the terms of the Apache 2.0 License using the corresponding <a class="reference internal" href="coding_style.html#appendix"><span class="std std-ref">header</span></a>.</p> |
| <p>Note that if you are working as an employee in a company, usually copyright belongs to the company and thus this means the company |
| will have to authorize this and submit the appropriate license agreements.</p> |
| </li> |
| <li><p>If you are submitting third-party code:</p> |
| <ul> |
| <li><p>Code from actively developed projects is not accepted to be included in NuttX (i.e.: creating a fork). It is expected that |
| changes required in third-party code for NuttX support are to be implemented in these projects. As an intermediate solution, |
| it is acceptable to include a patch to be applied to this third-party code, which will be pulled during built.</p></li> |
| <li><p>If this is from an inactive project, it may be considered for inclusion in NuttX, provided that licensing terms allow to do so |
| and it is deemed of sufficient value to be included, considering that this code will have to be maintained in NuttX afterwards.</p> |
| <p>Note that it is undesirable to included non Apache 2.0 Licensed code inside the repository, even if the license itself allows it |
| (for example BSD License).</p> |
| </li> |
| </ul> |
| </li> |
| </ul> |
| </div></blockquote> |
| </section> |
| |
| |
| </div> |
| </div> |
| <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer"> |
| <a href="index.html" class="btn btn-neutral float-left" title="Contributing" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a> |
| <a href="making-changes.html" class="btn btn-neutral float-right" title="Making Changes Using Git" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a> |
| </div> |
| |
| <hr/> |
| |
| <div role="contentinfo"> |
| <p>© Copyright 2020, The Apache Software Foundation.</p> |
| </div> |
| |
| |
| |
| </footer> |
| </div> |
| </div> |
| </section> |
| </div> |
| <script> |
| jQuery(function () { |
| SphinxRtdTheme.Navigation.enable(true); |
| }); |
| </script> |
| |
| </body> |
| </html> |