-
Notifications
You must be signed in to change notification settings - Fork 1
(1) Workflow
##Build Team 449 uses GradleRIO to build main robot code projects containing Robot.java files that depends on the 449 central repo. GradleRIO is a gradle plugin that can be used for building and deploying robot code for the RoboRIO.
When building a 449 main robot code project, a GradleRIO based build script in the main robot code project includes the 449 central repo as a compile time dependency. The 449 central repo is built with another gradle build script that builds as a regular, non-GradleRIO project that includes WPILib and other necessary libraries as compile time dependencies. If one was to use a library that was not a 449 central repo dependency, one could include it as a compile time dependency in the main robot code project.
##Workflow Due to the time-constrained nature of build season, all code written during build season should be left in a main robot code project. The build season projects can be found at the Blair Robot Project Github Organization page named "robot<year>" (example here).
If one wishes to change the functionality of a library class during build season, one should just override it in the build season main robot code project. After build season, the reusable portions of the robot code should be reviewed, documented, and moved to the central repo.
The reason for not modifying the central repo during build season is to prevent bugs and poorly documented code from entering the central repo. The central repo should be a clean, well-documented, error-free library, and all code should be well reviewed before it makes it onto the central repo's master branch.
Non-build season robot code projects (new programmer practice sets, offseason projects, etc.) should also be implemented as main robot code projects depending on the central repo.
449 programmers can add to and modify the central repo during the offseason on feature branches, however altering the central repo during build season is discouraged. The proper way of fixing a bug in the central repo during build season is to submit a Github issue on the central repo page and extend/override the problematic class in the main repo.