|
|
(34 intermediate revisions by the same user not shown) |
Line 1: |
Line 1: |
− | = oAW Developer Guidelines =
| + | #REDIRECT [[OAW]] |
− | | + | |
− | The purpose of this page is to
| + | |
− | * centrally collect suggestions for policies and procedures for the development of openArchitectureWare 5
| + | |
− | * agree upon policies and procedures
| + | |
− | * provide new developers an easier start
| + | |
− | | + | |
− | Feel free to add your own suggestions and mark them with your name to make discussions easier.
| + | |
− | | + | |
− | Don't correct other user's suggestions. We should first collect ideas and then discuss critical issues.
| + | |
− | | + | |
− | It's not our objective to establish a heavy-weight process for oAW development. Make sure your suggestions are not to restrictive to keep oAW agile.
| + | |
− | | + | |
− | If some of these suggestions appear trivial or common sense to you, they might not be for others (especially new developers). So please ignore them gracefully unless you disagree.
| + | |
− | | + | |
− | | + | |
− | == Platform ==
| + | |
− | * Code must comply to Java 5 --[[User:Jan.koehnlein.itemis.de|Jan.koehnlein.itemis.de]] 08:51, 30 April 2008 (EDT)
| + | |
− | * Target platform is Eclipse 3.3 (4?) --[[User:Jan.koehnlein.itemis.de|Jan.koehnlein.itemis.de]] 08:51, 30 April 2008 (EDT)
| + | |
− | | + | |
− | == Coding ==
| + | |
− | * Everything that is checked into the repository must compile and must not break the build. --[[User:Jan.koehnlein.itemis.de|Jan.koehnlein.itemis.de]] 08:51, 30 April 2008 (EDT)
| + | |
− | * If you change code, make sure the unit tests are OK before you commit. --[[User:Jan.koehnlein.itemis.de|Jan.koehnlein.itemis.de]] 08:51, 30 April 2008 (EDT)
| + | |
− | * Internal packges must have ''internal'' in their name --[[User:Jan.koehnlein.itemis.de|Jan.koehnlein.itemis.de]] 08:56, 30 April 2008 (EDT)
| + | |
− | * If you add a (source-)folder make sure to update ''build.properties''. --[[User:Jan.koehnlein.itemis.de|Jan.koehnlein.itemis.de]] 08:56, 30 April 2008 (EDT)
| + | |
− | * Generated code should always reside in separate folder clearly marked as generated, such as ''src-gen'' or ''emf-gen''. I'd prefer to generate large chunks of code into spearate plug-ins, as some files, like ''MANIFEST.MF'' cannot be merged. --[[User:Jan.koehnlein.itemis.de|Jan.koehnlein.itemis.de]] 09:04, 30 April 2008 (EDT)
| + | |
− | * Avoid checking in generated code. Find out how to automtically run the generator on the build server. --[[User:Jan.koehnlein.itemis.de|Jan.koehnlein.itemis.de]] 09:09, 30 April 2008 (EDT)
| + | |
− | | + | |
− | == Plug-ins ==
| + | |
− | * We maintain one team project set in the CVS that is always up-to-date. --[[User:Jan.koehnlein.itemis.de|Jan.koehnlein.itemis.de]] 08:51, 30 April 2008 (EDT)
| + | |
− | * A Plug-in's ID must be the same as the project's name. --[[User:Jan.koehnlein.itemis.de|Jan.koehnlein.itemis.de]] 08:51, 30 April 2008 (EDT)
| + | |
− | * Separate UI code and non-UI code in different plug-ins. --[[User:Jan.koehnlein.itemis.de|Jan.koehnlein.itemis.de]] 08:51, 30 April 2008 (EDT)
| + | |
− | * If you add a plug-in, you must add it to the team project set. --[[User:Jan.koehnlein.itemis.de|Jan.koehnlein.itemis.de]] 08:51, 30 April 2008 (EDT)
| + | |
− | * If you add a plug-in, add it to at least one feature. --[[User:Jan.koehnlein.itemis.de|Jan.koehnlein.itemis.de]] 08:51, 30 April 2008 (EDT)
| + | |
− | * The name of a feature should always end with ''.feature''. --[[User:Jan.koehnlein.itemis.de|Jan.koehnlein.itemis.de]] 08:57, 30 April 2008 (EDT)
| + | |
− | | + | |
− | == Testing ==
| + | |
− | * Unit tests reside in a separate plug-in named ''<name of the plug-in to be tested>.tests'' --[[User:Jan.koehnlein.itemis.de|Jan.koehnlein.itemis.de]] 09:00, 30 April 2008 (EDT)
| + | |
− | * Unit tests should test a single feature only. Avoid tests that depend on a large number of features. Tests will be far easier to maintain. --[[User:Jan.koehnlein.itemis.de|Jan.koehnlein.itemis.de]] 08:51, 30 April 2008 (EDT)
| + | |
− | * Never release before all tests are green on the build server. --[[User:Jan.koehnlein.itemis.de|Jan.koehnlein.itemis.de]] 08:51, 30 April 2008 (EDT)
| + | |
− | | + | |
− | == Build ==
| + | |
− | * If the nightly build fails, it must be fixed ASAP. --[[User:Jan.koehnlein.itemis.de|Jan.koehnlein.itemis.de]] 08:51, 30 April 2008 (EDT)
| + | |