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