JPOX uses Test Driven Development (TDD). It has the following tests available
- test.jdo.general : 300+ tests
- test.jdo.datastore : 650+ tests
- test.jdo.application : 700+ tests
- test.jdo.spatial : 200+ tests
- test.jdo.jta : 6 tests
- test.jdo.java5 : 40 tests
- test.jdo.db4o : 25+ tests
- test.jpa.general : 100 tests
- JDO2 TCK : ~1550 tests
- JPA1 TCK : ~435 tests
Once you have JPOX commit rights (see Forum), the development process should be as below
- Identify Issue to work on. Raise a JIRA if it doesn't yet exist, and allocate to yourself
- Develop code, unit tests (as appropriate), and documentation for the issue.
JPOX is developed using JDK1.5+ but has to be runnable on JDK1.3+.
- Run all JPOX unit tests and JDO2 TCK, and when all pass to the same level as before then
you can check your code into SVN
- Broken unit tests or JDO TCK tests MUST BE FIXED ASAP. Others are using SVN trunk too
and if you break either the build or the tests then it means they often cannot work
effectively.
Breakage of unit tests or JDO TCK tests mean that your changes can be rolled back
- Issues that involve many changes should be split, where appropriate, into smaller steps
so that you can still pass point 3 above with each check in
- Where changes are significant and you cannot split them into smaller check-ins (that pass
the tests) should be checked in to the sandbox area (JPOX/workspace/{name}/, and when
complete they should be merged into main SVN If help is needed at this point then other
developers should help in merging large changes
- All check-ins should have a prefix in the description like [CORE-4251] for the issue being
worked on. Then they will be indexed by JIRA and so we can track changes.
- Mark the JIRA issue as "Resolved" for the next release.
Please abide by these rules.