Porting is preferentially done upstream so as to avoid fragmenting the codebase into individually unmergeable forks. As such, precaution must be taken to keep changes separate enough to not interfere with other ports, while still maintaining the ability to add new port-specific code seamlessly.
Folders for each port should be under the src/platform
folder, and make minimally invasive changes to the rest of the tree. If any changes are needed, try to make sure they are generic and have the ability to be ironed out in the future. For example, if a function doesn't work on a specific platform, maybe a way to make that function more portable should be added.
The general porting process involves branching master
, making the needed changes, and, when the port is mature enough to not have major effects to other ports, merged into port/crucible
. The crucible is used for mixing upcoming ports to make sure they aren't fragile when master
merges into it every so often. At this time, the crucible hasn't yet been merged into master
, but in the future this may occur regularly. Until then, if a port is to get merged into master, make sure the changes to each port occur on the port-specific branch before being merged into port/crucible
.
The following ports are considered incomplete and are thus on branches still. They may work, but should not be considered stable.
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。