Skip to content

Commit 1fbc6b2

Browse files
Enhance the output during the sync dependencies step when a task is being built (#19954)
* Change error message output * Change colon to dot * Rework output * Renamed generated to buildConfig
1 parent 39224d7 commit 1fbc6b2

File tree

1 file changed

+26
-13
lines changed

1 file changed

+26
-13
lines changed

BuildConfigGen/Program.cs

+26-13
Original file line numberDiff line numberDiff line change
@@ -145,7 +145,7 @@ private static void MainInner(string? task, string? configs, int? currentSprint,
145145

146146
if (notSyncronizedDependencies.Count > 0)
147147
{
148-
notSyncronizedDependencies.Insert(0, $"Not synchronized dependencies:");
148+
notSyncronizedDependencies.Insert(0, $"##vso[task.logissue type=error]There are problems with the dependencies in the buildConfig's package.json files. Please fix the following issues:");
149149
throw new Exception(string.Join("\r\n", notSyncronizedDependencies));
150150
}
151151
}
@@ -158,7 +158,7 @@ private static void NullOrThrow<T>(T value, string message)
158158
}
159159
}
160160

161-
private static void NotNullOrThrow<T>(T value, string message)
161+
private static void NotNullOrThrow<T>([NotNull] T value, string message)
162162
{
163163
if (value == null)
164164
{
@@ -445,19 +445,32 @@ private static void EnsureDependencyVersionsAreSyncronized(
445445
string generatedPackagePath
446446
)
447447
{
448-
JsonNode originTaskPackage = JsonNode.Parse(ensureUpdateModeVerifier!.FileReadAllText(originPackagePath))!;
449-
JsonNode generatedTaskPackage = JsonNode.Parse(ensureUpdateModeVerifier!.FileReadAllText(generatedPackagePath))!;
450-
451-
foreach (var originDependency in originTaskPackage["dependencies"]?.AsObject()!)
452-
{
453-
string originVersion = originDependency.Value!.ToString();
454-
string generatedVersion = generatedTaskPackage["dependencies"]![originDependency.Key]!.ToString();
448+
NotNullOrThrow(ensureUpdateModeVerifier, "BUG: ensureUpdateModeVerifier is null");
449+
450+
JsonNode? originTaskPackage = JsonNode.Parse(ensureUpdateModeVerifier.FileReadAllText(originPackagePath));
451+
JsonNode? buildConfigTaskPackage = JsonNode.Parse(ensureUpdateModeVerifier.FileReadAllText(generatedPackagePath));
452+
NotNullOrThrow(originTaskPackage, $"BUG: originTaskPackage is null for {task}");
453+
NotNullOrThrow(buildConfigTaskPackage, $"BUG: buildConfigTaskPackage is null for {task}");
454+
455+
var originDependencies = originTaskPackage["dependencies"];
456+
NotNullOrThrow(originDependencies, $"BUG: origin dependencies in {task} is null");
457+
458+
foreach (var originDependency in originDependencies.AsObject())
459+
{
460+
string? originVersion = originDependency.Value?.ToString();
461+
NotNullOrThrow(originVersion, $"BUG: origin dependency {originDependency.Key} version in {task} is null");
462+
var buildConfigTaskDependencies = buildConfigTaskPackage["dependencies"];
463+
NotNullOrThrow(buildConfigTaskDependencies, $"BUG: buildConfigs dependencies in {task} is null");
464+
string? buildConfigDependencyVersion = buildConfigTaskDependencies[originDependency.Key]?.ToString();
465+
466+
if (buildConfigDependencyVersion is null) {
467+
notSyncronizedDependencies.Add($@"Dependency ""{originDependency.Key}"" in {task} is missing in buildConfig's package.json");
468+
continue;
469+
}
455470

456-
if (VersionIsGreaterThan(originVersion, generatedVersion))
471+
if (VersionIsGreaterThan(originVersion, buildConfigDependencyVersion))
457472
{
458-
notSyncronizedDependencies.Add($"- Dependency {originDependency.Key} in {task}");
459-
notSyncronizedDependencies.Add($"\tOrigin {originPackagePath} has {originVersion} version;");
460-
notSyncronizedDependencies.Add($"\tGenerated {generatedPackagePath} has {generatedVersion} version");
473+
notSyncronizedDependencies.Add($@"Dependency ""{originDependency.Key}"" in {generatedPackagePath} has {buildConfigDependencyVersion} version and should be updated to {originVersion} as in {originPackagePath}");
461474
}
462475
}
463476
}

0 commit comments

Comments
 (0)