public IComponentName GetName(IDependencyProviderConfig config) { switch (config.Type) { case "Local": return(new ComponentName(GetFieldValue(DependencyProviderValidSettingName.ComponentName))); case "BuildResultJSON": case "BuildResult": return(new ComponentName( GetFieldValue(DependencyProviderValidSettingName.TeamProjectName), GetFieldValue(DependencyProviderValidSettingName.BuildDefinition))); case "FileShare": return(new ComponentName(GetFieldValue(DependencyProviderValidSettingName.ComponentName))); case "SourceControl": case "SourceControlCopy": return (new ComponentName(GetFieldValue(DependencyProviderValidSettingName.ServerRootPath))); case "BinaryRepository": return(new ComponentName(GetFieldValue(DependencyProviderValidSettingName.ComponentName))); case "Subversion": return(new ComponentName(GetFieldValue(DependencyProviderValidSettingName.SubversionRootPath))); default: throw new DependencyServiceException( string.Format( "Unsupported dependency type \"{0}\" found. Please check component {1}!", config.Type, Name)); } }
public ComponentType GetType(IDependencyProviderConfig config) { switch (config.Type) { case "Local": return(ComponentType.Local); case "BuildResultJSON": return(ComponentType.VNextBuildResult); case "BuildResult": return(ComponentType.BuildResult); case "FileShare": return(ComponentType.FileShare); case "SourceControl": return(ComponentType.SourceControl); case "SourceControlCopy": return(ComponentType.SourceControlCopy); case "BinaryRepository": return(ComponentType.BinaryRepository); case "Subversion": return(ComponentType.Subversion); default: throw new DependencyServiceException(string.Format("Unsupported dependency type \"{0}\" found. Please check component {1}!", config.Type, Name)); } }
/// <summary> /// Constructor which creates a new Component object with a name, version type and a list with predecessor and successor components. /// </summary> /// <param name="config">The deserialized config</param> public Component(IDependencyProviderConfig config) { if (config == null) { throw new InvalidComponentException("Component for dependency graph was initialized with an invalid component description (Config was null)"); } InitializeFieldsFromConfig(config); }
public IComponentVersion GetVersion(IDependencyProviderConfig config) { switch (config.Type) { case "Local": return(new ComponentVersion(GetFieldValue(DependencyProviderValidSettingName.VersionNumber))); case "BuildResultJSON": return(new ComponentVersion( buildNumber: GetFieldValue(DependencyProviderValidSettingName.BuildNumber), acceptedBuildStatus: GetBuildStatusOrQuality(DependencyProviderValidSettingName.BuildStatus), acceptedBuildQuality: null, acceptedBuildTags: GetBuildStatusOrQuality(DependencyProviderValidSettingName.BuildTags) )); case "BuildResult": return(new ComponentVersion( buildNumber: GetFieldValue(DependencyProviderValidSettingName.BuildNumber), acceptedBuildStatus: GetBuildStatusOrQuality(DependencyProviderValidSettingName.BuildStatus), acceptedBuildQuality: GetBuildStatusOrQuality(DependencyProviderValidSettingName.BuildQuality), acceptedBuildTags: null)); case "FileShare": return(new ComponentVersion(GetFieldValue(DependencyProviderValidSettingName.VersionNumber))); case "SourceControl": case "SourceControlCopy": var versionSpec = GetFieldValue(DependencyProviderValidSettingName.VersionSpec); if (string.IsNullOrWhiteSpace(versionSpec)) { // Version spec is not set probably because it is an already downloaded component versionSpec = string.Format( "W{0};{1}", GetFieldValue(DependencyProviderValidSettingName.WorkspaceName), GetFieldValue(DependencyProviderValidSettingName.WorkspaceOwner)); } var version = VersionSpec.Parse( versionSpec, GetFieldValue(DependencyProviderValidSettingName.WorkspaceOwner)). First(); return(new ComponentVersion(version)); case "BinaryRepository": return(new ComponentVersion(GetFieldValue(DependencyProviderValidSettingName.VersionNumber))); case "Subversion": return(new ComponentVersion(GetFieldValue(DependencyProviderValidSettingName.VersionSpec))); default: throw new DependencyServiceException( string.Format( "Unsupported dependency type \"{0}\" found. Please check component {1}!", config.Type, Name)); } }
private void InitializeFieldsFromConfig(IDependencyProviderConfig config) { _fields = new Dictionary <string, string>(StringComparer.InvariantCultureIgnoreCase); foreach (var setting in config.Settings.SettingsList) { _fields.Add(setting.Name.ToString(), setting.Value); } Name = GetName(config); Version = GetVersion(config); Type = GetType(config); }
/// <summary> /// Constructor which creates a new Component object with a name, version type and a list with predecessor and successor components. /// </summary> /// <param name="effectiveVersion">Effective version to override</param> /// <param name="config">The deserialized config</param> /// <param name="predecessors">List of predecessor components</param> /// <param name="successors">List of successor components</param> public Component(IComponentVersion effectiveVersion, IDependencyProviderConfig config, List <IDependency> predecessors, List <IDependency> successors) : this(config, predecessors, successors) { // Override version here Version = effectiveVersion; }
/// <summary> /// Constructor which creates a new Component object with a name, version type and a list with predecessor and successor components. /// </summary> /// <param name="config">The deserialized config</param> /// <param name="predecessors">List of predecessor components</param> /// <param name="successors">List of successor components</param> public Component(IDependencyProviderConfig config, List <IDependency> predecessors, List <IDependency> successors) : this(config) { _predecessors = predecessors; _successors = successors; }