Skip to content

Commit da1b3b7

Browse files
authored
Update the dependencies for Az.Accounts (#15154)
1 parent d32169a commit da1b3b7

File tree

1 file changed

+30
-1
lines changed

1 file changed

+30
-1
lines changed

tools/VersionController/Models/VersionBumper.cs

Lines changed: 30 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,7 @@ public void BumpAllVersions()
6868
UpdateChangeLog();
6969
var releaseNotes = GetReleaseNotes();
7070
UpdateOutputModuleManifest(releaseNotes);
71+
UpdateDependentModules();
7172
UpdateRollupModuleManifest();
7273
UpdateAssemblyInfo();
7374
Console.WriteLine("Finished bumping version " + moduleName + "\n");
@@ -354,7 +355,7 @@ private void UpdateOutputModuleManifest(List<string> releaseNotes)
354355
var outputModuleManifestPath = _fileHelper.OutputModuleManifestPath;
355356
var projectModuleManifestPath = _fileHelper.ProjectModuleManifestPath;
356357
var tempModuleManifestPath = Path.Combine(outputModuleDirectory, moduleName + "-temp.psd1");
357-
File.Copy(outputModuleManifestPath, tempModuleManifestPath);
358+
File.Copy(outputModuleManifestPath, tempModuleManifestPath, true);
358359
var script = "$releaseNotes = @();";
359360
releaseNotes.ForEach(l => script += "$releaseNotes += \"" + l + "\";");
360361
script += $"$env:PSModulePath+=\";{_fileHelper.OutputResourceManagerDirectory}\";";
@@ -378,6 +379,34 @@ private void UpdateOutputModuleManifest(List<string> releaseNotes)
378379
File.Delete(tempModuleManifestPath);
379380
}
380381

382+
/// <summary>
383+
/// Update the ModuleVersion of the bumped module in any dependent module's RequiredModule field.
384+
/// </summary>
385+
private void UpdateDependentModules()
386+
{
387+
var moduleName = _fileHelper.ModuleName;
388+
var projectDirectories = _fileHelper.ProjectDirectories;
389+
foreach (var projectDirectory in projectDirectories)
390+
{
391+
var moduleManifestPaths = Directory.GetFiles(projectDirectory, "*.psd1", SearchOption.AllDirectories)
392+
.Where(f => !f.Contains("Netcore") &&
393+
!f.Contains("bin") &&
394+
!f.Contains("dll-Help") &&
395+
!ModuleFilter.IsAzureStackModule(f))
396+
.ToList();
397+
foreach (var moduleManifestPath in moduleManifestPaths)
398+
{
399+
var file = File.ReadAllLines(moduleManifestPath);
400+
var pattern = @"ModuleName(\s*)=(\s*)(['\""])" + moduleName + @"(['\""])(\s*);(\s*)ModuleVersion(\s*)=(\s*)(['\""])" + "\\d+(\\.\\d+)+" + @"(['\""])";
401+
if (file.Where(l => Regex.IsMatch(l, pattern)).Any())
402+
{
403+
var updatedFile = file.Select(l => Regex.Replace(l, pattern, "ModuleName = '" + moduleName + "'; ModuleVersion = '" + _newVersion + "'"));
404+
File.WriteAllLines(moduleManifestPath, updatedFile);
405+
}
406+
}
407+
}
408+
}
409+
381410
/// <summary>
382411
/// Creates a new header for the upcoming release based on the new version.
383412
/// </summary>

0 commit comments

Comments
 (0)