Example #1
0
        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;
            }
        }
Example #2
0
        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);
        }
Example #3
0
        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);
            }
        }