Development Style

TCLethbridge edited this page Jan 18, 2017 · 4 revisions
Clone this wiki locally

1) If you have not done so already, create a fork of the Umple repository and clone it to your local machine.

2) Create a new branch to make your changes in.

3) Run all existing tests and make sure that they all pass.

  • If there are failures, check if there is a local issue (i.e. not using the latest version of umple internally, a "refresh" F5 issue with Eclipse, etc.)
  • If the tests are still failing and the fix is easy, make the fix, commit it, and then notify the team (viewing the logs will show you the most recent committers, but you cannot assume that the most recent committer introduced the issue)

4) Create an issue for the work you are planning to do, or edit an existing issue.

  • For an existing issue, assign yourself to it, and provide the design for your work in a comment on its page.
  • For a non-trivial issue, discuss it on the umple-dev group before going further.

5) Write test cases (which initially fail) for the expected results of your work.

6) Implement your changes. As you make them, commit them in logical chunks and keep your commit messages organized.

7) Ensure that your test cases pass after you finish your implementation.

8) When you are done, update your fork as shown in Step 8 under "Pull Requests" in umple/CONTRIBUTION.md

9) Run your tests and all existing tests, and ensure that everything passes.

10) Create a pull request for your work, post it on its corresponding the issue page, and ask for a code review through the "Reviewers" section of the pull request, or Umple-dev.

11) Iterate the above as needed.

12) If you are a committer, then merge "everything" required to keep the repository in a valid state.

See also ContributionProcessToUmple for a list of best practices to follow when following the above steps.