[wpilib] Use reflection to load main class, remove main from templates (#8627)

#8626 needs to switch to using reflection to load the robot class. Do
that with this PR so it's separate.

Also, remove the duplicated main files from the template, and instead
fixup vscode to handle this properly.
This commit is contained in:
Thad House
2026-02-21 14:35:26 -08:00
committed by GitHub
parent 793b0a3187
commit 44441daad7
93 changed files with 167 additions and 2140 deletions

View File

@@ -7,7 +7,7 @@
],
"foldername": "gettingstarted",
"gradlebase": "java",
"mainclass": "Main",
"robotclass": "Robot",
"commandversion": 2
},
{
@@ -20,7 +20,7 @@
],
"foldername": "tankdrive",
"gradlebase": "java",
"mainclass": "Main",
"robotclass": "Robot",
"commandversion": 2
},
{
@@ -33,7 +33,7 @@
],
"foldername": "arcadedrive",
"gradlebase": "java",
"mainclass": "Main",
"robotclass": "Robot",
"commandversion": 2
},
{
@@ -46,7 +46,7 @@
],
"foldername": "mecanumdrive",
"gradlebase": "java",
"mainclass": "Main",
"robotclass": "Robot",
"commandversion": 2
},
{
@@ -59,7 +59,7 @@
],
"foldername": "canpdp",
"gradlebase": "java",
"mainclass": "Main",
"robotclass": "Robot",
"commandversion": 2
},
{
@@ -72,7 +72,7 @@
],
"foldername": "solenoid",
"gradlebase": "java",
"mainclass": "Main",
"robotclass": "Robot",
"commandversion": 2
},
{
@@ -85,7 +85,7 @@
],
"foldername": "encoder",
"gradlebase": "java",
"mainclass": "Main",
"robotclass": "Robot",
"commandversion": 2
},
{
@@ -98,7 +98,7 @@
],
"foldername": "eventloop",
"gradlebase": "java",
"mainclass": "Main",
"robotclass": "Robot",
"commandversion": 2
},
{
@@ -113,7 +113,7 @@
],
"foldername": "potentiometerpid",
"gradlebase": "java",
"mainclass": "Main",
"robotclass": "Robot",
"commandversion": 2,
"hasunittests": true
},
@@ -129,7 +129,7 @@
],
"foldername": "elevatortrapezoidprofile",
"gradlebase": "java",
"mainclass": "Main",
"robotclass": "Robot",
"commandversion": 2
},
{
@@ -144,7 +144,7 @@
],
"foldername": "elevatorexponentialprofile",
"gradlebase": "java",
"mainclass": "Main",
"robotclass": "Robot",
"commandversion": 2
},
{
@@ -158,7 +158,7 @@
],
"foldername": "elevatorprofiledpid",
"gradlebase": "java",
"mainclass": "Main",
"robotclass": "Robot",
"commandversion": 2
},
{
@@ -174,7 +174,7 @@
],
"foldername": "gyro",
"gradlebase": "java",
"mainclass": "Main",
"robotclass": "Robot",
"commandversion": 2
},
{
@@ -189,7 +189,7 @@
],
"foldername": "gyromecanum",
"gradlebase": "java",
"mainclass": "Main",
"robotclass": "Robot",
"commandversion": 2
},
{
@@ -201,7 +201,7 @@
],
"foldername": "hidrumble",
"gradlebase": "java",
"mainclass": "Main",
"robotclass": "Robot",
"commandversion": 2
},
{
@@ -218,7 +218,7 @@
],
"foldername": "mechanism2d",
"gradlebase": "java",
"mainclass": "Main",
"robotclass": "Robot",
"commandversion": 2
},
{
@@ -232,7 +232,7 @@
],
"foldername": "motorcontrol",
"gradlebase": "java",
"mainclass": "Main",
"robotclass": "Robot",
"commandversion": 2
},
{
@@ -243,7 +243,7 @@
],
"foldername": "quickvision",
"gradlebase": "java",
"mainclass": "Main",
"robotclass": "Robot",
"commandversion": 2
},
{
@@ -254,7 +254,7 @@
],
"foldername": "intermediatevision",
"gradlebase": "java",
"mainclass": "Main",
"robotclass": "Robot",
"commandversion": 2
},
{
@@ -265,7 +265,7 @@
],
"foldername": "httpcamera",
"gradlebase": "java",
"mainclass": "Main",
"robotclass": "Robot",
"commandversion": 2
},
{
@@ -277,7 +277,7 @@
],
"foldername": "apriltagsvision",
"gradlebase": "java",
"mainclass": "Main",
"robotclass": "Robot",
"commandversion": 2
},
{
@@ -295,7 +295,7 @@
],
"foldername": "hatchbottraditional",
"gradlebase": "java",
"mainclass": "Main",
"robotclass": "Robot",
"commandversion": 2
},
{
@@ -313,7 +313,7 @@
],
"foldername": "hatchbotinlined",
"gradlebase": "java",
"mainclass": "Main",
"robotclass": "Robot",
"commandversion": 2
},
{
@@ -335,7 +335,7 @@
],
"foldername": "rapidreactcommandbot",
"gradlebase": "java",
"mainclass": "Main",
"robotclass": "Robot",
"commandversion": 2
},
{
@@ -346,7 +346,7 @@
],
"foldername": "selectcommand",
"gradlebase": "java",
"mainclass": "Main",
"robotclass": "Robot",
"commandversion": 2
},
{
@@ -361,7 +361,7 @@
],
"foldername": "swervebot",
"gradlebase": "java",
"mainclass": "Main",
"robotclass": "Robot",
"commandversion": 2
},
{
@@ -376,7 +376,7 @@
],
"foldername": "mecanumbot",
"gradlebase": "java",
"mainclass": "Main",
"robotclass": "Robot",
"commandversion": 2
},
{
@@ -391,7 +391,7 @@
],
"foldername": "differentialdrivebot",
"gradlebase": "java",
"mainclass": "Main",
"robotclass": "Robot",
"commandversion": 2
},
{
@@ -404,7 +404,7 @@
],
"foldername": "arcadedrivegamepad",
"gradlebase": "java",
"mainclass": "Main",
"robotclass": "Robot",
"commandversion": 2
},
{
@@ -417,7 +417,7 @@
],
"foldername": "tankdrivegamepad",
"gradlebase": "java",
"mainclass": "Main",
"robotclass": "Robot",
"commandversion": 2
},
{
@@ -431,7 +431,7 @@
],
"foldername": "dutycycleencoder",
"gradlebase": "java",
"mainclass": "Main",
"robotclass": "Robot",
"commandversion": 2
},
{
@@ -444,7 +444,7 @@
],
"foldername": "dutycycleinput",
"gradlebase": "java",
"mainclass": "Main",
"robotclass": "Robot",
"commandversion": 2
},
{
@@ -457,7 +457,7 @@
],
"foldername": "addressableled",
"gradlebase": "java",
"mainclass": "Main",
"robotclass": "Robot",
"commandversion": 2
},
{
@@ -472,7 +472,7 @@
],
"foldername": "drivedistanceoffboard",
"gradlebase": "java",
"mainclass": "Main",
"robotclass": "Robot",
"commandversion": 2
},
{
@@ -488,7 +488,7 @@
],
"foldername": "statespaceflywheel",
"gradlebase": "java",
"mainclass": "Main",
"robotclass": "Robot",
"commandversion": 2
},
{
@@ -505,7 +505,7 @@
],
"foldername": "statespaceflywheelsysid",
"gradlebase": "java",
"mainclass": "Main",
"robotclass": "Robot",
"commandversion": 2
},
{
@@ -521,7 +521,7 @@
],
"foldername": "statespaceelevator",
"gradlebase": "java",
"mainclass": "Main",
"robotclass": "Robot",
"commandversion": 2
},
{
@@ -537,7 +537,7 @@
],
"foldername": "statespacearm",
"gradlebase": "java",
"mainclass": "Main",
"robotclass": "Robot",
"commandversion": 2
},
{
@@ -555,7 +555,7 @@
],
"foldername": "simpledifferentialdrivesimulation",
"gradlebase": "java",
"mainclass": "Main",
"robotclass": "Robot",
"commandversion": 2
},
{
@@ -571,7 +571,7 @@
],
"foldername": "elevatorsimulation",
"gradlebase": "java",
"mainclass": "Main",
"robotclass": "Robot",
"commandversion": 2,
"hasunittests": true
},
@@ -589,7 +589,7 @@
],
"foldername": "elevatorexponentialsimulation",
"gradlebase": "java",
"mainclass": "Main",
"robotclass": "Robot",
"commandversion": 2
},
{
@@ -605,7 +605,7 @@
],
"foldername": "armsimulation",
"gradlebase": "java",
"mainclass": "Main",
"robotclass": "Robot",
"commandversion": 2,
"hasunittests": true
},
@@ -618,7 +618,7 @@
],
"foldername": "unittest",
"gradlebase": "java",
"mainclass": "Main",
"robotclass": "Robot",
"commandversion": 2,
"hasunittests": true
},
@@ -635,7 +635,7 @@
],
"foldername": "differentialdriveposeestimator",
"gradlebase": "java",
"mainclass": "Main",
"robotclass": "Robot",
"commandversion": 2
},
{
@@ -651,7 +651,7 @@
],
"foldername": "mecanumdriveposeestimator",
"gradlebase": "java",
"mainclass": "Main",
"robotclass": "Robot",
"commandversion": 2
},
{
@@ -667,7 +667,7 @@
],
"foldername": "swervedriveposeestimator",
"gradlebase": "java",
"mainclass": "Main",
"robotclass": "Robot",
"commandversion": 2
},
{
@@ -682,7 +682,7 @@
],
"foldername": "romireference",
"gradlebase": "javaromi",
"mainclass": "Main",
"robotclass": "Robot",
"commandversion": 2,
"extravendordeps": [
"romi"
@@ -700,7 +700,7 @@
],
"foldername": "xrpreference",
"gradlebase": "javaxrp",
"mainclass": "Main",
"robotclass": "Robot",
"commandversion": 2,
"extravendordeps": [
"xrp"
@@ -716,7 +716,7 @@
],
"foldername": "xrptimed",
"gradlebase": "javaxrp",
"mainclass": "Main",
"robotclass": "Robot",
"commandversion": 2,
"extravendordeps": [
"xrp"
@@ -732,7 +732,7 @@
"foldername": "digitalcommunication",
"gradlebase": "java",
"commandversion": 2,
"mainclass": "Main",
"robotclass": "Robot",
"hasunittests": true
},
{
@@ -745,7 +745,7 @@
"foldername": "i2ccommunication",
"gradlebase": "java",
"commandversion": 2,
"mainclass": "Main",
"robotclass": "Robot",
"hasunittests": true
},
{
@@ -759,7 +759,7 @@
"foldername": "flywheelbangbangcontroller",
"gradlebase": "java",
"commandversion": 2,
"mainclass": "Main"
"robotclass": "Robot"
},
{
"name": "SysIdRoutine",
@@ -772,6 +772,6 @@
"foldername": "sysidroutine",
"gradlebase": "java",
"commandversion": 2,
"mainclass": "Main"
"robotclass": "Robot"
}
]