Code Deployment

How can code (Java) be deployed to the robot without having Eclipse or GradleRIO installed?

Just tested this against our java code:

Presuming you already have a robot project in a repo on your hard drive, and the appropriate set of WPILibraries installed in the expected locations:

Install apache ant - make sure “ant” is a command when typed at a command prompt will run a valid command. I’ve got version 1.9.7.

Open a command prompt in the root directory of the eclipse project on your pc (where ever “build.xml” is). Run “ant”. This will do the default compile & deploy.

If you’re looking to absolve yourself entirely of eclipse setup, ant, gradle, etc. you can technically do whatever you like. The “deploy” process in java at least is simply to build the FRC user .jar file, connect to the roboRIO, stop the appropriate process, copy the new .jar file over, and restart the process. The WPIlib build files are actually fairly well laid out, and can show the details of this process.

Thank you and yes, I am trying to not have Eclipse be involved.

Gotcha. At least via the standard install, the eclipse plugin is responsible for downloading the right WPILib files into the right folder for your build. You’ll have to do some work to download the right set of files…

I’d ideally like to get it to the point where we have all these files in our repo to make it monolithic - single clone, and everything is ready to build. Would make it easier to control which version gets used (hey multiple development PC’s, dependency management, and gradleRIO!)

Because it is getting too close to our first competition, I am going to go with a build machine (no development done on it) that will pull, compile and deploy to a RoboRIO. We have enough RoboRIOs that I can deploy to a few, install one on the robot and use the rest as backups during competition.

My goal is to not use the development machines for testing and competition. The competition computer should only have the Driver Station and whatever else is required for competition.