# Управление зависимостями и их обновление в Dynamo

### Когда пригодится эта статья

При работе над новой функцией, а также при обновлении существующей зависимости прежде чем добавлять новую зависимость в репозиторий Dynamo, следует оценить следующие аспекты.

### Рекомендации

1. Какая лицензия используется для новой или обновленной зависимости? Не все лицензии на решения с открытым исходным кодом можно утвердить без обращения в юридический отдел Autodesk.
   * После разрешения лицензии занесите зависимость и версию во внутреннюю справку.
   * Если это лицензия `LGPL`, `GPL` или `Apache`, файл лицензии необходимо скопировать во вложенную папку *Open Source Licenses* в сборке Dynamo.
   * Если это лицензия `LGPL`, полный исходный код всех сторонних компонентов, а также текстовые копии соответствующих лицензий на решения с открытым исходным кодом должны быть выгружены на страницу [www.autodesk.com/lgplsource](https://www.autodesk.com/company/legal-notices-trademarks/open-source-distribution)
2. Меняется ли тип лицензии при переходе на новую версию?
3. Является ли зависимость кросс-платформенной?
   * Есть ли в решении нативные компоненты (например, `CEFSharp` или `ImageMagick`)? Это затруднит кросс-платформенное развертывание.
   * В зависимости есть ссылки только для Windows? Если да, она не должна представлять собой зависимость DynamoCore или других кросс-платформенных частей Dynamo (уровень модели).
4. Зависимость корректно вложена в папку bin при сборке вместе со всеми необходимыми зависимостями?
   * Будут ли удалены какие-либо файлы в результате обновления? Предназначена ли эта версия Dynamo для промежуточного выпуска основных программ? Если да, необходимо сохранить старые двоичные файлы до года глобального выпуска для поддержки установщиков исправлений. См. [здесь](https://github.com/DynamoDS/Dynamo/tree/master/extern/legacy_remove_me).
5. Конфликтует ли зависимость или ее дерево зависимостей с другими зависимостями в Dynamo?
6. Конфликтует ли зависимость или ее дерево зависимостей с существующими зависимостями в программах, которые интегрируют Dynamo в процессе (Revit, Civil и т. д.)? **Это важно, поскольку эти проблемы можно обнаружить только во время интеграции, если не решить их заранее.**


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://primer2.dynamobim.org/ru/1_developer_primer_intro/2_build_dynamo_from_source/2-managing-and-updating-dependancies-in-dynamo.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
