AMP dependency checking on the tool side.

This is work in progress and the repo is not currently double checking the runtime dependencies.

To declare a dependency, add the following to your module.properties:
   module.depends.ABC=ABCfromVersion - ABCtoVersion
Wildcard * can be used in place of fromVersion or toVersion, as well as just a single version.
The most common usage will be:
   module.depends.ABC=1.0-*
i.e. this module depends on ABC version 1.0 or later being present.


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@5601 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Derek Hulley
2007-05-02 20:28:20 +00:00
parent a6531ab4de
commit 8307ba5ba9
9 changed files with 430 additions and 87 deletions

View File

@@ -24,6 +24,7 @@
*/
package org.alfresco.service.cmr.module;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
import java.util.Properties;
@@ -36,7 +37,7 @@ import org.alfresco.util.VersionNumber;
* @author Roy Wetherall
* @since 2.0
*/
public interface ModuleDetails
public interface ModuleDetails extends Serializable
{
static final String PROP_ID = "module.id";
static final String PROP_ALIASES = "module.aliases";
@@ -45,6 +46,7 @@ public interface ModuleDetails
static final String PROP_DESCRIPTION = "module.description";
static final String PROP_REPO_VERSION_MIN = "module.repo.version.min";
static final String PROP_REPO_VERSION_MAX = "module.repo.version.max";
static final String PROP_DEPENDS_PREFIX = "module.depends.";
static final String PROP_INSTALL_DATE = "module.installDate";
static final String PROP_INSTALL_STATE = "module.installState";
@@ -110,6 +112,11 @@ public interface ModuleDetails
*/
void setRepoVersionMax(VersionNumber repoVersionMax);
/**
* @return Returns a list of module dependencies that must be present for this module
*/
List<ModuleDependency> getDependencies();
/**
* Get the modules install date
*