Create
cancel
Showing results for 
Search instead for 
Did you mean: 
Sign up Log in

Version increment for the dll files

Atul Yadav September 23, 2019

Hello team,

 

Is there any plugin or parameter in Bamboo through which we can do the version increment of the different files like dlls along with the build.

 

Regards,

Atul

1 answer

1 accepted

0 votes
Answer accepted
Atul Yadav October 9, 2019

We dug into the issue and found that like the Jenkins, Bamboo doesn't offer any plugin for the version increment for the dll files. Although you can make the script using PowerShell or bash for the version increment. Remember to use proper variables while using Bamboo yaml. We used Bamboo specs for setting up our pipelines.

 

Here is our script for the reference,

 

dir -Path $bamboo_build_working_directory -Filter AssemblyInfo.cs -Recurse | %{$_.FullName} >> assemblyfiles.txt
(Get-Content -Path assemblyfiles.txt) -notmatch "ExternalComponents" -notmatch "ThirdPartyLibraries" | Out-File assemblyfiles.txt
$BUILD_NUMBER= "2.1.0.$Env:bamboo_buildNumber"

ForEach ($system in Get-Content "assemblyfiles.txt")
{

## Replace the variables with the verions values

Get-Content -Path $system | Select-String -Pattern 'assembly: AssemblyVersion' -CaseSensitive | Select-String -Pattern '// \[assembly: AssemblyVersion' -CaseSensitive -notmatch > assemblyversion.txt
Get-Content -Path $system | Select-String -Pattern 'assembly: AssemblyFileVersion' -CaseSensitive > assemblyfileversion.txt
$ASEMBLY_VERSION=Get-Content -Path assemblyversion.txt |%{"$($_.Split('"')[01])"} | Foreach-Object { $_ -replace "\s", ""} { $_ -replace "\*","123"} | where-object {$_}
$ASSEMBLY_FILE_VERSION=Get-Content -Path assemblyfileversion.txt |%{"$($_.Split('"')[01])"} | Foreach-Object { $_ -replace "\s", ""} | where-object {$_}
$fileNames = Get-ChildItem $system -Recurse |
select -expand fullname

foreach ($filename in $filenames)
{
( Get-Content $fileName) | Foreach-Object { $_ -replace "$ASEMBLY_VERSION", "$BUILD_NUMBER" } | Set-Content $fileName
( Get-Content $fileName) | Foreach-Object { $_ -replace "$ASSEMBLY_FILE_VERSION", "$BUILD_NUMBER" } | Set-Content $fileName
}

Suggest an answer

Log in or Sign up to answer
TAGS
AUG Leaders

Atlassian Community Events