Check out the code from the Apache repository via Git. Instructions are on the Getting Started page.
Join the dev@mesos.apache.org mailing list by sending an email to dev-subscribe@mesos.apache.org
Find a JIRA that is currently unassigned that you want to work on at JIRA issue tracker, or create your own (you'll need a JIRA account for this, see below)!
Assign the JIRA to yourself. To do this, you will need:
Formulate a plan for resolving the issue, propose your plan via comments in the JIRA
Create one or more test cases to exercise the bug or the feature (the Mesos team uses test-driven development), before you start coding, make sure these test cases all fail.
Make your changes to the code (using whatever IDE/editor you choose) to actually fix the bug or implement the feature.
support/hooks/pre-commit
) to automatically check for style errors. See the hook script for instructions to enable it.BASE_MESOS_DIR
mkdir build && cd build
../configure
make
configure
and make
. I.e. You can reset your build process without risking changes you made in the src directory, by simply deleting the build directory, and creating a new one.Make sure all of your test cases now pass.
make check
Make sure to pull in any changes that have been committed to master branch. Using Git, do this via something like:
git checkout master
git pull
git co my_branch
git diff master
and make sure it lists only your changes. If other changes you did not make are listed, try a rebase to bring your branch up to date with master.You're ready to submit your patch for review!
post-reviews.py
a wrapper around post-review.support/post-reviews.py
.post-reviews.py
creates a new review for every commit on your branch that is different from the master
.Wait for a code review from another Mesos developer via Review Board, address their feedback and upload updated patches until you receive a “Ship It” from a Mesos committer.
post-reviews.py
will create a new review (git rebase -i
is your friend).After consensus is reached on your JIRA/patch, you're review request will receive a “Ship It!” from a committer, and then a committer will commit your patch to the git repository. Congratulations and thanks for participating in our community!
The last step is to ensure that the necessary documentation gets created or updated so the whole world knows about your new feature or bug fix.