wiki:DeveloperPage

Version 4 (modified by Jari Häkkinen, 16 years ago) (diff)

More info to developers.

Developer information

How to write a plug-in

There is documentation on how to write plug-ins on the BASE web site. This document together with studies of how others have written plug-ins is what is available. The BASE mailing lists are also useful sources for plug-in writers, search them for information and/or post new questions.

How to document my plug-in

The minimum amount of documentation should be installation information, instruction for setting up a configuraion if needed, and contact information. To convince users to use the plug-in descibe your fancy algorithm and, if applicalble, add citation information. Also, send us information on which file we should link to in the plug-in list.

New to subversion

We have put together a short introduction to subversion usage html or pdf with some rules on svn usage. Please read the document, and set up a proper configuration file for subversion (see item 2.1.5 and Appendix F in the notes).

Package release tags

All plug-ins share a common subversion repository. This makes it problematic to create release tags for individual plug-ins following the usual guidelines for subversion usage. We do not expect to be able to provide complete plug-in releases but have a scheme for tagging of individual plug-ins.

The tags branch will be a shadow directory hierarchy of the trunk branch down to package level. At this level tags are created for the package. For example, in the below structure

baseplugins/branches
baseplugins/tags
baseplugins/tags/se/
baseplugins/tags/se/lu/
baseplugins/tags/se/lu/onk/
baseplugins/tags/se/lu/onk/QPackage-0.1
baseplugins/tags/se/lu/onk/QPackage-0.1.1
baseplugins/tags/se/lu/onk/ReplicateError-1
baseplugins/tags/se/lu/thep/
baseplugins/tags/se/lu/thep/wenni-0.1
baseplugins/tags/se/lu/thep/wenni-0.2
baseplugins/trunk
baseplugins/trunk/se/
baseplugins/trunk/se/lu/
baseplugins/trunk/se/lu/onk/
baseplugins/trunk/se/lu/onk/Qpackage
baseplugins/trunk/se/lu/onk/ReplicateError
baseplugins/trunk/se/lu/thep/
baseplugins/trunk/se/lu/thep/wenni

There are five tags QPackage-0.1, QPackage-0.1.1, ReplicateError-1, wenni-0.1, and `wenni-0.2'. These are created in the same way as tags are created in subversion:

svn copy http://lev.thep.lu.se/repository/baseplugins/trunk/se/lu/onk/QPackage \
         http://lev.thep.lu.se/repository/baseplugins/tags/se/lu/onk/QPackage-0.1 \
         -m "Tagging release 0.1 of se.lu.onk.QPackage."

Branches can be treated correspondingly.