How to Contribute to Faban

This page lays out ways you can contribute to Faban. The project plan page lays out what we have in mind for future versions of Faban.  This is rather a list of big-ticket items we have in mind. The number of changes and features added is not limited to this list, and neither is this list carved in rock. If you are willing to take up the implementation of any of the items on the list, please email your intentions to dev@faban.sunsource.net.

Getting the source code

The first step is, as always, to get the source code into your workspace on your local drive. The Faban source code is in a cvs repository on cvs.sunsource.net. The instructions for accessing the source code repository is available through the Version control link on the menu bar to the left of this page.

Making changes

  1. If there is no issue reflecting your change, please submit an issue using the Issue tracker.
  2. Sign up for the issue.
  3. Add a design note to the issue documenting the design of this change.
  4. Implement the change.
  5. Implement a unit test for the change.
  6. Perform functional test of the change, ensuring it solves the issue.
  7. Review the design note and update it to reflect your change.
  8. If the change affects user documentation, update the documentation accordingly.
  9. Provide a patch for code changes and documentation changes and email the changes to dev@faban.sunsource.net stating the issue number. If you are a Faban developer, you may check-in your changes directly.
  10. Close the issue after changes are checked in. If a patch is provided, we will close the issue for you after it is checked in.

Building Faban

  1. You will need JDK6 or later and ant 1.6.5 or later to build Faban. These are not included in the Faban workspace. You need to download and install these manually.
  2. Set the JAVA_HOME environment variable to point to your JDK6 installation.
  3. Ensure the ant command (at ant/bin/ant) is in your PATH.
  4. Change your working directory to the worspace's stage directory.
        $ cd workspace/stage
  5. Edit the build.properties file setting the kit.dir and public.dir properties according to your environment. The kit.dir property points the build script where to place the resulting Faban package while the public.dir points to the resulting javadocs.
  6. Run ant, invoking the target "all".
        $ ant all
    Since "all" is the default target already, you may also just invoke ant without targets.
        $ ant

Creating and Submitting a Patch

We are still testing our patch process. In the mean time, if you want to have your code checked back in please send email to dev@faban.sunsource.net.