diff --git a/.clang-format b/.clang-format index 14ff7a4a86..15a3ce2db8 100644 --- a/.clang-format +++ b/.clang-format @@ -68,19 +68,26 @@ ForEachMacros: - BOOST_FOREACH IncludeBlocks: Regroup IncludeCategories: - - Regex: '^' - Priority: 2 - SortPriority: 0 - - Regex: '^<.*\.h>' - Priority: 1 - SortPriority: 0 - - Regex: '^<.*' - Priority: 2 - SortPriority: 0 - - Regex: '.*' - Priority: 3 - SortPriority: 0 -IncludeIsMainRegex: '([-_](test|unittest))?$' + # C standard library headers + # + # https://en.cppreference.com/w/cpp/header: + # * C compatibility headers + # * Special C compatibility headers + # * Empty C headers + # * Meaningless C headers + # * Unsupported C headers + - Regex: '^<(assert\.h|ctype\.h|errno\.h|fenv\.h|float\.h|inttypes\.h|limits\.h|locale\.h|math\.h|setjmp\.h|signal\.h|stdarg\.h|stddef\.h|stdint\.h|stdio\.h|stdlib\.h|string\.h|time\.h|uchar\.h|wchar\.h|wctype\.h|stdatomic\.h|ccomplex|complex\.h|ctgmath|tgmath\.h|ciso646|cstdalign|cstdbool|iso646\.h|stdalign\.h|stdbool\.h|stdatomic\.h|stdnoreturn\.h|threads\.h)>' + Priority: 1 + # C++ standard library headers (lowercase and underscores with no .h suffix) + - Regex: '^<[a-z_]+>' + Priority: 2 + # Other library headers (angle brackets) + - Regex: '^<.*' + Priority: 3 + # Project headers (double quotes) + - Regex: '^".*' + Priority: 4 +IncludeIsMainRegex: '(Test|_test)?$' IncludeIsMainSourceRegex: '' IndentCaseLabels: true IndentGotoLabels: true @@ -136,7 +143,7 @@ RawStringFormats: CanonicalDelimiter: '' BasedOnStyle: google ReflowComments: true -SortIncludes: false +SortIncludes: true SortUsingDeclarations: true SpaceAfterCStyleCast: false SpaceAfterLogicalNot: false diff --git a/.github/workflows/lint-format.yml b/.github/workflows/lint-format.yml index 350bf38861..eade2047e6 100644 --- a/.github/workflows/lint-format.yml +++ b/.github/workflows/lint-format.yml @@ -31,7 +31,7 @@ jobs: with: python-version: 3.11 - name: Install wpiformat - run: pip3 install wpiformat==2025.34 + run: pip3 install wpiformat==2025.48 - name: Run run: wpiformat - name: Check output diff --git a/.styleguide b/.styleguide index 7259f0408f..421a6bdff6 100644 --- a/.styleguide +++ b/.styleguide @@ -1,8 +1,5 @@ cppHeaderFileInclude { \.h$ - \.hpp$ - \.inc$ - \.inl$ } cppSrcFileInclude { @@ -10,32 +7,21 @@ cppSrcFileInclude { } modifiableFileExclude { - \.jpg$ - \.jpeg$ - \.png$ - \.gif$ - \.so$ \.dll$ - \.webp$ + \.gif$ \.ico$ + \.jpeg$ + \.jpg$ + \.mp4$ + \.png$ \.rknn$ + \.so$ \.tflite$ - \.mp4$ \.ttf$ + \.webp$ \.woff2$ gradlew photon-lib/py/photonlibpy/generated/ - photon-targeting/src/main/native/cpp/photon/constrained_solvepnp/generate/ photon-targeting/src/generated/ -} - -includeProject { - ^photonLib/ -} - -includeOtherLibs { - ^frc/ - ^networktables/ - ^units/ - ^wpi/ + photon-targeting/src/main/native/cpp/photon/constrained_solvepnp/generate/ } diff --git a/docs/.styleguide b/docs/.styleguide index a3bf6f6ac3..d471ebeb4f 100644 --- a/docs/.styleguide +++ b/docs/.styleguide @@ -1,18 +1,17 @@ - modifiableFileExclude { - \.jpg$ - \.jpeg$ - \.png$ - \.gif$ - \.so$ - \.pdf$ - \.mp4$ \.dll$ - \.webp$ + \.gif$ \.ico$ + \.jpeg$ + \.jpg$ + \.mp4$ + \.pdf$ + \.png$ \.rknn$ - \.tflite$ + \.so$ \.svg$ + \.tflite$ + \.webp$ \.woff2$ gradlew } diff --git a/photon-lib/src/main/native/cpp/photon/PhotonCamera.cpp b/photon-lib/src/main/native/cpp/photon/PhotonCamera.cpp index 6b7f67bc88..ec013ff031 100644 --- a/photon-lib/src/main/native/cpp/photon/PhotonCamera.cpp +++ b/photon-lib/src/main/native/cpp/photon/PhotonCamera.cpp @@ -24,9 +24,6 @@ #include "photon/PhotonCamera.h" -#include -#include - #include #include #include @@ -36,6 +33,8 @@ #include #include #include +#include +#include #include #include #include diff --git a/photon-lib/src/main/native/cpp/photon/PhotonPoseEstimator.cpp b/photon-lib/src/main/native/cpp/photon/PhotonPoseEstimator.cpp index 6903240c94..285c64b6b6 100644 --- a/photon-lib/src/main/native/cpp/photon/PhotonPoseEstimator.cpp +++ b/photon-lib/src/main/native/cpp/photon/PhotonPoseEstimator.cpp @@ -24,8 +24,6 @@ #include "photon/PhotonPoseEstimator.h" -#include - #include #include #include @@ -41,6 +39,7 @@ #include #include #include +#include #include #include #include diff --git a/photon-lib/src/main/native/include/photon/simulation/PhotonCameraSim.h b/photon-lib/src/main/native/include/photon/simulation/PhotonCameraSim.h index 65d9d0d2a1..d88dddaaad 100644 --- a/photon-lib/src/main/native/include/photon/simulation/PhotonCameraSim.h +++ b/photon-lib/src/main/native/include/photon/simulation/PhotonCameraSim.h @@ -24,25 +24,24 @@ #pragma once -#include -#include -#include -#include -#include -#include -#include -#include -#include - #include #include #include #include #include +#include #include #include #include +#include +#include +#include +#include +#include +#include +#include +#include #include #include diff --git a/photon-lib/src/main/native/include/photon/simulation/SimCameraProperties.h b/photon-lib/src/main/native/include/photon/simulation/SimCameraProperties.h index 050aa7038c..6b2630080f 100644 --- a/photon-lib/src/main/native/include/photon/simulation/SimCameraProperties.h +++ b/photon-lib/src/main/native/include/photon/simulation/SimCameraProperties.h @@ -24,8 +24,6 @@ #pragma once -#include - #include #include #include @@ -37,6 +35,7 @@ #include #include #include +#include #include #include diff --git a/photon-lib/src/main/native/include/photon/simulation/VideoSimUtil.h b/photon-lib/src/main/native/include/photon/simulation/VideoSimUtil.h index 618f36e1bd..71975c2f88 100644 --- a/photon-lib/src/main/native/include/photon/simulation/VideoSimUtil.h +++ b/photon-lib/src/main/native/include/photon/simulation/VideoSimUtil.h @@ -24,8 +24,6 @@ #pragma once -#include - #include #include #include @@ -33,6 +31,7 @@ #include #include +#include #include #include #include diff --git a/photon-lib/src/test/native/cpp/PhotonCameraTest.cpp b/photon-lib/src/test/native/cpp/PhotonCameraTest.cpp index 74876eda11..e021299206 100644 --- a/photon-lib/src/test/native/cpp/PhotonCameraTest.cpp +++ b/photon-lib/src/test/native/cpp/PhotonCameraTest.cpp @@ -22,20 +22,19 @@ * SOFTWARE. */ +#include +#include + #include +#include #include #include #include #include +#include #include #include -#include -#include - -#include -#include - TEST(TimeSyncProtocolTest, Smoketest) { using namespace wpi::tsp; using namespace std::chrono_literals; diff --git a/photon-lib/src/test/native/cpp/PhotonPoseEstimatorTest.cpp b/photon-lib/src/test/native/cpp/PhotonPoseEstimatorTest.cpp index 5f1e957038..b58f6bab9c 100644 --- a/photon-lib/src/test/native/cpp/PhotonPoseEstimatorTest.cpp +++ b/photon-lib/src/test/native/cpp/PhotonPoseEstimatorTest.cpp @@ -22,6 +22,8 @@ * SOFTWARE. */ +#include "photon/PhotonPoseEstimator.h" + #include #include #include @@ -30,13 +32,12 @@ #include #include #include +#include #include #include #include -#include "gtest/gtest.h" #include "photon/PhotonCamera.h" -#include "photon/PhotonPoseEstimator.h" #include "photon/dataflow/structures/Packet.h" #include "photon/simulation/PhotonCameraSim.h" #include "photon/simulation/SimCameraProperties.h" diff --git a/photon-lib/src/test/native/cpp/PhotonUtilsTest.cpp b/photon-lib/src/test/native/cpp/PhotonUtilsTest.cpp index 95a14e259e..f9a493cba5 100644 --- a/photon-lib/src/test/native/cpp/PhotonUtilsTest.cpp +++ b/photon-lib/src/test/native/cpp/PhotonUtilsTest.cpp @@ -22,7 +22,8 @@ * SOFTWARE. */ -#include "gtest/gtest.h" #include "photon/PhotonUtils.h" +#include + TEST(PhotonUtilsTest, Include) {} diff --git a/photon-lib/src/test/native/cpp/VersionTest.cpp b/photon-lib/src/test/native/cpp/VersionTest.cpp index 4e547f6a37..9f4d7c08b8 100644 --- a/photon-lib/src/test/native/cpp/VersionTest.cpp +++ b/photon-lib/src/test/native/cpp/VersionTest.cpp @@ -24,8 +24,9 @@ #include +#include + #include "PhotonVersion.h" -#include "gtest/gtest.h" TEST(VersionTest, PrintVersion) { std::cout << photon::PhotonVersion::versionString << std::endl; diff --git a/photon-lib/src/test/native/cpp/VisionSystemSimTest.cpp b/photon-lib/src/test/native/cpp/VisionSystemSimTest.cpp index 11e3b65cb3..501baa9c51 100644 --- a/photon-lib/src/test/native/cpp/VisionSystemSimTest.cpp +++ b/photon-lib/src/test/native/cpp/VisionSystemSimTest.cpp @@ -22,16 +22,17 @@ * SOFTWARE. */ +#include "photon/simulation/VisionSystemSim.h" + #include #include #include #include +#include #include -#include "gtest/gtest.h" #include "photon/PhotonUtils.h" -#include "photon/simulation/VisionSystemSim.h" // Ignore GetLatestResult warnings WPI_IGNORE_DEPRECATED diff --git a/photon-targeting/src/main/native/cpp/net/TimeSyncClient.cpp b/photon-targeting/src/main/native/cpp/net/TimeSyncClient.cpp index 8bafe3b38a..519e4cf11b 100644 --- a/photon-targeting/src/main/native/cpp/net/TimeSyncClient.cpp +++ b/photon-targeting/src/main/native/cpp/net/TimeSyncClient.cpp @@ -17,9 +17,6 @@ #include "net/TimeSyncClient.h" -#include -#include - #include #include #include @@ -33,6 +30,8 @@ #include #include #include +#include +#include #include "ntcore_cpp.h" diff --git a/photon-targeting/src/main/native/cpp/net/TimeSyncServer.cpp b/photon-targeting/src/main/native/cpp/net/TimeSyncServer.cpp index 41369d16c0..c12c6ab303 100644 --- a/photon-targeting/src/main/native/cpp/net/TimeSyncServer.cpp +++ b/photon-targeting/src/main/native/cpp/net/TimeSyncServer.cpp @@ -17,9 +17,6 @@ #include "net/TimeSyncServer.h" -#include -#include - #include #include #include @@ -32,6 +29,8 @@ #include #include #include +#include +#include #include "ntcore_cpp.h" diff --git a/photon-targeting/src/main/native/cpp/photon/constrained_solvepnp/wrap/casadi_wrapper.cpp b/photon-targeting/src/main/native/cpp/photon/constrained_solvepnp/wrap/casadi_wrapper.cpp index 44b1acd30f..ffe1bb9e47 100644 --- a/photon-targeting/src/main/native/cpp/photon/constrained_solvepnp/wrap/casadi_wrapper.cpp +++ b/photon-targeting/src/main/native/cpp/photon/constrained_solvepnp/wrap/casadi_wrapper.cpp @@ -17,8 +17,6 @@ #include "photon/constrained_solvepnp/wrap/casadi_wrapper.h" -#include - #include #include #include @@ -28,6 +26,7 @@ #include #include #include +#include #include #include diff --git a/photon-targeting/src/main/native/include/net/TimeSyncClient.h b/photon-targeting/src/main/native/include/net/TimeSyncClient.h index 1c9a06d92d..9bdaf2f26a 100644 --- a/photon-targeting/src/main/native/include/net/TimeSyncClient.h +++ b/photon-targeting/src/main/native/include/net/TimeSyncClient.h @@ -17,12 +17,6 @@ #pragma once -#include -#include -#include -#include -#include - #include #include #include @@ -40,6 +34,11 @@ #include #include #include +#include +#include +#include +#include +#include #include "TimeSyncStructs.h" #include "ntcore_cpp.h" diff --git a/photon-targeting/src/main/native/include/net/TimeSyncServer.h b/photon-targeting/src/main/native/include/net/TimeSyncServer.h index 3a85d390ea..1b8f2a7295 100644 --- a/photon-targeting/src/main/native/include/net/TimeSyncServer.h +++ b/photon-targeting/src/main/native/include/net/TimeSyncServer.h @@ -17,12 +17,6 @@ #pragma once -#include -#include -#include -#include -#include - #include #include #include @@ -38,6 +32,11 @@ #include #include #include +#include +#include +#include +#include +#include #include "TimeSyncStructs.h" #include "ntcore_cpp.h" diff --git a/photon-targeting/src/main/native/include/photon/estimation/OpenCVHelp.h b/photon-targeting/src/main/native/include/photon/estimation/OpenCVHelp.h index fad60f2c81..e4637ebb8c 100644 --- a/photon-targeting/src/main/native/include/photon/estimation/OpenCVHelp.h +++ b/photon-targeting/src/main/native/include/photon/estimation/OpenCVHelp.h @@ -29,9 +29,9 @@ #define OPENCV_DISABLE_EIGEN_TENSOR_SUPPORT #include -#include "photon/targeting/PnpResult.h" -#include "photon/targeting/MultiTargetPNPResult.h" +#include "photon/targeting/MultiTargetPNPResult.h" +#include "photon/targeting/PnpResult.h" #include "photon/targeting/TargetCorner.h" namespace photon { diff --git a/photon-targeting/src/main/native/jni/ConstrainedSolvepnpJNI.cpp b/photon-targeting/src/main/native/jni/ConstrainedSolvepnpJNI.cpp index 116a552046..8e7672d4fd 100644 --- a/photon-targeting/src/main/native/jni/ConstrainedSolvepnpJNI.cpp +++ b/photon-targeting/src/main/native/jni/ConstrainedSolvepnpJNI.cpp @@ -15,13 +15,13 @@ * along with this program. If not, see . */ -#include -#include - #include #include #include +#include +#include + #include "org_photonvision_jni_ConstrainedSolvepnpJni.h" #include "photon/constrained_solvepnp/wrap/casadi_wrapper.h" diff --git a/photon-targeting/src/main/native/jni/TimeSyncClientJNI.cpp b/photon-targeting/src/main/native/jni/TimeSyncClientJNI.cpp index 82f3599635..7edf1e9603 100644 --- a/photon-targeting/src/main/native/jni/TimeSyncClientJNI.cpp +++ b/photon-targeting/src/main/native/jni/TimeSyncClientJNI.cpp @@ -15,11 +15,11 @@ * along with this program. If not, see . */ -#include - #include #include +#include + #include "jni_utils.h" #include "net/TimeSyncClient.h" diff --git a/photon-targeting/src/main/native/jni/TimeSyncServerJNI.cpp b/photon-targeting/src/main/native/jni/TimeSyncServerJNI.cpp index 444a7ddd62..110fbe44fc 100644 --- a/photon-targeting/src/main/native/jni/TimeSyncServerJNI.cpp +++ b/photon-targeting/src/main/native/jni/TimeSyncServerJNI.cpp @@ -15,11 +15,11 @@ * along with this program. If not, see . */ +#include + #include #include -#include - #include "jni_utils.h" #include "net/TimeSyncServer.h" diff --git a/photon-targeting/src/test/native/cpp/CasadiWrapperTest.cpp b/photon-targeting/src/test/native/cpp/CasadiWrapperTest.cpp index f1ef1e774f..ea2a0f1ba9 100644 --- a/photon-targeting/src/test/native/cpp/CasadiWrapperTest.cpp +++ b/photon-targeting/src/test/native/cpp/CasadiWrapperTest.cpp @@ -15,13 +15,12 @@ * along with this program. If not, see . */ -#include - #include #include #include #include +#include #include #include "photon/constrained_solvepnp/wrap/casadi_wrapper.h" diff --git a/photon-targeting/src/test/native/cpp/PacketTest.cpp b/photon-targeting/src/test/native/cpp/PacketTest.cpp index 96033446ef..94cb707e13 100644 --- a/photon-targeting/src/test/native/cpp/PacketTest.cpp +++ b/photon-targeting/src/test/native/cpp/PacketTest.cpp @@ -15,6 +15,8 @@ * along with this program. If not, see . */ +#include "photon/dataflow/structures/Packet.h" + #include #include @@ -22,7 +24,6 @@ #include #include "gtest/gtest.h" -#include "photon/dataflow/structures/Packet.h" #include "photon/targeting/MultiTargetPNPResult.h" #include "photon/targeting/PhotonPipelineResult.h" #include "photon/targeting/PhotonTrackedTarget.h" diff --git a/photonlib-cpp-examples/aimandrange/src/main/cpp/Robot.cpp b/photonlib-cpp-examples/aimandrange/src/main/cpp/Robot.cpp index c50d003a1d..714a70ee77 100644 --- a/photonlib-cpp-examples/aimandrange/src/main/cpp/Robot.cpp +++ b/photonlib-cpp-examples/aimandrange/src/main/cpp/Robot.cpp @@ -24,12 +24,11 @@ #include "Robot.h" -#include - #include #include #include +#include void Robot::RobotInit() {} diff --git a/photonlib-cpp-examples/aimandrange/src/main/include/Robot.h b/photonlib-cpp-examples/aimandrange/src/main/include/Robot.h index f68262385a..34ffe8f89b 100644 --- a/photonlib-cpp-examples/aimandrange/src/main/include/Robot.h +++ b/photonlib-cpp-examples/aimandrange/src/main/include/Robot.h @@ -24,10 +24,9 @@ #pragma once -#include - #include #include +#include #include "Constants.h" #include "VisionSim.h" diff --git a/photonlib-cpp-examples/aimandrange/src/main/include/VisionSim.h b/photonlib-cpp-examples/aimandrange/src/main/include/VisionSim.h index 9fe64fb5cd..3520165299 100644 --- a/photonlib-cpp-examples/aimandrange/src/main/include/VisionSim.h +++ b/photonlib-cpp-examples/aimandrange/src/main/include/VisionSim.h @@ -24,6 +24,11 @@ #pragma once +#include +#include + +#include +#include #include #include #include @@ -31,12 +36,6 @@ #include #include -#include -#include - -#include -#include - #include "Constants.h" class VisionSim { diff --git a/photonlib-cpp-examples/aimattarget/src/main/include/Robot.h b/photonlib-cpp-examples/aimattarget/src/main/include/Robot.h index 2c06b7ae64..defc745c16 100644 --- a/photonlib-cpp-examples/aimattarget/src/main/include/Robot.h +++ b/photonlib-cpp-examples/aimattarget/src/main/include/Robot.h @@ -24,10 +24,9 @@ #pragma once -#include - #include #include +#include #include "Constants.h" #include "VisionSim.h" diff --git a/photonlib-cpp-examples/aimattarget/src/main/include/VisionSim.h b/photonlib-cpp-examples/aimattarget/src/main/include/VisionSim.h index 9fe64fb5cd..3520165299 100644 --- a/photonlib-cpp-examples/aimattarget/src/main/include/VisionSim.h +++ b/photonlib-cpp-examples/aimattarget/src/main/include/VisionSim.h @@ -24,6 +24,11 @@ #pragma once +#include +#include + +#include +#include #include #include #include @@ -31,12 +36,6 @@ #include #include -#include -#include - -#include -#include - #include "Constants.h" class VisionSim { diff --git a/photonlib-cpp-examples/poseest/src/main/include/Vision.h b/photonlib-cpp-examples/poseest/src/main/include/Vision.h index e612a5acd3..429aca74fe 100644 --- a/photonlib-cpp-examples/poseest/src/main/include/Vision.h +++ b/photonlib-cpp-examples/poseest/src/main/include/Vision.h @@ -24,19 +24,18 @@ #pragma once -#include -#include -#include -#include -#include -#include - #include #include #include #include #include +#include +#include +#include +#include +#include +#include #include "Constants.h"