githubEdit

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

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

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

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

  1. Какая лицензия используется для новой или обновленной зависимости? Не все лицензии на решения с открытым исходным кодом можно утвердить без обращения в юридический отдел Autodesk.

    • После разрешения лицензии занесите зависимость и версию во внутреннюю справку.

    • Если это лицензия LGPL, GPL или Apache, файл лицензии необходимо скопировать во вложенную папку Open Source Licenses в сборке Dynamo.

    • Если это лицензия LGPL, полный исходный код всех сторонних компонентов, а также текстовые копии соответствующих лицензий на решения с открытым исходным кодом должны быть выгружены на страницу www.autodesk.com/lgplsourcearrow-up-right

  2. Меняется ли тип лицензии при переходе на новую версию?

  3. Является ли зависимость кросс-платформенной?

    • Есть ли в решении нативные компоненты (например, CEFSharp или ImageMagick)? Это затруднит кросс-платформенное развертывание.

    • В зависимости есть ссылки только для Windows? Если да, она не должна представлять собой зависимость DynamoCore или других кросс-платформенных частей Dynamo (уровень модели).

  4. Зависимость корректно вложена в папку bin при сборке вместе со всеми необходимыми зависимостями?

    • Будут ли удалены какие-либо файлы в результате обновления? Предназначена ли эта версия Dynamo для промежуточного выпуска основных программ? Если да, необходимо сохранить старые двоичные файлы до года глобального выпуска для поддержки установщиков исправлений. См. здесьarrow-up-right.

  5. Конфликтует ли зависимость или ее дерево зависимостей с другими зависимостями в Dynamo?

  6. Конфликтует ли зависимость или ее дерево зависимостей с существующими зависимостями в программах, которые интегрируют Dynamo в процессе (Revit, Civil и т. д.)? Это важно, поскольку эти проблемы можно обнаружить только во время интеграции, если не решить их заранее.

Last updated