[wpiutil] Upgrade to fmt 10.2.1, add wpi::print (#6161)

We now use a wrapper (wpi::print) to catch exceptions since we can't patch
std::print() to not throw when we ultimately migrate to it.

fmtlib and std format/print throw the same exceptions and always have. We previously patched fmt::print() to not throw a write failure exception, but we can't do that for std::print(); wpi::print() is the migration plan.
This commit is contained in:
Tyler Veness
2024-05-12 06:25:42 -07:00
committed by GitHub
parent 6c9dcc157e
commit d88c71ffdc
99 changed files with 1374 additions and 1130 deletions

View File

@@ -6,12 +6,11 @@
#include <jni.h>
#include <fmt/format.h>
#include "edu_wpi_first_util_WPIUtilJNI.h"
#include "wpi/RawFrame.h"
#include "wpi/Synchronization.h"
#include "wpi/jni_util.h"
#include "wpi/print.h"
#include "wpi/timestamp.h"
using namespace wpi::java;
@@ -80,7 +79,7 @@ JNIEXPORT void JNICALL
Java_edu_wpi_first_util_WPIUtilJNI_writeStderr
(JNIEnv* env, jclass, jstring str)
{
fmt::print(stderr, "{}", JStringRef{env, str}.str());
wpi::print(stderr, "{}", JStringRef{env, str}.str());
}
/*
@@ -93,7 +92,7 @@ Java_edu_wpi_first_util_WPIUtilJNI_enableMockTime
(JNIEnv*, jclass)
{
#ifdef __FRC_ROBORIO__
fmt::print(stderr, "WPIUtil: Mocking time is not available on the Rio\n");
wpi::print(stderr, "WPIUtil: Mocking time is not available on the Rio\n");
#else
mockTimeEnabled = true;
wpi::SetNowImpl([] { return mockNow; });