Ejemplo n.º 1
0
            public static ChartData?FromNode(YamlMappingNode yamlNode)
            {
                var value = ((YamlScalarNode)yamlNode.Children[new YamlScalarNode("version")]).Value;

                if (value == null)
                {
                    return(null);
                }

                var version = SemVerFactory.TryCreateVersion(value);

                if (version == null)
                {
                    return(null);
                }

                if (yamlNode.Children.TryGetValue(new YamlScalarNode("deprecated"), out var deprecatedNode) &&
                    bool.TryParse(((YamlScalarNode)deprecatedNode).Value, out var isDeprecated) &&
                    isDeprecated)
                {
                    return(null);
                }

                return(new ChartData(yamlNode, version));
            }
Ejemplo n.º 2
0
        public static PackageFileNameMetadata FromFile(string path)
        {
            var fileName = Path.GetFileName(path) ?? "";

            if (!TryParseEncodedFileName(fileName, out var packageId, out var version, out var extension) &&
                !TryParseUnsafeFileName(fileName, out packageId, out version, out extension))
            {
                throw new Exception($"Unexpected file format in {fileName}.\nExpected Octopus cached file format: `<PackageId>{SectionDelimiter}<Version>{SectionDelimiter}<CacheBuster>.<Extension>` or `<PackageId>.<SemverVersion>.<Extension>`");
            }

            //TODO: Extract... Obviously _could_ be an issue for .net core
            if (extension.Equals(".nupkg", StringComparison.InvariantCultureIgnoreCase) && File.Exists(path))
            {
//                var metaData = new FileSystemNuGetPackage(path);
//                version = metaData.Version;
//                packageId = metaData.PackageId;
                var metaData = new LocalNuGetPackage(path).Metadata;
                version   = SemVerFactory.CreateVersion(metaData.Version.ToString());
                packageId = metaData.Id;
            }

            return(new PackageFileNameMetadata(packageId, version, extension));
        }
Ejemplo n.º 3
0
 public void GIVEN_a_three_part_version_WHEN_parsing_THEN_the_correct_version_is_created()
 {
     Assert.Equal(SemVerFactory.Create(1, 0, 0), "1.0.0".ParseSemVer());
 }
Ejemplo n.º 4
0
 public void GIVEN_a_version_with_prerelease_part_WHEN_parsing_THEN_the_correct_version_is_created()
 {
     Assert.Equal(SemVerFactory.Create(1, 0, 0, new Ident[] { new AlphaNumeric("beta") }), "1.0.0-beta".ParseSemVer());
 }
Ejemplo n.º 5
0
 public void GIVEN_a_version_with_prerelease_and_build_part_WHEN_parsing_THEN_the_correct_version_is_created()
 {
     Assert.Equal(SemVerFactory.Create(1, 0, 0, new Ident[] { new AlphaNumeric("alpha") }, new Ident[] { new Numeric(1) }), "1.0.0-alpha+001".ParseSemVer());
     Assert.Equal(SemVerFactory.Create(1, 0, 0, new Ident[] { new AlphaNumeric("alpha") }, new Ident[] { new Numeric(20130313144700) }), "1.0.0-alpha+20130313144700".ParseSemVer());
 }
Ejemplo n.º 6
0
 public void GIVEN_a_version_with_build_part_WHEN_parsing_THEN_the_correct_version_is_created()
 {
     Assert.Equal(SemVerFactory.Create(1, 0, 0, build: new Ident[] { new Numeric(1) }), "1.0.0+1".ParseSemVer());
     Assert.Equal(SemVerFactory.Create(1, 0, 0, build: new Ident[] { new Numeric(1) }), "1.0.0+01".ParseSemVer());
     Assert.Equal(SemVerFactory.Create(1, 0, 0, build: new Ident[] { new AlphaNumeric("exp"), new AlphaNumeric("sha"), new Numeric(0x5114f85) }), "1.0.0+exp.sha.5114f85".ParseSemVer());
 }