Facebook публично запускает Buck, новую систему сборки Android

[protected-iframe id=”21771d77d6434337b7598abb88e78e36-22427743-13611283″ info=”http://new.livestream.com/accounts/2099733/events/2089675/videos/18329840/player?autoPlay=false&height=396&mute=false&width=704″ width=”704″ height=”396″ frameborder=”0″ scrolling=”no”]

Как раз к Google I/O, Facebook опубликовал важные новости для Android-разработчиков:

По окончании Camp Hack-a-Thona (название нашего ежегодного трехдневного хакатона летом) у меня был рабочий прототип Buck, новой системы сборки для Android. К концу августа я представил Buck как инструмент сборки для наших Android-приложений, а через пару недель мы удалили все файлы build.xml из нашего репозитория. Загрузка исходного кода Buck, его сборка с нуля, а затем сборка Android-приложения с помощью Buck заняли меньше времени, чем сборка того же приложения с помощью Ant. С первого дня Buck был вдвое быстрее Ant, сократив время сборки приложения Facebook для Android с 3:40 до 1:30.

Buck позволил нам масштабировать наш репозиторий, поскольку модули определяются простыми, декларативными правилами сборки, поэтому накладные расходы на их создание незначительны. Сегодня в нашем репозитории содержится эквивалент более 400 проектов Android-библиотек (но всего 51 файл AndroidManifest.xml и 141 каталог res/), что было бы немыслимо при использовании Ant. Поскольку все четыре наших Android-приложения (Facebook для Android, Messenger и Pages Manager) собираются из одной кодовой базы с единым каталогом исходного кода Java, повторное использование кода упрощено. Такая детализированная архитектура также облегчает создание небольших демонстрационных приложений для тестирования отдельных функций приложения. Эти демонстрационные приложения могут быть собраны гораздо быстрее, чем полнофункциональное приложение Facebook для Android, что помогает нашим разработчикам быстрее итерировать.

Аудитория на Mobile DevCon NYC убедила меня, что мы не должны держать этот инструмент при себе, и что пришло время сделать Buck открытым исходным кодом. Посмотрите видео здесь.

Мы очень рады поделиться Buck с сообществом Android-разработчиков. Вы можете посмотреть код на GitHub, а также изучить документацию. Мы надеемся, что Buck окажется для вас таким же полезным в масштабировании и ускорении разработки под Android, как и для нас.