jerryscript/dev-guide/index.html
Evgeny Gavrin 3929590e13 update
2015-06-13 19:04:09 +03:00

208 lines
7.0 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Development</title>
<meta name="description" content="JerryScript is a very lightweight JavaScript engine with capability to run on microcontrollers with less then 8KB of RAM.
">
<link rel="stylesheet" href="/jerryscript/css/main.css">
<link rel="canonical" href="http://samsung.github.io/jerryscript/dev-guide/">
<link rel="alternate" type="application/rss+xml" title="JerryScript Engine" href="http://samsung.github.io/jerryscript/feed.xml" />
</head>
<body>
<header class="site-header">
<div class="wrapper">
<a class="site-title" href="/jerryscript/">JerryScript Engine</a>
<nav class="site-nav">
<a href="#" class="menu-icon">
<svg viewBox="0 0 18 15">
<path fill="#424242" d="M18,1.484c0,0.82-0.665,1.484-1.484,1.484H1.484C0.665,2.969,0,2.304,0,1.484l0,0C0,0.665,0.665,0,1.484,0 h15.031C17.335,0,18,0.665,18,1.484L18,1.484z"/>
<path fill="#424242" d="M18,7.516C18,8.335,17.335,9,16.516,9H1.484C0.665,9,0,8.335,0,7.516l0,0c0-0.82,0.665-1.484,1.484-1.484 h15.031C17.335,6.031,18,6.696,18,7.516L18,7.516z"/>
<path fill="#424242" d="M18,13.516C18,14.335,17.335,15,16.516,15H1.484C0.665,15,0,14.335,0,13.516l0,0 c0-0.82,0.665-1.484,1.484-1.484h15.031C17.335,12.031,18,12.696,18,13.516L18,13.516z"/>
</svg>
</a>
<div class="trigger">
<a class="page-link" href="/jerryscript/how-to/">How To</a>
<a class="page-link" href="/jerryscript/API/">API</a>
<a class="page-link" href="/jerryscript/internals/">Internals</a>
<a class="page-link" href="/jerryscript/dev-guide/">Development</a>
</div>
</nav>
</div>
</header>
<div class="page-content">
<div class="wrapper">
<div class="post">
<header class="post-header">
<h1 class="post-title">Development</h1>
</header>
<article class="post-content">
<h3 id="prerequisites-setup">Prerequisites setup</h3>
<p>Upon first build, <code>make</code> would try to setup prerequisites, required for further development and precommit testing:<br />
- stm32f3 and stm32f4 libraries<br />
- nuttxs headers<br />
- cppcheck 1.66<br />
- vera++ 1.2.1</p>
<p>However, there are some dependencies, that should be installed manually:<br />
- gcc / g++ (recommended &gt;= 4.8.2)<br />
- native<br />
- arm-none-eabi</p>
<p><code>
sudo apt-get install gcc-arm-none-eabi
</code></p>
<ul>
<li>cmake &gt;= 2.8.12.2</li>
<li>make &gt;= 3.81</li>
<li>bash &gt;= 4.3.11</li>
<li>
<p>cppcheck requires <code>libpcre</code></p>
<p><code>
sudo apt-get install cmake libpcre3 libpcre3-dev
</code></p>
</li>
<li>
<p>vera++ requires <code>tcl</code>, <code>tk</code> and <code>boost</code></p>
<p><code>
sudo apt-get install tcl8.6 tcl8.6-dev tk8.6-dev
sudo apt-get install libboost-all-dev
</code></p>
</li>
</ul>
<p>Several shell utilities:<br />
- find<br />
- bc<br />
- awk<br />
- sed<br />
- sha256sum<br />
- wget</p>
<h3 id="proposals-get-answers-and-report-a-bug-via-github-issues">Proposals, Get Answers and Report a Bug via Github Issues</h3>
<p>If you have a question about JerryScript code, have trouble any documentation, would like to suggest new feature, or find a bug, <a href="https://github.com/Samsung/jerryscript/issues">review the current JerryScript issues</a> in GitHub, and if necessary, <a href="https://github.com/Samsung/jerryscript/issues/new">create a new issue</a>.</p>
<p><strong>There are several labels on the Issue. Please choose proper labels on the purpose.</strong><br />
* <strong>bug</strong><br />
* <strong>enhancement</strong> : feature enhancement proposal<br />
* <strong>feature request</strong> : new feature proposal<br />
* <strong>question</strong> : any questions on the project</p>
<p>and so on.</p>
<hr />
<h3 id="patch-submission-process">Patch Submission Process</h3>
<p>If your patchset include a new feature, please discuss with community members in advance via Github Issues.<br />
When youre confident with your patchset, please submit your patch by following steps.</p>
<h4 id="scope-the-patch">1. Scope the patch</h4>
<p>Smaller patches are generally easier to understand and test, so please submit changes in the smallest increments possible.</p>
<h4 id="sign-your-work-with-the-jerryscript-dcohttpsgithubcomsamsungjerryscriptwikijerryscript-developers-certificate-of-origin-10">2. Sign your work with the <a href="https://github.com/Samsung/jerryscript/wiki/JerryScript-Developer's-Certificate-of-Origin-1.0">JerryScript DCO</a></h4>
<p>The sign-off is a simple line at the end of the explanation for the patch, which certifies that you wrote it or otherwise have the right to pass it on as an Open Source patch. The sign-off is required for a patch to be accepted.</p>
<h4 id="open-a-github-pull-requesthttpsgithubcomsamsungjerryscriptpullsnew">3. Open <a href="https://github.com/Samsung/jerryscript/pulls/new">a Github pull request</a></h4>
<h4 id="code-review">4. Code review</h4>
<p>Code review can be performed by all the members of the Project (not just Maintainers and Committers). Members can review code changes and share their opinion by comments with the following principles:</p>
<ul>
<li>Discuss code; never discuss the codes author.</li>
<li>Respect and acknowledge contributions, suggestions, and comments.</li>
<li>Listen and be open to all different opinions.</li>
<li>Help each other.</li>
</ul>
<p>Changes are submitted via pull requests and only the Maintainers and Committers should approve or reject the pull request.</p>
<h4 id="maintain-the-code">5. Maintain the code</h4>
<p>When the patches are accepted through proper review process and integrated into the master branch, please keep in mind that you have a responsibility to maintain the code throughout its lifecycle.</p>
</article>
</div>
</div>
</div>
<footer class="site-footer">
<div class="wrapper">
<!--
<h2 class="footer-heading">JerryScript Engine</h2>
<div class="footer-col-wrapper">
<div class="footer-col footer-col-1">
<ul class="contact-list">
<li>JerryScript Engine</li>
<li><a href="mailto:"></a></li>
</ul>
</div>
<h3 class="footer-heading">JerryScript Engine</h2>
<div class="footer-col footer-col-5">
<p class="text">JerryScript is a very lightweight JavaScript engine with capability to run on microcontrollers with less then 8KB of RAM.
</p>
</div>
-->
<div class="footer-copy">
<p> &copy; Copyright 2015 Samsung Electronics Co., Ltd., Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
</div>
</div>
</footer>
</body>
</html>