Как получить связанный файл, возвращаемый из набора изменений?
Я хочу запускать сборку только тогда, когда определенный файл зарегистрирован. Поэтому мне нужен способ доступа к связанному имени файла из набора изменений из сценария сборки tfs, чтобы я мог проверить условие перед запуском сборки.
Будут команды, включающие tf.exe, как свойства tf, tf получить помощь? Я знаю, что невозможно извлечь выходные данные из задачи Exec в сценарии сборки.
Как я должен это сделать?
1 ответ:
Это потребует некоторой работы, поскольку Team Build предполагает, что набор файлов, отслеживаемых на предмет изменений, и набор файлов, которые вы хотите загрузить (рабочая область сборки), - это одно и то же. Я бы написал пользовательскую задачу msbuild. Основные шаги:
- получите локальную версию специального файла с помощью GetExtendedItem ()
- сравните его с версией, записанной в предыдущей успешной сборке (сохраните эту информацию в реестре или, возможно, в каком-то жестком коде путь)
- Если версии совпадают, прервите сборку
- Если нет, продолжайте сборку
- если сборка прошла успешно, обновите реестр
Помимо GetExtendedItem() [это API, который TF prop вызывает, кстати], другая информация, которая может быть полезна для такой задачи, - это самый последний набор изменений, содержащийся в рабочей области. Чтобы сделать это эффективно, использовать вместо QueryHistory, проходя WorkspaceVersionSpec для versionFrom и версия, чтобы. Эквивалентно: tf hist $ / - r-version: W~W