ROBOT is fully open to contributions from anyone! To get started, check the issues and look for good first issue
.
Fork the ROBOT repo, and then clone it to create a local copy for development. If your desired changes aren't already in the tracker, create a new issue.
Before changing anything, make sure the tests pass:
$ mvn test
- Create a new branch with your topic name (e.g.
extract-bug-fix
) - Make your changes and write any corresponding tests
- Test your changes (
$ mvn test -Dtest=TestName
) - Ensure ROBOT builds correctly (
$ mvn clean package
) - Commit and push changes to your fork, then create a pull request
The source code consists of two main directories: robot-command
and robot-core
. The core files contain code for the bulk of the operation, while the command files add command line functionality. When implementing a new feature, make sure the operation has both *Operation.java
and *Command.java
files. The operation methods should not be dependent on the command methods.
ROBOT follows the Google Java Style Guide, which is auto-enforced by google java format during builds. Make sure to add doc comments for any new methods - for specifications see JavaDocs.