From 92ee5bc5237e39e0a3e66a31969a020109c1cc39 Mon Sep 17 00:00:00 2001 From: Sam Carlberg Date: Sat, 30 Nov 2024 09:50:34 -0500 Subject: [PATCH] [epilogue] Add usage reporting (#7461) --- .../epilogue/processor/EpilogueGenerator.java | 16 ++++++ .../processor/EpilogueGeneratorTest.java | 50 +++++++++++++++++++ 2 files changed, 66 insertions(+) diff --git a/epilogue-processor/src/main/java/edu/wpi/first/epilogue/processor/EpilogueGenerator.java b/epilogue-processor/src/main/java/edu/wpi/first/epilogue/processor/EpilogueGenerator.java index aa360acfe7..24520f5647 100644 --- a/epilogue-processor/src/main/java/edu/wpi/first/epilogue/processor/EpilogueGenerator.java +++ b/epilogue-processor/src/main/java/edu/wpi/first/epilogue/processor/EpilogueGenerator.java @@ -55,6 +55,10 @@ public class EpilogueGenerator { out.println("import static edu.wpi.first.units.Units.Seconds;"); out.println(); + out.println("import edu.wpi.first.hal.FRCNetComm;"); + out.println("import edu.wpi.first.hal.HAL;"); + out.println(); + loggerClassNames.stream() .sorted() .forEach( @@ -80,6 +84,18 @@ public class EpilogueGenerator { out.println(); out.println("public final class Epilogue {"); + + // Usage reporting + out.println( + """ + static { + HAL.report( + FRCNetComm.tResourceType.kResourceType_LoggingFramework, + FRCNetComm.tInstances.kLoggingFramework_Epilogue + ); + } + """); + out.println( " private static final EpilogueConfiguration config = new EpilogueConfiguration();"); out.println(); diff --git a/epilogue-processor/src/test/java/edu/wpi/first/epilogue/processor/EpilogueGeneratorTest.java b/epilogue-processor/src/test/java/edu/wpi/first/epilogue/processor/EpilogueGeneratorTest.java index 01b12a90aa..1e9806d3a2 100644 --- a/epilogue-processor/src/test/java/edu/wpi/first/epilogue/processor/EpilogueGeneratorTest.java +++ b/epilogue-processor/src/test/java/edu/wpi/first/epilogue/processor/EpilogueGeneratorTest.java @@ -33,9 +33,19 @@ class EpilogueGeneratorTest { import static edu.wpi.first.units.Units.Seconds; + import edu.wpi.first.hal.FRCNetComm; + import edu.wpi.first.hal.HAL; + import edu.wpi.first.epilogue.ExampleLogger; public final class Epilogue { + static { + HAL.report( + FRCNetComm.tResourceType.kResourceType_LoggingFramework, + FRCNetComm.tInstances.kLoggingFramework_Epilogue + ); + } + private static final EpilogueConfiguration config = new EpilogueConfiguration(); public static final ExampleLogger exampleLogger = new ExampleLogger(); @@ -82,9 +92,19 @@ class EpilogueGeneratorTest { import static edu.wpi.first.units.Units.Seconds; + import edu.wpi.first.hal.FRCNetComm; + import edu.wpi.first.hal.HAL; + import edu.wpi.first.epilogue.ExampleLogger; public final class Epilogue { + static { + HAL.report( + FRCNetComm.tResourceType.kResourceType_LoggingFramework, + FRCNetComm.tInstances.kLoggingFramework_Epilogue + ); + } + private static final EpilogueConfiguration config = new EpilogueConfiguration(); public static final ExampleLogger exampleLogger = new ExampleLogger(); @@ -126,9 +146,19 @@ class EpilogueGeneratorTest { import static edu.wpi.first.units.Units.Seconds; + import edu.wpi.first.hal.FRCNetComm; + import edu.wpi.first.hal.HAL; + import edu.wpi.first.epilogue.ExampleLogger; public final class Epilogue { + static { + HAL.report( + FRCNetComm.tResourceType.kResourceType_LoggingFramework, + FRCNetComm.tInstances.kLoggingFramework_Epilogue + ); + } + private static final EpilogueConfiguration config = new EpilogueConfiguration(); public static final ExampleLogger exampleLogger = new ExampleLogger(); @@ -204,10 +234,20 @@ class EpilogueGeneratorTest { import static edu.wpi.first.units.Units.Seconds; + import edu.wpi.first.hal.FRCNetComm; + import edu.wpi.first.hal.HAL; + import edu.wpi.first.epilogue.AlphaBotLogger; import edu.wpi.first.epilogue.BetaBotLogger; public final class Epilogue { + static { + HAL.report( + FRCNetComm.tResourceType.kResourceType_LoggingFramework, + FRCNetComm.tInstances.kLoggingFramework_Epilogue + ); + } + private static final EpilogueConfiguration config = new EpilogueConfiguration(); public static final AlphaBotLogger alphaBotLogger = new AlphaBotLogger(); @@ -331,10 +371,20 @@ class EpilogueGeneratorTest { import static edu.wpi.first.units.Units.Seconds; + import edu.wpi.first.hal.FRCNetComm; + import edu.wpi.first.hal.HAL; + import edu.wpi.first.epilogue.ExampleLogger; import edu.wpi.first.epilogue.CustomLogger; public final class Epilogue { + static { + HAL.report( + FRCNetComm.tResourceType.kResourceType_LoggingFramework, + FRCNetComm.tInstances.kLoggingFramework_Epilogue + ); + } + private static final EpilogueConfiguration config = new EpilogueConfiguration(); public static final ExampleLogger exampleLogger = new ExampleLogger();