Wiki

Clone wiki

MeadeAutostar497 / Developers

Development towards the Meade Generic driver is most welcome.

Currently the branching model that I have setup looks like this.

Master - The master code for the the current release, If all else fails, this is what things should be reset to. Develop - The next point release. for example if version 0.5.0.0 has been released, develop will be 0.6.0.0 release/x.x.x.x this is the actual source code for a given release of a driver.

The idea is that the four version numbers will be used as follows.

major.minor.build.revsion

major This is a major release of the driver and will be incremented when there is a major refactor of code. minor This will be upgraded when new features are added or there is a significant change to the code. build This used for defect fixed and further builds of a given release whilst in development. revision this will be incremented when there is a specific defect that needs to be addressed. The defect must be fixed in both the point release and the develop branch.

If you wish to develop a new feature for the driver please make a feature branch based on develop. Create a pull request when you are close to completion of your feature so that the code can be reviewed. At this point a conversation will take place about the code in the pull request to ensure that code quality, performance and compatibility are considered. A pull request will be merged to develop and included in the net production release of the driver (the pull request may be the trigger for that release) once the code has reached an acceptable standard.

Developers of all levels are welcome to help with the project. Please join the mailing list and contact me if you need help getting setup. I'm happy to help and will do what I can to help you get setup and compiling the code.

The build process has been upgraded as I have added the build process into my personal TeamCity server. This means that going forward there will be unit test coverage of the functionality. This has the effect of significantly lowering the amount of regression needed between releases.

You'll need to run the unit tests to make sure that everything is working correctly. Also it's best practice to make new unit tests for any new scenarios that you are adding to the code. Having great code coverage is the key to having a reliable and stable driver that remains low or free from defects. I recommend the NCrunch Extension to run the unit tests as you work. Also Resharper has similar functionality. However, for those on a tight budget you can use the NUnit 3 Test Adapter to all the Test Explorer in Visual Studio to be able to execute the tests properly.

Updated