From 32304a49a0fd711149e8f7f08ac2fc5991387170 Mon Sep 17 00:00:00 2001 From: Victoria Plitt Date: Thu, 5 Mar 2020 10:42:32 +0200 Subject: Fixed and improved issue with TFP package validation. --- .../VersionPackageDescriptorExtensions.cs | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) (limited to 'Software/Visual_Studio/Tango.PMR/ExtensionMethods/VersionPackageDescriptorExtensions.cs') diff --git a/Software/Visual_Studio/Tango.PMR/ExtensionMethods/VersionPackageDescriptorExtensions.cs b/Software/Visual_Studio/Tango.PMR/ExtensionMethods/VersionPackageDescriptorExtensions.cs index 78b179736..766b03270 100644 --- a/Software/Visual_Studio/Tango.PMR/ExtensionMethods/VersionPackageDescriptorExtensions.cs +++ b/Software/Visual_Studio/Tango.PMR/ExtensionMethods/VersionPackageDescriptorExtensions.cs @@ -25,20 +25,21 @@ public static class VersionPackageDescriptorExtensions throw new InvalidDataException("TFP package contains multiple MCU files."); } - var mcuFile = descriptor.FileDescriptors.SingleOrDefault(x => x.Destination == VersionFileDestination.Mcu); - - if (String.IsNullOrWhiteSpace(mcuFile.Version)) + if (descriptor.FileDescriptors.GroupBy(x => x.FileName).Any(x => x.Count() > 1)) { - throw new InvalidDataException("TFP package MCU does specify any version."); + throw new InvalidDataException("The TPF package cannot contain duplicate file names."); } - try - { - Version.Parse(mcuFile.Version); - } - catch + foreach (var item in descriptor.FileDescriptors) { - throw new InvalidDataException($"TFP package MCU version '{mcuFile.Version}' is invalid."); + try + { + Version.Parse(item.Version); + } + catch + { + throw new InvalidDataException($"Invalid version ({item.Version}) for file '{item.FileName}'."); + } } } -- cgit v1.3.1