SCM Plugins
We are currently actively working on simplifying the SCM API for the benefit of plugin authors. Preliminary APIs for some core SCM implementation classes are attached:
- SCMClient.java
: the primary implementation class that handles the interaction with the SCM server.
- SCMCapability.java
: defines a set of possible capabilities for SCMClient implementations. Implementations can start simple by only implementing some capabilities.
- SCMContext.java
: supporting class.
Plugin configuration
<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.2"?>
<plugin>
<extension point="com.zutubi.pulse.core.config">
<config class="xxxx"/>
</extension>
<extension point="com.zutubi.pulse.core.scms">
<scm name="yyy" factory-class="zzzz" working-copy-class="aaa"/>
</extension>
</plugin>
Scm configurations require two extension points. The configuration extension and the scm extension.
Extension point: com.zutubi.pulse.core.scms
| property |
required |
description |
| name |
true |
The name of the SCM. This name is required to match the result of the 'getType' call to the corresponding configuration instance. |
| factory-class |
true |
The client factory implementation class for the SCM. Must implement ScmClientFactory. |
| working-copy-class |
false |
The ScmWorkingCopy implementation class for the SCM, if any. |
Extension point: com.zutubi.pulse.core.config
| property |
required |
description |
| class |
true |
The class implementing the ScmConfiguration base class. |