Этот репозиторий содержит средства сборки, необходимые для сборки десктопного браузера Brave для macOS, Windows и Linux. В частности, он загружает и синхронизирует код из проектов, определённых в package.json
и src/brave/DEPS
:
depot_tools
.src/brave
.Вы можете посетить наш сайт, чтобы получить последнюю стабильную версию.
Пожалуйста, ознакомьтесь с руководством по вкладу.
Наш Wiki также содержит полезную техническую информацию.
Присоединяйтесь к сообществу Q&A, если вы хотите больше участвовать в разработке Brave. Вы можете запросить помощь, обсудить функции, которые вы хотели бы видеть, и многое другое. Мы будем рады вашей помощи, чтобы продолжать улучшать Brave.
Помогите нам перевести Brave на ваш язык, отправив переводы по адресу https://explore.transifex.com/brave/brave_en/.Подпишитесь на @brave на X для получения важных новостей и объявлений.
Следуйте инструкциям для вашей платформы:
После установки предварительных условий вы можете получить код и инициализировать среду сборки.
git clone git@github.com:brave/brave-core.git path-to-your-project-folder/src/brave
cd path-to-your-project-folder/src/brave
npm install
# исходный код Chromium загружается, который имеет большой объем истории (гигабайты данных)
# это может занять очень много времени в зависимости от скорости интернета
npm run init
android-строения на основе brave-core должны использовать npm run init -- --target_os=android --target_arch=arm
(или любой другой тип процессора, который вы хотите использовать для сборки)
iOS-строения на основе brave-core должны использовать npm run init -- --target_os=ios
Вы также можете установить target_os и target_arch для init и build следующим образом:
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
По умолчанию используется тип сборки component.
# запуск сборки component
npm run build
Для выполнения сборки для выпуска:
# запуск сборки для выпуска
npm run build Release
android-строения на основе brave-core должны использовать npm run build -- --target_os=android --target_arch=arm
или установить npm config переменные, как указано выше для init
iOS-строения на основе brave-core должны использовать проект Xcode, найденный в ios/brave-ios/App
. Вы можете открыть этот проект напрямую или запустить npm run ios_bootstrap -- --open_xcodeproj
для открытия его в Xcode. См. iOS Developer Environment для получения дополнительной информации о сборке iOS.
Запуск сборки для выпуска с npm run build Release
может быть очень медленным и использовать большое количество оперативной памяти, особенно на Linux с плагином Gold LLVM.
Для запуска статически связанных сборок (занимают больше времени для сборки, но запускаются быстрее):
npm run build -- Static
Для запуска отладочной сборки (Component сборка с is_debug=true):
npm run build -- Debug
Примечание: сборка может занять некоторое время для завершения. В зависимости от вашего процессора и памяти, это может занять несколько часов.## Запуск Brave Для запуска сборки:
npm start [Release|Component|Static|Debug]
npm run sync -- [--force] [--init] [--create] [brave_core_ref]
Это попытается сохранить ваши локальные изменения в brave-core, но безопаснее всего заранее сделать коммит локальных изменений перед запуском этого скрипта
npm run sync
выполнит следующие действия (в зависимости от указанных ниже флагов):
npm install
для дочерних проектов)| флаг | Описание |
|---|---|
|[без флагов]
|обновит Chromium, если необходимо, и переприметет патчи. Если версия Chromium не изменилась, он переприметет только те патчи, которые изменились. Обновит зависимости дочерних проектов только если какой-либо проект требовал обновления во время выполнения этого скрипта. --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)
|Принудительно обновит или пропустит обновление версии Chromium, если необходимо. Полезно, если вы хотите избежать небольшого обновления, которое может привести к увеличенному времени сборки из-за обновления Chromium. Будет выведено предупреждение о текущем состоянии кода, ожидании другой версии Chromium. Ваша сборка может завершиться неудачно. ||-D, --delete_unused_deps
|Удалит из рабочей копии зависимости, которые были удалены с момента последнего синка. Аналогично gclient sync -D
. |Запустите npm run sync brave_core_ref
, чтобы переключиться на указанный brave-core
ref и обновить все зависимые репозитории, включая chromium, если необходимо.brave-browser> cd src/brave
brave-browser/src/brave> git checkout -b branch_name
brave-browser/src/brave> git fetch origin
brave-browser/src/brave> git checkout [-b] branch_name
brave-browser/src/brave> npm run sync
...Обновление 2 патчей...
...Обновление зависимостей дочерних проектов...
...Выполнение хуков...
brave-browser/src/brave> git pull
brave-browser/src/brave> npm run sync
...Обновление 2 патчей...
...Обновление дочерних зависимостей...
...Выполнение хуков...
init
, всегда приводит к более длительному сборке и удалению любых ожидающих изменений в вашей рабочей директории brave-core):brave-browser> git checkout master
brave-browser> git pull
brave-browser> npm run sync -- --init
brave-browser/src/brave> git checkout featureB
brave-browser/src/brave> git pull
brave-browser/src/brave> cd ../..
brave-browser> npm run apply_patches
...Применение 2 патчей...
GOOGLE_API_KEY
своим ключом в соответствии с https://www.chromium.org/developers/how-tos/api-keys для включения Google SafeBrowsing.# РазработкаСм. Устранение неполадок для решения общих проблем.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )