MIT License Build Status User chat Developer chat Google Group Stack Overflow

Copyright Strongback Authors. Licensed under the MIT License.

Using Strongback

Our Using Strongback online book has all the information you need to download and start using Strongback on your FRC robot, and the library is available on our releases page. Our overview presentation is an alternative introduction that touches on all the major features.

If you have questions or want to get involved in the project, post to our online discussion forums.

What is Strongback?

Strongback is a new open source software library that makes your robot code lighter and stronger. You use it along with the WPILib library on your FIRST Robotics Competition robot's RoboRIO, but Strongback's APIs and functionality mean you need less code to do more. Plus, Strongback makes it easier for you to test your code without robot hardware and can record real-time data while you operate your robot for later post-processing.

Building locally

If you want to build Strongback locally, you will need to have installed JDK 1.8, Eclipse Mars (version 4.5.0 or later), Ant 1.10.0 or later, and Git 2.2.1 or later. Then, use Git to clone this repository (or your GitHub fork). Before importing into Eclipse, build the code and run the unit tests using Ant:

$ ant test

This will download the appropriate version of WPILib and install it into the libs directory, and then compile all the code and run the unit tests. Once this works, you know your environment is set up correctly, and you can proceed to import the projects into your Eclipse workspace and view or make changes to the library and/or tests using Eclipse. At any time, you can run Ant to compile, test, or create distribution files. For help with Ant, run ant help to see the available targets and their descriptions.

If you have any problems getting this far, please check our developers discussion forum to see if others are having similar problems. If you see no relevant discussion, post a question with the details about your platform, the versions of the tools, what you are trying to do, and what result you are getting.

Releasing

To release a new version of Strongback:

  1. Change the strongback.properties file to reference the correct version number, and commit that to the repository.
  2. Build the distribution by running ant release and verifying it completed correctly.
  3. Go to the Strongback releases page and draft a new release, filling in the correct release candidate version number as the tag (e.g., v2017.1.0.RC1 for "release candidate 1") and giving an appropriate release title (e.g., 2017.1.0.RC1) and description, and uploading the ZIP and compressed TAR file in the build directory. Then check "This is a pre-release" and press "Publish Release".
  4. Notify the developer forum so that other community members can test the release candidate by downloading and unpacking the pre-release distribution into their local home directory, using it in one or more robot codebases, and verifying the robots behave as expected. Each community member that tests it locally should respond to your forum post with their results.
  5. If the pre-release distribution has problems that need to be fixed, they should be reported, fixed, and merged into the correct branch, and then go to Step 3 using a new pre-release tag (e.g., v2017.1.0.RC2) and title (e.g., 2017.1.0.RC2).
  6. When enough community members have verified the pre-release distribution is acceptable, go to the Strongback releases page and create a new release with the same tag as the pre-release, but with the appropriate release tag (e.g., v2017.1.0), title (e.g., 2017.1.0) and description. Do not check "This is a pre-release" and press "Publish Release".