Fusion Developers Corner
This is the spot for a lot of developer-related information.
Committers are people with valid OSGeo User IDs that have permission to commit changes to the SVN repository. Any existing committer can visit this page to add or remove committers. You will need the OSGeo User ID to add users. The reference for this is here.
A list of Fusion Committers is available here.
There are also some Committer Guidelines that every committer agrees to adhere to before committing code to Fusion.
Patches are text files that contain the difference between a locally checked out version of fusion and the version in the SVN repository. See CreatingPatches for instructions on how to create a patch and ApplyingPatches for applying a patch to your local working version.
Subversion (SVN) is a tool for helping developers manage a code base. The Fusion code base is stored in an SVN repository hosted at OSGeo. You can view the source in your web browser directly or use the built in trac browser for a more enjoyable experience.
The Fusion SVN repository is organized into several main folders. If you are working with a checked-out copy of Fusion from SVN, you must copy and rename the file config_dist.json to config.json and configure that file for your system.
There are different ways of using SVN to work with a repository including a command line svn tool and several standalone and integrated graphical tools. We will typically describe the command-line use of SVN and it is up to you to find the equivalent functionality in your fancy graphical tool. See the following resources for more information on working with SVN:
- Get a working copy of the Fusion code
- Update a working copy of the Fusion code
- Submit changes to the Fusion repository
- Using SVN to create patches
- Linking SVN to TRAC tickets
Fusion code is written to certain coding standards based on a combination of community best practice, readability and what feels comfortable. If you are writing code to contribute to Fusion, please make sure you read the coding standards page before submitting your code.
Fusion user documentation is maintained primarily in in the Documentation section of this wiki. The API documentation is maintained in the Fusion code using NaturalDocs. See the documentation standards page for details on documenting your code.
The Build Process
The Fusion build process is used to create release packages. The Fusion build process uses:
- the ANT build system to create redistributable packages,
- the NaturalDocs package for automating the generation of API documentation
See the ANT Build System page for details on running ANT to create release packages.