Robert Ly | 35f2fda | 2013-01-29 16:27:05 -0800 | [diff] [blame] | 1 | page.title=Submitting Patches |
| 2 | @jd:body |
| 3 | |
| 4 | <!-- |
Clay Murphy | b840b6f | 2015-03-12 16:57:41 -0700 | [diff] [blame] | 5 | Copyright 2015 The Android Open Source Project |
Robert Ly | 35f2fda | 2013-01-29 16:27:05 -0800 | [diff] [blame] | 6 | |
| 7 | Licensed under the Apache License, Version 2.0 (the "License"); |
| 8 | you may not use this file except in compliance with the License. |
| 9 | You may obtain a copy of the License at |
| 10 | |
| 11 | http://www.apache.org/licenses/LICENSE-2.0 |
| 12 | |
| 13 | Unless required by applicable law or agreed to in writing, software |
| 14 | distributed under the License is distributed on an "AS IS" BASIS, |
| 15 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| 16 | See the License for the specific language governing permissions and |
| 17 | limitations under the License. |
| 18 | --> |
| 19 | <div id="qv-wrapper"> |
| 20 | |
| 21 | <div id="qv"> |
| 22 | <h2>In this document</h2> |
| 23 | <ol id="auto-toc"> |
| 24 | </ol> |
| 25 | </div> |
| 26 | </div> |
Mark Hecomovich | 27cc4e4 | 2016-07-21 15:08:53 -0700 | [diff] [blame] | 27 | <p>This page describes the full process of submitting a patch to the AOSP, |
| 28 | including |
| 29 | reviewing and tracking changes with <a |
| 30 | href="https://android-review.googlesource.com/">Gerrit</a>.</p> |
Robert Ly | 35f2fda | 2013-01-29 16:27:05 -0800 | [diff] [blame] | 31 | <h2 id="prerequisites">Prerequisites</h2> |
| 32 | <ul> |
| 33 | <li> |
Mark Hecomovich | 27cc4e4 | 2016-07-21 15:08:53 -0700 | [diff] [blame] | 34 | <p>Before you follow the instructions on this page, you need to <a |
| 35 | href="{@docRoot}source/initializing.html"> |
Clay Murphy | 4a98dc4 | 2014-11-21 13:30:05 -0800 | [diff] [blame] | 36 | initialize your build environment</a>, <a |
| 37 | href="{@docRoot}source/downloading.html">download the source</a>, <a |
| 38 | href="https://android.googlesource.com/new-password">create a |
| 39 | password</a>, and follow the instructions on the password generator page.</p> |
Robert Ly | 35f2fda | 2013-01-29 16:27:05 -0800 | [diff] [blame] | 40 | </li> |
| 41 | <li> |
Mark Hecomovich | 27cc4e4 | 2016-07-21 15:08:53 -0700 | [diff] [blame] | 42 | <p>For details about Repo and Git, see the <a |
| 43 | href="{@docRoot}source/developing.html">Developing</a> section.</p> |
Robert Ly | 35f2fda | 2013-01-29 16:27:05 -0800 | [diff] [blame] | 44 | </li> |
| 45 | <li> |
| 46 | <p>For information about the different roles you can play within the Android |
Mark Hecomovich | 27cc4e4 | 2016-07-21 15:08:53 -0700 | [diff] [blame] | 47 | Open Source community, see <a href="{@docRoot}source/roles.html">Project |
| 48 | roles</a>.</p> |
Robert Ly | 35f2fda | 2013-01-29 16:27:05 -0800 | [diff] [blame] | 49 | </li> |
| 50 | <li> |
| 51 | <p>If you plan to contribute code to the Android platform, be sure to read |
Mark Hecomovich | 27cc4e4 | 2016-07-21 15:08:53 -0700 | [diff] [blame] | 52 | the <a href="{@docRoot}source/licenses.html">AOSP's licensing |
| 53 | information</a>.</p> |
Robert Ly | 35f2fda | 2013-01-29 16:27:05 -0800 | [diff] [blame] | 54 | </li> |
| 55 | <li> |
| 56 | <p>Note that changes to some of the upstream projects used by Android should be |
Mark Hecomovich | 27cc4e4 | 2016-07-21 15:08:53 -0700 | [diff] [blame] | 57 | made directly to that project, as described in <a |
| 58 | href="#upstream-projects">Upstream Projects</a>.</p> |
Robert Ly | 35f2fda | 2013-01-29 16:27:05 -0800 | [diff] [blame] | 59 | </li> |
| 60 | </ul> |
| 61 | <h1 id="for-contributors">For contributors</h1> |
| 62 | <h2 id="authenticate-with-the-server">Authenticate with the server</h2> |
Clay Murphy | 4a98dc4 | 2014-11-21 13:30:05 -0800 | [diff] [blame] | 63 | <p>Before you can upload to Gerrit, you need to <a |
| 64 | href="https://android.googlesource.com/new-password">establish a password</a> |
| 65 | that will identify you with the server. Follow the instructions on the password |
| 66 | generator page. You need to do this only once. See <a |
| 67 | href="{@docRoot}source/downloading.html#using-authentication">Using |
| 68 | Authentication</a> for additional details.</p> |
Robert Ly | 35f2fda | 2013-01-29 16:27:05 -0800 | [diff] [blame] | 69 | <h2 id="start-a-repo-branch">Start a repo branch</h2> |
Mark Hecomovich | 27cc4e4 | 2016-07-21 15:08:53 -0700 | [diff] [blame] | 70 | <p>For each change you intend to make, start a new branch within the relevant |
| 71 | git repository:</p> |
Robert Ly | 35f2fda | 2013-01-29 16:27:05 -0800 | [diff] [blame] | 72 | <pre><code>$ repo start NAME . |
| 73 | </code></pre> |
Clay Murphy | f7935f9 | 2014-03-12 10:34:37 -0700 | [diff] [blame] | 74 | <p>You can start several independent branches at the same time in the same |
| 75 | repository. The branch NAME is local to your workspace and will not be included |
| 76 | on gerrit or the final source tree.</p> |
Robert Ly | 35f2fda | 2013-01-29 16:27:05 -0800 | [diff] [blame] | 77 | <h2 id="make-your-change">Make your change</h2> |
Clay Murphy | f7935f9 | 2014-03-12 10:34:37 -0700 | [diff] [blame] | 78 | <p>Once you have modified the source files (and validated them, please) commit |
| 79 | the changes to your local repository:</p> |
Robert Ly | 35f2fda | 2013-01-29 16:27:05 -0800 | [diff] [blame] | 80 | <pre><code>$ git add -A |
| 81 | $ git commit -s |
| 82 | </code></pre> |
Clay Murphy | f7935f9 | 2014-03-12 10:34:37 -0700 | [diff] [blame] | 83 | <p>Provide a detailed description of the change in your commit message. This |
| 84 | description will be pushed to the public AOSP repository, so please follow our |
| 85 | guidelines for writing changelist descriptions: </p> |
Robert Ly | 35f2fda | 2013-01-29 16:27:05 -0800 | [diff] [blame] | 86 | <ul> |
Robert Ly | 35f2fda | 2013-01-29 16:27:05 -0800 | [diff] [blame] | 87 | |
Robert Ly | 35f2fda | 2013-01-29 16:27:05 -0800 | [diff] [blame] | 88 | <li> |
Mark Hecomovich | 27cc4e4 | 2016-07-21 15:08:53 -0700 | [diff] [blame] | 89 | <p>Start with a one-line summary (50 characters maximum), followed by a |
| 90 | blank line. |
Mark Hecomovich | c859b34 | 2016-07-20 16:32:00 -0700 | [diff] [blame] | 91 | This format is used by git and gerrit for various displays.</p> |
| 92 | </li> |
| 93 | |
| 94 | <li> |
Mark Hecomovich | 27cc4e4 | 2016-07-21 15:08:53 -0700 | [diff] [blame] | 95 | <p>Starting on the third line, enter a longer description, which must |
| 96 | hard-wrap at 72 characters maximum. This description should focus on what |
| 97 | issue the change solves, and how it solves it. The second part is somewhat |
| 98 | optional when implementing new features, though desirable.</p> |
Robert Ly | 35f2fda | 2013-01-29 16:27:05 -0800 | [diff] [blame] | 99 | </li> |
| 100 | <li> |
Mark Hecomovich | 27cc4e4 | 2016-07-21 15:08:53 -0700 | [diff] [blame] | 101 | <p>Include a brief note of any assumptions or background information that |
| 102 | may be important when another contributor works on this feature next year.</p> |
Robert Ly | 35f2fda | 2013-01-29 16:27:05 -0800 | [diff] [blame] | 103 | </li> |
| 104 | </ul> |
Mark Hecomovich | c859b34 | 2016-07-20 16:32:00 -0700 | [diff] [blame] | 105 | |
| 106 | <p>Here is an example commit message:</p> |
| 107 | <pre><code>short description on first line |
| 108 | |
| 109 | more detailed description of your patch, |
| 110 | which is likely to take up multiple lines. |
| 111 | </code></pre> |
| 112 | |
Mark Hecomovich | 27cc4e4 | 2016-07-21 15:08:53 -0700 | [diff] [blame] | 113 | <p>A unique change ID and your name and email as provided during <code>repo |
| 114 | init</code> will be automatically added to your commit message. </p> |
Robert Ly | 35f2fda | 2013-01-29 16:27:05 -0800 | [diff] [blame] | 115 | <h2 id="upload-to-gerrit">Upload to gerrit</h2> |
Mark Hecomovich | 27cc4e4 | 2016-07-21 15:08:53 -0700 | [diff] [blame] | 116 | <p>Once you have committed your change to your personal history, upload it |
| 117 | to gerrit with</p> |
Robert Ly | 35f2fda | 2013-01-29 16:27:05 -0800 | [diff] [blame] | 118 | <pre><code>$ repo upload |
| 119 | </code></pre> |
Mark Hecomovich | 27cc4e4 | 2016-07-21 15:08:53 -0700 | [diff] [blame] | 120 | <p>If you have started multiple branches in the same repository, you will |
| 121 | be prompted to select which one(s) to upload.</p> |
Robert Ly | 35f2fda | 2013-01-29 16:27:05 -0800 | [diff] [blame] | 122 | <p>After a successful upload, repo will provide you the URL of a new page on |
Mark Hecomovich | 27cc4e4 | 2016-07-21 15:08:53 -0700 | [diff] [blame] | 123 | <a href="https://android-review.googlesource.com/">Gerrit</a>. Visit this |
| 124 | link to view |
Robert Ly | 35f2fda | 2013-01-29 16:27:05 -0800 | [diff] [blame] | 125 | your patch on the review server, add comments, or request specific reviewers |
| 126 | for your patch.</p> |
| 127 | <h2 id="uploading-a-replacement-patch">Uploading a replacement patch</h2> |
Mark Hecomovich | 27cc4e4 | 2016-07-21 15:08:53 -0700 | [diff] [blame] | 128 | <p>Suppose a reviewer has looked at your patch and requested a small |
| 129 | modification. You can amend your commit within git, which will result in a |
| 130 | new patch on gerrit with the same change ID as the original.</p> |
| 131 | <p><em>Note that if you have made other commits since uploading this patch, |
| 132 | you will need to manually move your git HEAD.</em></p> |
Robert Ly | 35f2fda | 2013-01-29 16:27:05 -0800 | [diff] [blame] | 133 | <pre><code>$ git add -A |
| 134 | $ git commit --amend |
| 135 | </code></pre> |
Mark Hecomovich | 27cc4e4 | 2016-07-21 15:08:53 -0700 | [diff] [blame] | 136 | <p>When you upload the amended patch, it will replace the original on gerrit |
| 137 | and in your local git history.</p> |
Robert Ly | 35f2fda | 2013-01-29 16:27:05 -0800 | [diff] [blame] | 138 | <h2 id="resolving-sync-conflicts">Resolving sync conflicts</h2> |
Mark Hecomovich | 27cc4e4 | 2016-07-21 15:08:53 -0700 | [diff] [blame] | 139 | <p>If other patches are submitted to the source tree that conflict with |
| 140 | yours, you will need to rebase your patch on top of the new HEAD of the |
| 141 | source repository. The easy way to do this is to run</p> |
Robert Ly | 35f2fda | 2013-01-29 16:27:05 -0800 | [diff] [blame] | 142 | <pre><code>$ repo sync |
| 143 | </code></pre> |
Mark Hecomovich | 27cc4e4 | 2016-07-21 15:08:53 -0700 | [diff] [blame] | 144 | <p>This command first fetches the updates from the source server, then |
| 145 | attempts to automatically rebase your HEAD onto the new remote HEAD.</p> |
| 146 | <p>If the automatic rebase is unsuccessful, you will have to perform a |
| 147 | manual rebase.</p> |
Clay Murphy | b840b6f | 2015-03-12 16:57:41 -0700 | [diff] [blame] | 148 | <pre><code>$ repo rebase |
Robert Ly | 35f2fda | 2013-01-29 16:27:05 -0800 | [diff] [blame] | 149 | </code></pre> |
Mark Hecomovich | 27cc4e4 | 2016-07-21 15:08:53 -0700 | [diff] [blame] | 150 | <p>Using <code>git mergetool</code> may help you deal with the rebase |
| 151 | conflict. Once you have successfully merged the conflicting files,</p> |
Robert Ly | 35f2fda | 2013-01-29 16:27:05 -0800 | [diff] [blame] | 152 | <pre><code>$ git rebase --continue |
| 153 | </code></pre> |
Mark Hecomovich | 27cc4e4 | 2016-07-21 15:08:53 -0700 | [diff] [blame] | 154 | <p>After either automatic or manual rebase is complete, run <code>repo |
| 155 | upload</code> to submit your rebased patch.</p> |
Robert Ly | 35f2fda | 2013-01-29 16:27:05 -0800 | [diff] [blame] | 156 | <h2 id="after-a-submission-is-approved">After a submission is approved</h2> |
Mark Hecomovich | 27cc4e4 | 2016-07-21 15:08:53 -0700 | [diff] [blame] | 157 | <p>After a submission makes it through the review and verification process, |
| 158 | Gerrit automatically merges the change into the public repository. Other |
| 159 | users will be able to run <code>repo sync</code> to pull the update into |
| 160 | their local client.</p> |
Robert Ly | 35f2fda | 2013-01-29 16:27:05 -0800 | [diff] [blame] | 161 | <h1 id="for-reviewers-and-verifiers">For reviewers and verifiers</h1> |
| 162 | <h2 id="reviewing-a-change">Reviewing a change</h2> |
Mark Hecomovich | 27cc4e4 | 2016-07-21 15:08:53 -0700 | [diff] [blame] | 163 | <p>If you are assigned to be the Approver for a change, you need to determine |
| 164 | the following:</p> |
Robert Ly | 35f2fda | 2013-01-29 16:27:05 -0800 | [diff] [blame] | 165 | <ul> |
| 166 | <li> |
| 167 | <p>Does this change fit within this project's stated purpose?</p> |
| 168 | </li> |
| 169 | <li> |
| 170 | <p>Is this change valid within the project's existing architecture?</p> |
| 171 | </li> |
| 172 | <li> |
Mark Hecomovich | 27cc4e4 | 2016-07-21 15:08:53 -0700 | [diff] [blame] | 173 | <p>Does this change introduce design flaws that will cause problems in |
| 174 | the future?</p> |
Robert Ly | 35f2fda | 2013-01-29 16:27:05 -0800 | [diff] [blame] | 175 | </li> |
| 176 | <li> |
Mark Hecomovich | 27cc4e4 | 2016-07-21 15:08:53 -0700 | [diff] [blame] | 177 | <p>Does this change follow the best practices that have been established |
| 178 | for this project?</p> |
Robert Ly | 35f2fda | 2013-01-29 16:27:05 -0800 | [diff] [blame] | 179 | </li> |
| 180 | <li> |
| 181 | <p>Is this change a good way to perform the described function?</p> |
| 182 | </li> |
| 183 | <li> |
| 184 | <p>Does this change introduce any security or instability risks?</p> |
| 185 | </li> |
| 186 | </ul> |
Mark Hecomovich | 27cc4e4 | 2016-07-21 15:08:53 -0700 | [diff] [blame] | 187 | <p>If you approve of the change, mark it with LGTM ("Looks Good to Me") |
| 188 | within Gerrit.</p> |
Robert Ly | 35f2fda | 2013-01-29 16:27:05 -0800 | [diff] [blame] | 189 | <h2 id="verifying-a-change">Verifying a change</h2> |
Mark Hecomovich | 27cc4e4 | 2016-07-21 15:08:53 -0700 | [diff] [blame] | 190 | <p>If you are assigned to be the Verifier for a change, you need to do the |
| 191 | following:</p> |
Robert Ly | 35f2fda | 2013-01-29 16:27:05 -0800 | [diff] [blame] | 192 | <ul> |
| 193 | <li> |
Mark Hecomovich | 27cc4e4 | 2016-07-21 15:08:53 -0700 | [diff] [blame] | 194 | <p>Patch the change into your local client using one of the Download |
| 195 | commands.</p> |
Robert Ly | 35f2fda | 2013-01-29 16:27:05 -0800 | [diff] [blame] | 196 | </li> |
| 197 | <li> |
| 198 | <p>Build and test the change.</p> |
| 199 | </li> |
| 200 | <li> |
Mark Hecomovich | 27cc4e4 | 2016-07-21 15:08:53 -0700 | [diff] [blame] | 201 | <p>Within Gerrit use Publish Comments to mark the commit as "Verified" or |
| 202 | "Fails," and add a message explaining what problems were identified.</p> |
Robert Ly | 35f2fda | 2013-01-29 16:27:05 -0800 | [diff] [blame] | 203 | </li> |
| 204 | </ul> |
| 205 | <h2 id="downloading-changes-from-gerrit">Downloading changes from Gerrit</h2> |
Mark Hecomovich | 27cc4e4 | 2016-07-21 15:08:53 -0700 | [diff] [blame] | 206 | <p>A submission that has been verified and merged will be downloaded with |
| 207 | the next <code>repo sync</code>. If you wish to download a specific change |
| 208 | that has not yet been approved, run</p> |
Robert Ly | 35f2fda | 2013-01-29 16:27:05 -0800 | [diff] [blame] | 209 | <pre><code>$ repo download TARGET CHANGE |
| 210 | </code></pre> |
Mark Hecomovich | 27cc4e4 | 2016-07-21 15:08:53 -0700 | [diff] [blame] | 211 | <p>where TARGET is the local directory into which the change should be |
| 212 | downloaded and CHANGE is the |
| 213 | change number as listed in <a |
| 214 | href="https://android-review.googlesource.com/">Gerrit</a>. For more |
| 215 | information, |
Clay Murphy | f7935f9 | 2014-03-12 10:34:37 -0700 | [diff] [blame] | 216 | see the <a href="{@docRoot}source/using-repo.html">Repo reference</a>.</p> |
Mark Hecomovich | 27cc4e4 | 2016-07-21 15:08:53 -0700 | [diff] [blame] | 217 | <h2 id="how-do-i-become-a-verifier-or-approver">How do I become a Verifier |
| 218 | or Approver?</h2> |
| 219 | <p>In short, contribute high-quality code to one or more of the Android |
| 220 | projects. |
Robert Ly | 35f2fda | 2013-01-29 16:27:05 -0800 | [diff] [blame] | 221 | For details about the different roles in the Android Open Source community and |
Mark Hecomovich | 27cc4e4 | 2016-07-21 15:08:53 -0700 | [diff] [blame] | 222 | who plays them, see <a href="{@docRoot}source/roles.html">Project |
| 223 | Roles</a>.</p> |
Robert Ly | 35f2fda | 2013-01-29 16:27:05 -0800 | [diff] [blame] | 224 | <h2 id="diffs-and-comments">Diffs and comments</h2> |
Mark Hecomovich | 27cc4e4 | 2016-07-21 15:08:53 -0700 | [diff] [blame] | 225 | <p>To open the details of the change within Gerrit, click on the "Id number" |
| 226 | or "Subject" of a change. To compare the established code with the updated |
| 227 | code, click the file name under "Side-by-side diffs."</p> |
Robert Ly | 35f2fda | 2013-01-29 16:27:05 -0800 | [diff] [blame] | 228 | <h2 id="adding-comments">Adding comments</h2> |
Mark Hecomovich | 27cc4e4 | 2016-07-21 15:08:53 -0700 | [diff] [blame] | 229 | <p>Anyone in the community can use Gerrit to add inline comments to code |
| 230 | submissions. A good comment will be relevant to the line or section of code |
| 231 | to which it is attached in Gerrit. It might be a short and constructive |
| 232 | suggestion about how a line of code could be improved, or it might be an |
| 233 | explanation from the author about why the code makes sense the way it is.</p> |
| 234 | <p>To add an inline comment, double-click the relevant line of the code |
| 235 | and write your comment in the text box that opens. When you click Save, |
| 236 | only you can see your comment.</p> |
| 237 | <p>To publish your comments so that others using Gerrit will be able to see |
| 238 | them, click the Publish Comments button. Your comments will be emailed to |
| 239 | all relevant parties for this change, including the change owner, the patch |
| 240 | set uploader (if different from the owner), and all current reviewers.</p> |
Robert Ly | 35f2fda | 2013-01-29 16:27:05 -0800 | [diff] [blame] | 241 | <p><a name="upstream-projects"></a></p> |
| 242 | <h1 id="upstream-projects">Upstream Projects</h1> |
Mark Hecomovich | 27cc4e4 | 2016-07-21 15:08:53 -0700 | [diff] [blame] | 243 | <p>Android makes use of a number of other open source projects, such as the |
| 244 | Linux kernel and WebKit, as described in |
| 245 | <a href="{@docRoot}source/code-lines.html">Codelines, Branches, and |
| 246 | Releases</a>. For most projects under <code>external/</code>, changes should |
| 247 | be made upstream and then the Android maintainers informed of the new upstream |
| 248 | release containing these changes. It may also be useful to upload patches |
| 249 | that move us to track a new upstream release, though these can be difficult |
| 250 | changes to make if the project is widely used within Android like most of the |
| 251 | larger ones mentioned below, where we tend to upgrade with every release.</p> |
| 252 | <p>One interesting special case is bionic. Much of the code there is from BSD, |
| 253 | so unless the change is to code that's new to bionic, we'd much rather see an |
| 254 | upstream fix and then pull a whole new file from the appropriate BSD. (Sadly |
| 255 | we have quite a mix of different BSDs at the moment, but we hope to address |
| 256 | that in future, and get into a position where we track upstream much more |
| 257 | closely.)</p> |
Robert Ly | 35f2fda | 2013-01-29 16:27:05 -0800 | [diff] [blame] | 258 | <h2 id="icu4c">ICU4C</h2> |
Mark Hecomovich | 27cc4e4 | 2016-07-21 15:08:53 -0700 | [diff] [blame] | 259 | <p>All changes to the ICU4C project at <code>external/icu4c</code> should |
| 260 | be made upstream at |
Robert Ly | 35f2fda | 2013-01-29 16:27:05 -0800 | [diff] [blame] | 261 | <a href="http://site.icu-project.org/">icu-project.org/</a>. |
Mark Hecomovich | 27cc4e4 | 2016-07-21 15:08:53 -0700 | [diff] [blame] | 262 | See <a href="http://site.icu-project.org/bugs">Submitting ICU Bugs and |
| 263 | Feature Requests</a> for more.</p> |
Robert Ly | 40e3b6d | 2013-04-17 18:12:10 -0700 | [diff] [blame] | 264 | |
| 265 | <h2 id="llvmclangcompiler-rt">LLVM/Clang/Compiler-rt</h2> |
Mark Hecomovich | 27cc4e4 | 2016-07-21 15:08:53 -0700 | [diff] [blame] | 266 | <p>All changes to LLVM-related projects (<code>external/clang</code>, |
| 267 | <code>external/compiler-rt</code>, |
Robert Ly | 40e3b6d | 2013-04-17 18:12:10 -0700 | [diff] [blame] | 268 | <code>external/llvm</code>) should be made upstream at |
| 269 | <a href="http://llvm.org/">llvm.org/</a>.</p> |
| 270 | |
Clay Murphy | c5355f8 | 2014-01-13 11:15:35 -0800 | [diff] [blame] | 271 | <h2 id="mksh">mksh</h2> |
Mark Hecomovich | 27cc4e4 | 2016-07-21 15:08:53 -0700 | [diff] [blame] | 272 | <p>All changes to the MirBSD Korn Shell project at <code>external/mksh</code> |
| 273 | should be made upstream |
| 274 | either by sending an email to miros-mksh on the mirbsd.org domain (no |
| 275 | subscription |
| 276 | required to submit there) or (optionally) at <a |
| 277 | href="https://launchpad.net/mksh">Launchpad</a>. |
Robert Ly | 40e3b6d | 2013-04-17 18:12:10 -0700 | [diff] [blame] | 278 | </p> |
Robert Ly | 35f2fda | 2013-01-29 16:27:05 -0800 | [diff] [blame] | 279 | <h2 id="openssl">OpenSSL</h2> |
Mark Hecomovich | 27cc4e4 | 2016-07-21 15:08:53 -0700 | [diff] [blame] | 280 | <p>All changes to the OpenSSL project at <code>external/openssl</code> |
| 281 | should be made upstream at |
Robert Ly | 35f2fda | 2013-01-29 16:27:05 -0800 | [diff] [blame] | 282 | <a href="http://www.openssl.org">openssl.org</a>.</p> |
| 283 | <h2 id="v8">V8</h2> |
Mark Hecomovich | 27cc4e4 | 2016-07-21 15:08:53 -0700 | [diff] [blame] | 284 | <p>All changes to the V8 project at <code>external/v8</code> should be |
| 285 | submitted upstream at |
| 286 | <a href="https://code.google.com/p/v8">code.google.com/p/v8</a>. See <a |
| 287 | href="https://code.google.com/p/v8/wiki/Contributing">Contributing to V8</a> |
Robert Ly | 35f2fda | 2013-01-29 16:27:05 -0800 | [diff] [blame] | 288 | for details.</p> |
| 289 | <h2 id="webkit">WebKit</h2> |
Mark Hecomovich | 27cc4e4 | 2016-07-21 15:08:53 -0700 | [diff] [blame] | 290 | <p>All changes to the WebKit project at <code>external/webkit</code> should |
| 291 | be made |
| 292 | upstream at <a href="http://www.webkit.org">webkit.org</a>. The process |
| 293 | begins by filing a WebKit bug. |
| 294 | This bug should use <code>Android</code> for the <code>Platform</code> |
| 295 | and <code>OS</code> |
| 296 | fields only if the bug is specific to Android. Bugs are far more likely to |
| 297 | receive the reviewers' |
Robert Ly | 35f2fda | 2013-01-29 16:27:05 -0800 | [diff] [blame] | 298 | attention once a proposed fix is added and tests are included. See |
Mark Hecomovich | 27cc4e4 | 2016-07-21 15:08:53 -0700 | [diff] [blame] | 299 | <a href="http://webkit.org/coding/contributing.html">Contributing Code to |
| 300 | WebKit</a> for details.</p> |
Robert Ly | 35f2fda | 2013-01-29 16:27:05 -0800 | [diff] [blame] | 301 | <h2 id="zlib">zlib</h2> |
Mark Hecomovich | 27cc4e4 | 2016-07-21 15:08:53 -0700 | [diff] [blame] | 302 | <p>All changes to the zlib project at <code>external/zlib</code> should be |
| 303 | made upstream at |
Robert Ly | 35f2fda | 2013-01-29 16:27:05 -0800 | [diff] [blame] | 304 | <a href="http://zlib.net">zlib.net</a>.</p> |
Mark Hecomovich | 27cc4e4 | 2016-07-21 15:08:53 -0700 | [diff] [blame] | 305 | |