Gradlew Tasks

This article aims to highlight the gradle commands supported by the WPILib team for user use. These commands can be viewed by typing ./gradlew tasks at the root of your robot project. Not all commands shown in ./gradlew tasks and unsupported commands will not be documented here.

Build tasks

./gradlew build - Assembles and tests this project. Useful for prebuilding your project without deploying to the roboRIO. ./gradlew clean - Deletes the build directory.

CompileCommands tasks

./gradlew generateCompileCommands - Generate compile_commands.json. This is a configuration file that is supported by many Integrated Development Environments.

EmbeddedTools tasks

./gradlew deploy - Deploy all artifacts on all targets. This will deploy your robot project to the available targets (IE, roboRIO).

./gradlew discoverRoborio - Determine the address(es) of target RoboRIO. This will print out the IP address of a connected roboRIO.

GradleRIO tasks

./gradlew downloadAll - Download all dependencies that may be used by this project

./gradlew $TOOL$ - Runs the tool $TOOL$ (Replace $TOOL$ with the name of the tool. IE, Glass, Shuffleboard, etc)

./gradlew $TOOL$Install - Installs the tool $TOOL$ (Replace $TOOL$ with the name of the tool. IE, Glass, Shuffleboard, etc)

./gradlew InstallAllTools - Installs all available tools. This excludes the development environment such as VSCode. It’s the users requirement to ensure the required dependencies (Java) is installed. Only recommended for advanced users!

./gradlew riolog - Runs a console displaying output from the default RoboRIO (roborio)

./gradlew simulateExternalCpp - Simulate External Task for native executable. Exports a JSON file for use by editors / tools

./gradlew simulateExternalJava - Simulate External Task for Java/Kotlin/JVM. Exports a JSON file for use by editors / tools

./gradlew simulateJava - Launches simulation for the Java projects

./gradlew simulateNative - Launches simulation for C++ projects

./gradlew vendordep - Install vendordep JSON file from URL or local installation. See 3rd Party Libraries