Переместить каталог инструментов Cakes - PullRequest
1 голос
/ 21 марта 2019

Некоторые из наших проектов имеют свой собственный каталог инструментов, поэтому добавление инструментов в .gitignore не вариант

В build.ps1 я попытался изменить это:

$TOOLS_DIR = Join-Path $PSScriptRoot "tools"

к этому:

$TOOLS_DIR = Join-Path $PSScriptRoot "caketools"

Но инструменты, полученные Nuget, например. NUnit.ConsoleRunner, все еще неявно извлекает инструменты.

Я также пытался позволить Cake жить вместе с инструментами моих проектов, добавляя более специфичные исключения в .gitignore, например:

# Cake
tools/Cake
tools/NUnit.ConsoleRunner*
tools/nuget.exe
tools/packages*

Но проблема в том, что Cake «владеет» папкой инструментов и, таким образом, стирает каталоги, уже находящиеся в папке инструментов моего проекта.

1 Ответ

4 голосов
/ 21 марта 2019

Посмотрите документацию здесь:

https://cakebuild.net/docs/fundamentals/configuration

Можно передать значение (я) конфигурации в Cake через переменную среды, аргумент командной строки или файл конфигурации, чтобы указать Cake, какую папку использовать для папки tools, addins и modules.

Все доступные параметры конфигурации подробно описаны на этой странице:

https://cakebuild.net/docs/fundamentals/default-configuration-values

Значения конфигурации по умолчанию:

; This is the default configuration file for Cake.
; This file was downloaded from https://github.com/cake-build/resources

[Nuget]
Source=https://api.nuget.org/v3/index.json
UseInProcessClient=true
LoadDependencies=false

[Paths]
Tools=./tools
Addins=./tools/Addins
Modules=./tools/Modules

[Settings]
SkipVerification=false

, если он хранится в файле cake.config, и вы можете поместить его в корень вашего хранилища, и Cake.exe будет уважать это местоположение. Если вы используете загрузчик, вам все равно придется изменить его, чтобы он использовал то же местоположение, так как он ничего не знает о файле cake.config.

...