static void AddDevDependencyToDoc(YamlDocument doc, DartProjectDependency dependency, bool forceUpdate = false) { YamlMappingNode devDependencies = doc.GetMappingNode(new[] { _devDependeciesYaml }); if (devDependencies == null) { throw new DartProjectException($"Dart project error: missing '{_devDependeciesYaml}' section !!!", DartProjectError.PubspecInvalidFormat); } var dependecyNode = dependency.ToYamlNode(); if (devDependencies.Children.ContainsKey(dependecyNode.Key) == false || forceUpdate) { devDependencies.Children[dependecyNode.Key] = dependecyNode.Value; } }
static List <DartProjectDependency> GetDevDependencies(YamlDocument doc) { YamlMappingNode dependencies = doc.GetMappingNode(new[] { _devDependeciesYaml }); if (dependencies == null) { throw new DartProjectException($"Dart project error: missing '{_devDependeciesYaml}' section !!!", DartProjectError.PubspecInvalidFormat); } List <DartProjectDependency> dartDependencies = new List <DartProjectDependency>(); foreach (KeyValuePair <YamlNode, YamlNode> dependency in dependencies) { DartProjectDependency d = DartProjectDependencyExtension.FromYamlNode(dependency); if (d != null) { dartDependencies.Add(d); } } return(dartDependencies); }
static void CheckPubspecDocument(YamlDocument doc, DartProjectType type) { // Exists "name" YamlScalarNode name = doc.GetScalarNode(new[] { _nameYaml }); if (name == null) { throw new DartProjectException($"Dart project error: missing '{_nameYaml}' !!!", DartProjectError.PubspecInvalidFormat); } // Exists "description" YamlScalarNode description = doc.GetScalarNode(new[] { _descriptionYaml }); if (description == null) { throw new DartProjectException($"Dart project error: missing '{_descriptionYaml}' !!!", DartProjectError.PubspecInvalidFormat); } // Exists "author" YamlScalarNode author = doc.GetScalarNode(new[] { _authorYaml }); if (author == null && type == DartProjectType.Package) { throw new DartProjectException($"Dart project error: missing '{_authorYaml}' !!!", DartProjectError.PubspecInvalidFormat); } // Exists "homepage" YamlScalarNode homepage = doc.GetScalarNode(new[] { _homepageYaml }); if (homepage == null && type == DartProjectType.Package) { throw new DartProjectException($"Dart project error: missing '{_homepageYaml}' !!!", DartProjectError.PubspecInvalidFormat); } // Exists "version" YamlScalarNode version = doc.GetScalarNode(new[] { _versionYaml }); if (version == null) { throw new DartProjectException($"Dart project error: missing '{_versionYaml}' !!!", DartProjectError.PubspecInvalidFormat); } // Exists "dependencies" YamlMappingNode dependencies = doc.GetMappingNode(new[] { _dependeciesYaml }); if (dependencies == null) { throw new DartProjectException($"Dart project error: missing '{_dependeciesYaml}' section !!!", DartProjectError.PubspecInvalidFormat); } // Exists "dev_dependencies" YamlMappingNode devDependencies = doc.GetMappingNode(new[] { _devDependeciesYaml }); if (devDependencies == null) { throw new DartProjectException($"Dart project error: missing '{_devDependeciesYaml}' section !!!", DartProjectError.PubspecInvalidFormat); } // Exists "environment" YamlMappingNode environment = doc.GetMappingNode(new[] { _environmentYaml }); if (environment == null) { throw new DartProjectException($"Dart project error: missing '{_environmentYaml}' section !!!", DartProjectError.PubspecInvalidFormat); } // Exists "sdk" YamlScalarNode sdk = doc.GetScalarNode(new[] { _environmentYaml, _sdkYaml }); if (sdk == null) { throw new DartProjectException($"Dart project error: missing '{_sdkYaml}' section !!!", DartProjectError.PubspecInvalidFormat); } }