Development Overview

This is a page about the current development stream.

Overview

  • Maven is used to manage dependencies, build the software, and run the tests for all modules.

Build and Deploy

  • To build and deploy the project: _ cd to the root directory of the project _ mvn clean install * This will run all the tests for all the modules
  • To build and just run the unit and integration tests for the main part of the application: _ cd to the root directory of the project _ cd mifos/ * mvn clean install
  • See Ubuntu Install for detailed instructions.

Running Mifos from Eclipse WTP

Gazelle now can run Mifos inside Eclipse WTP. See Eclipse WTP for info.

Java 1.6

  • Mifos now requires Java 1.6. You may need to set your ANT_OPTS to -Xms512m -Xmx2048m -XX:MaxPermSize=128m

Development Notes

  • XSD files: do not add links to files on the Internet! (http://www.somedomain.com/some/path/to/file.xsd) Doing this will prevent the application from starting if it is not connected to the Internet! Instead: _ download the XSD file _ place it in application/src/main/resources/xsd * use a link of this form: classpath:xsd/file.xsd
  • Acronyms - When naming classes, methods, and variables, do not use acronyms. Code is easier to understand without them. If you want to use an acronym, discuss with the team beforehand.
  • Approved acronyms - use camel case when using them. _ Dao - Data Access Object _ Dto - Data Transfer Object
  • Database development - for now, we are using Spring and Hibernate DDL generation, letting Spring create the database tables. We are not using create database SQL scripts. There are some SQL scripts that create tables for the security information. If you need to add a create-table script, discuss with the team first. Create table SQL scripts go in the root pom.xml's maven-sql-plugin configuration.