- All Implemented Interfaces:
- org.azyva.dragom.model.plugin.ModulePlugin, org.azyva.dragom.model.plugin.NodePlugin, org.azyva.dragom.model.plugin.SelectDynamicVersionPlugin
public class PhaseSelectDynamicVersionPluginImpl
extends ModulePluginAbstractImpl
implements org.azyva.dragom.model.plugin.SelectDynamicVersionPlugin
Factory for SelectDynamicVersionPlugin that implements a strategy for development
workflow that uses development phases.
See the PhaseSelectStaticVersionPluginImpl sibling for general information about
the concept of development phases and about freezing the current phase.
After having frozen the current phase using Release and
PhaseSelectStaticVersionPluginImpl, SwitchToDynamicVersion and this plugin
are used to change the ArtifactVersion to that corresponding to the new phase
while keeping the same original dynamic Version. This is done in a deceptively
simple manner by simply returning that the current dynamic Version must be kept
and let SwitchToDynamicVersion simply proceed to ensure that the
ArtifactVersion is as determined by the ArtifactVersionMapperPlugin which is
expected to take into account the new phase.
If the current Version is not dynamic, it is expected to be the static Version
created when freezing the previous phase. In that case, the (existing) base
Version of that static Version is returned, which is expected to be the
development version for the project on which various static Version
corresponding to the phases are created.
- Author:
- David Raymond