in src/AWS.Deploy.Orchestration/CDK/CDKVersionDetector.cs [38:76]
public Version Detect(string csprojPath)
{
var content = File.ReadAllText(csprojPath);
var document = XDocument.Parse(content);
var cdkVersion = Constants.CDK.DefaultCDKVersion;
foreach (var node in document.DescendantNodes())
{
if (node is not XElement element || element.Name.ToString() != "PackageReference")
{
continue;
}
var includeAttribute = element.Attribute("Include");
if (includeAttribute == null)
{
continue;
}
if (!includeAttribute.Value.Equals(AMAZON_CDK_PACKAGE_REFERENCE_PREFIX) && !includeAttribute.Value.StartsWith($"{AMAZON_CDK_PACKAGE_REFERENCE_PREFIX}."))
{
continue;
}
var versionAttribute = element.Attribute("Version");
if (versionAttribute == null)
{
continue;
}
var version = new Version(versionAttribute.Value);
if (version > cdkVersion)
{
cdkVersion = version;
}
}
return cdkVersion;
}