Тема Cake Build - это отдельная тема, я буду нацеливаться на директиву #load в сценариях C # в этом посте.

Для тех, кто не слышал о сценариях C #, я рекомендую вам добавить его в список своих навыков в 2018 году. Сценарии C # - это «язык», который построен на основе Roslyn (платформы компилятора). Это позволяет выполнять множество динамических программ, о которых я расскажу более подробно в одном из следующих постов.

А пока просто изобразите сценарий C # в виде файлов .csx.

Поскольку скрипты могут быть полностью изолированы (не требуются классы или static void main), вы сможете выгружать части скрипта (функции, переменные и т. Д.) В отдельные файлы.

То же самое и со сценариями сборки Cake. Cake уже обеспечивает отличную поддержку для управления информацией о среде.

Однако, если вам не нравится этот подход, потому что он не всегда обеспечивает прозрачность, на которую вы надеялись, как я; вы можете предоставить торт с различными файлами «конфигурации».

Одним из решений может быть установка переменных (baseUrl, имена пользователей, пароли и т. Д.) В отдельных сценариях и загрузка их в Cake.

Представьте себе этот сценарий конфигурации, например:

Этот сценарий настраивает среду для нашего сценария локальной сборки.

Теперь мы можем использовать эти переменные в нашем скрипте Cake.build.

Видите там строку №3? Это загружает переменные из внешнего скрипта и любые другие глобально объявленные объекты, если на то пошло.

Там, где это действительно может проявиться, так это в развертывании, вы могли бы развернуть файл params.csx для конкретной среды и извлечь все параметры синтаксического анализа из торта.