# Задача YA_PACKAGE_2

{% note tip %}

Задача [YA_PACKAGE](https://sandbox.yandex-team.ru/tasks?type=YA_PACKAGE&limit=20) ныне [считается устаревшей](https://mvel.at.yandex-team.ru/8271), поэтому новые проекты лучше писать с использованием YA_PACKAGE_2. По всем вопросам можно обращаться в очередь [DEVTOOLSSUPPORT](https://st.yandex-team.ru/createTicket?queue=DEVTOOLSSUPPORT&_form=65090)

{% endnote %}

Для сборки пакетов для production-окружения крайне не рекомендуется использовать локальную сборку: в пакет могут попасть локальные изменения, а также системное окружение может влиять на сам процесс сборки.

Чтобы исключить перечисленные проблемы, необходимо собирать пакеты через задачу [YA_PACKAGE_2](https://sandbox.yandex-team.ru/tasks?type=YA_PACKAGE_2&limit=20), которая своими параметрами повторяет ключи команды ```ya package```, а также имеет все необходимые для сборки пакетов зависимости.

Особенности сборки через задачу YA_PACKAGE для каждого из форматов можно найти на соответствующих страницах [документации системы сборки](../ya_package/formats)

[Исходный код задачи](https://a.yandex-team.ru/arc/trunk/arcadia/sandbox/projects/common/build/YaPackage2/__init__.py)

## Результаты работы задачи { #results }
Результатом выполнения задачи является пакет, полученный командой ```ya package```, который сохраняется в ресурсах задачи (если специльно не выключено создание ресурсов).

Если указаны настройки для публикации пакета и тип пакетирования поддерживает публикацию, то пакет будет опубликован в выбранный репозиторий.

## Отладка { #debug }
* `stderr` выполнения ```ya package``` можно посмотреть в файле `run_ya_package.err.txt` в директории логов задачи (ссылка `log1` на странице задачи)
* html-отчет, содержащий меньше отладочной инфрмации, чем `stderr` также находится в директории логов

## Опции
* **Svn url for arcadia**
Путь до Аркадии в формате arcadia:/arc/(branches/some/branch,trunk)/arcadia.
Нужно учитывать, что указывая бранч, все сборочные инструменты будут также браться из бранча; также скорее всего потребуется несколько больше времени на чекаут ветки, так как она редко запрашивается и не будет в кеше sandbox.
По умолчанию: arcadia:/arc/trunk/arcadia
  
* **Apply patch**
Патч, который будет наложен на Аркадию. Подробнее про то, как подготовить правильный патч, можно почитать [тут](https://wiki.yandex-team.ru/users/v-korovin/patch/).

* **Package paths, related to arcadia**
Проекты для сборки

* **Package type**
Тип собираемого пакета. Подробнее, как уже упоминалось выше, можно найти в [документации системы сборки](https://docs.yandex-team.ru/ya-make/usage/ya_package/formats)
