Skip to content

Contributing Source Code Changes to JSBSim

Sean McLeod edited this page Dec 9, 2023 · 1 revision

Source code changes to the JSBSim repo are managed via the fork and pull model.

So if you would like to contribute source code changes to the JSBSim repo the first step is to create your own fork of the JSBSim repo. The working with forks link provides information on how to go about creating your own fork and how to sync your fork to keep it up-to-date with the upstream repo, in this case the official JSBSim repo.

When you are ready to make source code changes to JSBSim first ensure that your fork is up to date with the JSBSim repo. Then create a new branch in your forked repo and make and test your changes in your branch.

Once you have tested your changes locally then push a commit to your branch. Then create a pull request to ask the JSBSim maintainers to take a look at merging in your proposed changes to the official JSBSim repo.

When a pull request is issued to the JSBSim repo it will kick-off an automated build and test process during which your submitted code will be compiled on multiple operating systems that JSBSim supports (Linux, Mac and Windows) and via multiple C++ compilers to ensure that your code sucessfully compiles and links on all supported systems. In addition a number of automated tests will also be run to confirm that all the current tests pass with your changes.

Here is an example of the output from the automated build and test process which will appear on the pull request page. If there are any errors then click on the Details link to see the details of the error. In order to fix any errors that are reported simply push a new commit to your existing branch in your forked repo. As soon as Github receives the new commit it will kick off the automated build and test process again.

image

JSBSim developers will then review your code changes and may make comments or suggest changes. Again simply make the changes in your branch of your forked repo and push the commit.

Once the JSBSim maintainers are happy with your contribution one of them will merge it into the official JSBSim repo.

You can then delete your branch in your forked repo. Switch to the main branch of your forked repo and sync up with the JSBSim repo.