mapbox / mapbox/cpp

Add narrative documentation on how we do binary deployment

オープン
#48 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

主要言語
言語のデータがありません
スター
110
フォーク
17
PR マージ指標
30日以内にマージされた PR はありません

説明

Now that our https://github.com/mapbox/cpp/blob/master/glossary.md is fairly complete, it is a good time to add new, narrative docs that tie together glossary terms.

In particular, there is a need for a binary deployment doc that explains the flow from C++ source code -> node addons -> binary distribution.

Here is a first stab at listing things to cover in this doc:

We use mason for:

- distributing [pre-compiled](https://github.com/mapbox/cpp/blob/master/glossary.md#precompiled) (aka binary) static libraries for C/C++ code. And in rare cases shared libraries.
- distributing source code of header-only libraries
- distributing binaries of [executables](https://github.com/mapbox/cpp/blob/master/glossary.md#executable) (aka command line programs).

We use node-pre-gyp for:

- Binary deployment of node C++ addons
- When those node C++ addons have external C/C++ dependencies we use mason to pull packages for them
- Soon we'll open source https://github.com/mapbox/mason-js which will make these more seamless (no need for the mason bash scripts)

TODO:

- integrate old node-pre-gyp docs into this repo and modify them to link to the glossary and this repo where appropriate. E.g. https://github.com/mapbox/node-pre-gyp/wiki/External-libraries, https://github.com/mapbox/node-pre-gyp/wiki/FAQ

コントリビューションガイド

コントリビューションガイドを開く

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

調査の方向性

glossary.md と、External-libraries および FAQ に関する既存の node-pre-gyp wiki ページから始めます。C++ ソースから node addons を経てバイナリ配布に至る文書化されたフローを、mason と node-pre-gyp を含めて追跡し、その後、関連する古いドキュメントを用語集および関連資料へのリンク付きでこのリポジトリに統合します。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
cpp, nodejs
領域
build-system, documentation, release
issue の種類
ドキュメント
難易度
4/5
見積もり時間
3〜5日
活発さ
停滞
明瞭さ
おおむね明確
初心者へのやさしさ
45/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。