このリポジトリには、macOS、Windows、および Linux 用の Brave デスクトップ ブラウザを構築するために必要なビルド ツールが保持されています。 特に、 package.json
およびsrc/brave/DEPS
で定義されたプロジェクトからコードを取得して同期します。
クロム
depot_tools
経由でコードを取得します。
Chromium のブランチを設定します (例: 65.0.3325.181)。
ブレイブコア
src/brave
にマウントされます。
サードパーティの Chromium コードのパッチを維持します。
広告ブロック-錆び
Brave の広告ブロック エンジンを実装します。
Brave/adblock-rust-ffi を通じてリンクされています。
最新の安定リリースを入手するには、当社の Web サイトにアクセスしてください。
投稿ガイドラインをご覧ください。
私たちの Wiki にも役立つ技術情報がいくつかあります。
Brave についてさらに詳しく知りたい場合は、Q&A コミュニティに参加してください。助けを求めたり、欲しい機能について話し合ったり、その他にもさまざまなことができます。 Brave の改善を継続できるよう、皆様のご協力をお待ちしております。
https://explore.transifex.com/brave/brave_en/ で翻訳を送信して、Brave のあなたの言語への翻訳にご協力ください。
重要なニュースやお知らせについては、Twitter で @brave をフォローしてください。
ご使用のプラットフォームの指示に従ってください。
macOS
iOS
窓
Linux/アンドロイド
前提条件をインストールしたら、コードを取得してビルド環境を初期化できます。
git clone [email protected]:brave/brave-core.git プロジェクト フォルダーへのパス/src/bravecd プロジェクト フォルダーへのパス/src/brave npm install# Chromium ソースがダウンロードされます。これには大きな履歴 (ギガバイトのデータ) があります# これは、インターネットの速度によっては完了するまでに非常に時間がかかる場合がありますnpm run init
Brave-core ベースの Android ビルドではnpm run init -- --target_os=android --target_arch=arm
(またはビルドしたい CPU タイプ) を使用する必要があります Brave-core ベースの iOS ビルドではnpm run init -- --target_os=ios
使用する必要がありますnpm run init -- --target_os=ios
以下を使用して、init と build の target_os と target_arch を設定することもできます。
npm config set target_os android npm config set target_arch arm
ビルドに必要な追加パラメータは、https://github.com/brave/brave-browser/wiki/Build-configuration に記載されています。
内部開発者は、https://github.com/brave/devops/wiki/%60.env%60-config-for-Brave-Developers で詳細を参照できます。
デフォルトのビルド タイプはコンポーネントです。
# start the component build compile npm run build
リリース ビルドを実行するには:
# start the release compile npm run build Release
Brave-core ベースの Android ビルドでは、 npm run build -- --target_os=android --target_arch=arm
を使用するか、 init
に対して上記で指定したように npm config 変数を設定する必要があります。
Brave-core ベースの iOS ビルドでは、 ios/brave-ios/App
にある Xcode プロジェクトを使用する必要があります。このプロジェクトを直接開くことも、 npm run ios_bootstrap -- --open_xcodeproj
を実行して Xcode で開くこともできます。 iOS ビルドの詳細については、「iOS 開発環境」を参照してください。
npm run build Release
を使用してリリース ビルドを実行すると、特に Gold LLVM プラグインを使用した Linux では非常に時間がかかり、大量の RAM を使用する可能性があります。
静的にリンクされたビルドを実行するには (ビルドには時間がかかりますが、起動は速くなります):
npm run build -- 静的
デバッグ ビルドを実行するには (is_debug=true を指定したコンポーネント ビルド):
npm run build -- デバッグ
注: ビルドが完了するまでにはしばらく時間がかかります。プロセッサとメモリによっては、数時間かかる場合があります。
ビルドを開始するには:
npm start [Release|Component|Static|Debug]
npm run sync -- [--force] [--init] [--create] [brave_core_ref]
これにより、ローカルの変更を Brave-core に保存しようとしますが、これを実行する前にローカルの変更をコミットした方が安全です。
npm run sync
次のことを行います (以下のフラグに応じて)。
?サブプロジェクト (chromium、brave-core) を git ref (タグやブランチなど) の最新のコミットに更新します。
?パッチを適用する
? gclient DEPS 依存関係を更新する
⏩ フックを実行します (例: 子プロジェクトでnpm install
実行するため)
フラグ | 説明 |
---|---|
[no flags] | 必要に応じてクロムを更新し、パッチを再適用します。クロムのバージョンが変更されていない場合は、変更されたパッチのみが再適用されます。このスクリプトの実行中にプロジェクトの更新が必要な場合にのみ、子の依存関係が更新されます。 **手動でブランチを取得したり切り替えたりするのではなく、スクリプトで最新の状態を維持するように管理したい場合にこれを使用します。 ** |
--force | ChromiumとBrave-core の両方を、現在の Brave-core ブランチと Brave-browser/package.json で指定されたChromium ref (例: master または74.0.0.103 ) の最新のリモート コミットに更新します。すべてのパッチを再適用します。すべての子の依存関係を強制的に更新します。**問題が発生し、ブランチを既知の状態に強制的に戻したい場合は、これを使用してください。 ** |
--init | ChromiumとBrave-core の両方を Brave-browser/package.json で指定されたバージョンに強制的に更新し、すべての依存リポジトリを強制的に更新します - npm run init と同じです |
--sync_chromium (true/false) | 該当する場合、Chrome バージョンの更新を強制またはスキップします。クロムのアップデートによりビルド時間が長くなる可能性があるため、準備ができていないときにマイナー アップデートを回避したい場合に便利です。異なるクロム バージョンを想定している現在のコードの状態に関する警告が出力されます。その結果、ビルドが失敗する可能性があります。 |
-D, --delete_unused_deps | 前回の同期以降に削除された依存関係を作業コピーから削除します。 gclient sync -D 模倣します。 |
npm run sync brave_core_ref
実行して、指定されたBrave-core ref をチェックアウトし、必要に応じて chromium を含むすべての依存リポジトリを更新します。
ブレイブブラウザ> cd src/brave ブレイブブラウザ/src/brave> git checkout -b ブランチ名
ブレイブブラウザ/src/brave> git fetchorigin ブレイブブラウザ/src/brave> git checkout [-b] ブランチ名 ブレイブブラウザ/src/brave> npm run sync ...2 つのパッチを更新中... ...子の依存関係を更新しています... ...ランニングフック...
ブレイブブラウザ/src/brave> git pull ブレイブブラウザ/src/brave> npm run sync ...2 つのパッチを更新中... ...子の依存関係を更新しています... ...ランニングフック...
init
経由では、常にビルドが長くなり、brave-core 作業ディレクトリ内の保留中の変更が削除されます)。勇敢なブラウザ> git チェックアウト マスター 勇敢なブラウザ> git pull ブレイブブラウザ> npm run sync -- --init
ブレイブブラウザ/src/brave> git checkout featureB ブレイブブラウザ/src/brave> git pull ブレイブブラウザ/src/brave> cd ../.. ブレイブブラウザ> npm run apply_patches ...2 つのパッチを適用しています...
Google セーフ ブラウジング: https://console.developers.google.com/ から SafeBrowsing API を有効にして API キーを取得します。 https://www.chromium.org/developers/how-tos/api-keys に従って、 GOOGLE_API_KEY
環境変数をキーで更新して、Google SafeBrowsing を有効にします。
Chromium のセキュリティ ルール
IPC レビューガイドライン (特にこの参考資料)
Brave の社内セキュリティ ガイドライン (従業員のみ)
錆びの使用法
一般的な問題の解決策については、「トラブルシューティング」を参照してください。