BuildVersionRegistry Resolves build numbers to versions of JIRA. 
BuildVersionRegistry.BuildVersion Simple result object for representing the build number and version together. 
DowngradeTask Implement this to create a Downgrade Task. 
UpgradeConstraints Used by UpgradeManagerImpl to determine if upgrade task should be run and what target version number should be stored in database. 
UpgradeHistoryItem Simple representation of an upgrade performed in history. 


AbstractDowngradeTask Abstract DowngradeTask - takes care of providing DB access via OfBizDelegator or DbConnectionManager. 
BuildVersionImpl Simple implementation of BuildVersionRegistry.BuildVersion 
ConnectionKeeper This class is deprecated. since 7.0; only required during migration of 6.x HSQL installation to 7.x H2  
ConsistencyCheckImpl The consistency checker runs every time the web app is reloaded, and checks JIRA's consistency (duh ;))

At the moment it just looks to check that certain Listeners are loaded, but in the future it can check the consistency of data etc. 

DefaultBuildVersionRegistry Default implementation which looks up the known versions from the file 
DefaultUpgradeConstraints Allows to run every upgrade task (this needs to be fixed as it should only be allowed to run upgrade task up to current build number) and returns getApplicationBuildNumber() as a target database number. 
DelayedUpgradeJobRunner Job to run any delayed upgrade tasks. 
DowngradeReindexLauncher Fires a reindex if required by a downgrade task that ran previously 
DowngradeTaskFileParser Parses the downgrades.xml file. 
LegacyImmediateUpgradeTask Old upgrade tasks will extend this. 
LogEvent Event subclass that intercepts the setProgress(int) in order to provide some status to the log file (using log4j). 
PluginSystemLauncher Starts the JIRA plugins system with ALL available plugins 
PluginUpgradeLauncher Issues a JiraStartedEvent to launch the Jira Plugin upgrade task 
UpgradeLauncher Tests if an upgrade is necessary, and performs it. 
UpgradeManager.Status Status of the upgrade process  
UpgradeManagerParams Provides parameters required to perform JIRA upgrade. 
UpgradeTask.Status Track status of a task this session, if isTaskDone(String) returns true you don't need to do it again. 


ReindexRequirement Downgrade Tasks can use this to request a reindex after the downgrade is complete. 


DowngradeException Indicates an error that occured while trying to downgrade JIRA such that the downgrade cannot complete successfully. 
MissingDowngradeTaskException Indicates that the downgrade cannot proceed because at least one required Downgrade task is missing.