Exemplo n.º 1
0
        public static RosPackageInfo Create(RosPackageFolder packageFolder)
        {
            var packageXmlPath = Path.Combine(packageFolder.Path, "package.xml");

            if (!File.Exists(packageXmlPath))
            {
                throw new FileNotFoundException($"File package.xml ({packageXmlPath}) not found.");
            }

            var package = PackageXmlReader.ReadPackageXml(packageXmlPath);

            var authors = package.Maintainers
                          .Union(package.Authors)
                          .Distinct()
                          .Select(x => x.ToString())
                          .ToList();

            var projectUrl    = package.Urls?.FirstOrDefault(x => x.Type == PackageUrlType.Website)?.Url;
            var repositoryUrl = package.Urls?.FirstOrDefault(x => x.Type == PackageUrlType.Repository)?.Url;

            var packageDirectory = new DirectoryInfo(packageFolder.Path);

            return(new RosPackageInfo(packageDirectory,
                                      package.Name,
                                      package.Version,
                                      package.PackageDependencies,
                                      package.IsMetaPackage,
                                      package.Description,
                                      authors,
                                      projectUrl,
                                      repositoryUrl,
                                      packageFolder.BuildStrategy == RosPackageFolder.BuildType.Optional));
        }
Exemplo n.º 2
0
        public void Can_determin_package_xml_version(string filename, int expectedPackageXmlVersion)
        {
            var version = PackageXmlReader.GetFormatVersion(filename);

            switch (version)
            {
            case 1:
                var v1Package = PackageXmlReader.ReadV1PackageXml(filename);
                break;

            case 2:
                var v2Package = PackageXmlReader.ReadV2PackageXml(filename);
                break;

            case 3:
                var v3Package = PackageXmlReader.ReadV3PackageXml(filename);
                break;

            default:
                throw new NotSupportedException();
            }


            version.Should().Be(expectedPackageXmlVersion);
        }
        public void CanReadDescriptionFromPackageXml(string packageXmlFile, string expectedDescription)
        {
            var package = PackageXmlReader.ReadPackageXml(packageXmlFile);

            package.Should().NotBeNull();
            package.Description.Should().StartWith(expectedDescription);
        }
        public void CanReadVersionFromPackageXml(string packageXmlFile, string expectedVersion)
        {
            var package = PackageXmlReader.ReadPackageXml(packageXmlFile);

            package.Should().NotBeNull();
            package.Version.Should().Be(expectedVersion);
        }
        public void CanReadNameFromPackageXml(string packageXmlFile, string expectedName)
        {
            var package = PackageXmlReader.ReadPackageXml(packageXmlFile);

            package.Should().NotBeNull();
            package.Name.Should().Be(expectedName);
        }
Exemplo n.º 6
0
        public void CanDeserializeV1PackageXmlFile(string filename, string expePackageName, string expectedVersion)
        {
            var package = PackageXmlReader.ReadV1PackageXml(filename);

            package.Should().NotBeNull();
            package.name.Should().Equals(expePackageName);
            package.version.Should().Equals(expectedVersion);
        }
        public void PackageCanHaveAuthors()
        {
            var package = PackageXmlReader.ReadPackageXml("PackageXmlFiles/v1.package.xml");

            package.Authors.Count().Should().Be(1);
            package.Authors.First().Name.Should().Be("Stuart Glaser");
            package.Authors.First().Email.Should().Be("*****@*****.**");
        }
        public void PackageHasAMaintainer(string packageXmlFile, string expectedName, string expectedEmail)
        {
            var package = PackageXmlReader.ReadPackageXml(packageXmlFile);

            package.Should().NotBeNull();
            package.Maintainers.Count().Should().Be(1);
            package.Maintainers.First().Name.Should().Be(expectedName);
            package.Maintainers.First().Email.Should().Be(expectedEmail);
        }
Exemplo n.º 9
0
        public void Parsed_v1_package_xml_contains_package_dependencies(string filename, string expectedDependency)
        {
            var package = PackageXmlReader.ReadV1PackageXml(filename);

            package.Should().NotBeNull();

            package.Items.Should().NotBeNull();
            package.Items.Should().NotBeEmpty();

            package.Items.Select(x => x.Value).Should().Contain(expectedDependency);
        }
        public void PackageHasDependency(string packageXmlFile, string expectedDependency)
        {
            var package = PackageXmlReader.ReadPackageXml(packageXmlFile);

            package.PackageDependencies.Should().Contain(expectedDependency);
        }
        public void PackageCanBeMetaPackage(string file, bool isMetaPackage)
        {
            var package = PackageXmlReader.ReadPackageXml(file);

            package.IsMetaPackage.Should().Be(isMetaPackage);
        }
        public void PackageCanHaveNoAuthors()
        {
            var package = PackageXmlReader.ReadPackageXml("PackageXmlFiles/v2.package.xml");

            package.Authors.Should().BeEmpty();
        }
        public void PackageHasLicense(string packageXmlFile, string expectedLicense)
        {
            var package = PackageXmlReader.ReadPackageXml(packageXmlFile);

            package.License.Should().Contain(expectedLicense);
        }