From 81bc2e81bf7114fdd6359c9e36e2397bf121f51d Mon Sep 17 00:00:00 2001 From: sciencewhiz Date: Sun, 9 Feb 2025 21:10:08 -0800 Subject: [PATCH] Warn if vendordep with duplicate uuid is found (#242) --- .../vendordeps/WPIVendorDepsExtension.java | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/main/java/edu/wpi/first/nativeutils/vendordeps/WPIVendorDepsExtension.java b/src/main/java/edu/wpi/first/nativeutils/vendordeps/WPIVendorDepsExtension.java index feb10a3..fb052c5 100644 --- a/src/main/java/edu/wpi/first/nativeutils/vendordeps/WPIVendorDepsExtension.java +++ b/src/main/java/edu/wpi/first/nativeutils/vendordeps/WPIVendorDepsExtension.java @@ -190,6 +190,20 @@ private JsonDependency parse(File f) { private void load(JsonDependency dep) throws VendorParsingException { // Don"t double-add a dependency! if (dependencySet.findByName(dep.uuid) != null) { + String requiredFrcYear = frcYear.getOrNull(); + if (requiredFrcYear != null) { + if (!requiredFrcYear.equals(dep.frcYear)) { + log.logError("Warning! Ignoring duplicate vendordep: " + dep.fileName + + " because it has the wrong year."); + return; + } + } + NamedJsonDependency duplicateDep = dependencySet.findByName(dep.uuid); + log.logErrorHead( + "Warning! Duplicate Vendordeps detected. " + dep.fileName + " and " + + duplicateDep.getDependency().fileName); + log.logError("have the same UUID: " + dep.uuid); + log.logError("Remove one of these vendordeps to avoid conflicts."); return; }