We warmly welcome pull requests. The following guidelines reflect how we try to maintain the project and in turn the pull requests we're likely to merge:
- Cross-platform: Changes must work on both Linux/Unix and Windows.
- Broad scope: Improvements should be potentially useful to a significant proportion of the user base.
- Non-developer users: A lot of our users aren't developers. It must be easy them to use any improvements. A practical approach is to ensure the configuration file and/or user guide reflects changes.
- Backward compatibility: New versions should not force users of previous versions to change their configuration or command files (ie no surprises).
- Respect IB T&C: Changes must not be an infringement of the intent or provisions of IB's Terms and Conditions. For example, there should be no attempt to disable/automate logon for users enrolled in IB's security program.
- Style: Please maintain the same style as the existing code unless you've discussed a refactor with the current maintainers via email or a GitHub ticket.
Apache Ant is required to build IB Controller. After
installation of Ant and TWS onto your machine, run Ant with the TWS
environment variable set to your local TWS directory. This is required so that
the compiler can locate jts.jar
. For example:
TWS=/usr/share/java/ib-tws ant clean dist
This will freshly compile the project, create a JAR and a distribution ZIP. New
versions require editing the ver
property in the build.xml, as
that version number is included in the resulting ZIP.