Browse Source

add dependency map

pull/1613/head
Phill Morton 3 years ago
parent
commit
d4f906075f
  1. 2
      src/Microsoft.Tye.Core/ConfigModel/ConfigService.cs
  2. 2
      src/Microsoft.Tye.Core/DockerCompose/DockerComposeParser.cs
  3. 16
      src/Microsoft.Tye.Core/Serialization/ConfigServiceParser.cs

2
src/Microsoft.Tye.Core/ConfigModel/ConfigService.cs

@ -46,5 +46,7 @@ namespace Microsoft.Tye.ConfigModel
public string? Version { get; set; }
public string? Architecture { get; set; }
public string? CloneDirectory { get; internal set; }
public List<string> DependsOn { get; set; } = new List<string>();
}
}

2
src/Microsoft.Tye.Core/DockerCompose/DockerComposeParser.cs

@ -273,6 +273,8 @@ namespace Tye.DockerCompose
break;
case "tty":
break;
case "dependsOn":
break;
default:
throw new TyeYamlException(child.Key.Start, CoreStrings.FormatUnrecognizedKey(key));
}

16
src/Microsoft.Tye.Core/Serialization/ConfigServiceParser.cs

@ -164,6 +164,13 @@ namespace Tye.Serialization
case "cloneDirectory":
service.CloneDirectory = YamlParser.GetScalarValue(key, child.Value);
break;
case "dependsOn":
if (child.Value.NodeType != YamlNodeType.Sequence)
{
throw new TyeYamlException(child.Value.Start, CoreStrings.FormatExpectedYamlSequence(key));
}
HandleDependencies((child.Value as YamlSequenceNode)!, service.DependsOn);
break;
default:
throw new TyeYamlException(child.Key.Start, CoreStrings.FormatUnrecognizedKey(key));
}
@ -578,6 +585,15 @@ namespace Tye.Serialization
tags.Add(tag);
}
}
private static void HandleDependencies(YamlSequenceNode yamlSequenceNode, List<string> dependencies)
{
foreach (var child in yamlSequenceNode!.Children)
{
var dependsOn = YamlParser.GetScalarValue(child);
dependencies.Add(dependsOn);
}
}
private static void HandleServiceBindingRoutes(YamlSequenceNode yamlSequenceNode, List<string> routes)
{

Loading…
Cancel
Save