Как разделить свойство между несколькими сценариями сборки TFS? - PullRequest
0 голосов
/ 03 марта 2009

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

LegacyComponents - код VB6, который является «живым», но находится в процессе замены
NewComponents - Переписаны компоненты в C #

базы данных TeamBuildTypes
└ LegacyBuild
└ NewBuild
└ DatabaseBuild

В каждой папке сборки у меня есть скрипт с именем TFSBuild.proj.

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

Я создал файл с именем KitNumber.targets со свойством KitNumber и поместил его в папку TeamBuildTypes. Затем я вставляю следующую строку в каждый скрипт сборки:

<Import Project=".\..\KitNumber.targets"/>

Теперь я могу изменить номер набора в одном месте и применять его в каждой сборке.

Это работает на моем устройстве dev, поскольку исходный код уже был отключен от TFS, но происходит сбой на компьютере сборки, поскольку выводится только содержимое каталога, содержащего сценарий сборки.

Так, где я могу сохранить общее свойство, чтобы я мог использовать его в каждом сценарии?

1 Ответ

0 голосов
/ 04 марта 2009

Использование текстового файла с одной строкой, содержащей метку, которую я хочу применить:

<Target Name="ApplyKitNumberLabel" Condition="$(KitNumber) != ''">

  <ReadLinesFromFile File="$(WorkspaceRoot)\TeamBuildTypes\KitNumber.txt">
    <Output TaskParameter="Lines"
      PropertyName="KitNumber" />
  </ReadLinesFromFile>

  <Label TeamFoundationServerUrl="$(TeamFoundationServerUrl)"
         Files="$(WorkspaceRoot)\$(BranchName)\LegacyComponents"
         Name="$(KitNumber)"
         Recursive="True" />

</Target>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...