GitVersion и bower.json обновляют версию
Мне удалось заставить GitVersion работать над моим проектом.net (который корректно обновляет мой AssemblyInfo.cs).
Теперь я хотел бы сделать то же самое для моего приложения AngularJs. Я вижу, что работает GitVersion
показывает правильный номер версии, но я хотел бы обновить мой файл bower.json. Кто-нибудь знает, как я могу это сделать?
1 ответ
Что вы используете для запуска GitVersion? т.е. вы используете скрипт?
GitVersion не собирается обновлять этот файл для вас, но GitVersion установит текущий номер версии, и затем вы можете использовать что-то еще в вашем скрипте для обновления файла.
Лично почти все, что я делаю в этом отношении, делается с помощью Cake, и есть надстройка под названием MagicChunks, которая делает это действительно легким. Например, вот как я обновляю файл package.json в одном из моих проектов:
https://github.com/gep13/chocolatey-vscode/blob/develop/build.cake#L137-L139
TransformConfig(projectToPackagePackageJson, projectToPackagePackageJson, new TransformationCollection {
{ "version", parameters.Version.SemVersion }
});
Но вы также можете сделать что-то похожее, скажем, PowerShell, или bash, или что-то еще, что вы используете для запуска сборки.
ОБНОВИТЬ:
Чтобы сделать что-то подобное непосредственно в PowerShell, вам нужно что-то вроде этого (обратите внимание, это не было проверено):
$gitVersionExe = "./../<Path to where GitVersion.exe lives>";
$output = . $gitVersionExe
$joined = $output -join "`n"
$versionInfo = $joined | ConvertFrom-Json
$version = $versionInfo.LegacySemVer
(Get-Content .\bower.json).replace('1.0.0', $version) | Set-Content .\bower,json
ПРИМЕЧАНИЕ. Здесь, в операторе замены, я предполагаю, что вы хотите заменить все экземпляры составленного номера версии 1.0.0 в файле bower.json. На практике вы захотите настроить эту замену так, чтобы вы заменяли / меняли только тот текст, который вы хотите изменить.
ПРИМЕЧАНИЕ: вы можете использовать любое свойство из GitVersion, которое вы хотели бы, я только что использовал LegacySemVer в качестве примера