Exemple #1
0
        public static ReleasePackage GetPreviousRelease(IEnumerable <ReleaseEntry> releaseEntries, IReleasePackage package, string targetDir, string prevReleasePath = null, IFullLogger log = null)
        {
            {
                if (releaseEntries == null || !releaseEntries.Any())
                {
                    return(null);
                }
                var first = releaseEntries
                            .Where(x => x.IsDelta == false).Where(x => x.IsDelta == false)
                            .Where(x => x.Version < package.ToSemanticVersion()).Where(x => x.Version < package.ToSemanticVersion())
                            .OrderByDescending(x => x.Version).OrderByDescending(x => x.Version)
                            .Select(x => new ReleasePackage(Path.Combine(targetDir, x.Filename), true))
                            .FirstOrDefault();

                if (first != null)
                {
                    var prevReleaseFilePath = Path.Combine(targetDir, first.SuggestedReleaseFileName);
                    if (!File.Exists(prevReleaseFilePath) && !string.IsNullOrEmpty(prevReleasePath))
                    {
                        IFileDownloader downloader;
                        if (Utility.IsHttpUrl(prevReleasePath))
                        {
                            downloader = new FileDownloader();
                        }
                        else if (Utility.IsFtpUrl(prevReleasePath))
                        {
                            downloader = new FtpFileDownloader();
                        }
                        else
                        {
                            return(null);
                        }

                        try
                        {
                            downloader.DownloadFile(Path.Combine(prevReleasePath, first.SuggestedReleaseFileName), prevReleaseFilePath, null);
                        }
                        catch (Exception)
                        {
                            return(null);
                        }
                    }

                    if (File.Exists(prevReleaseFilePath))
                    {
                        return(new ReleasePackage(prevReleaseFilePath, true));
                    }
                }

                return(null);
            }
        }
        public static ReleasePackage GetPreviousRelease(IEnumerable<ReleaseEntry> releaseEntries, IReleasePackage package, string targetDir)
        {
            if (releaseEntries == null || !releaseEntries.Any()) return null;

            return releaseEntries
                .Where(x => x.IsDelta == false)
                .Where(x => x.Version < package.ToVersion())
                .OrderByDescending(x => x.Version)
                .Select(x => new ReleasePackage(Path.Combine(targetDir, x.Filename), true))
                .FirstOrDefault();
        }
        public static ReleasePackage GetPreviousRelease(IEnumerable <ReleaseEntry> releaseEntries, IReleasePackage package, string targetDir)
        {
            if (releaseEntries == null || !releaseEntries.Any())
            {
                return(null);
            }

            return(releaseEntries
                   .Where(x => x.IsDelta == false)
                   .Where(x => x.Version < package.ToSemanticVersion())
                   .OrderByDescending(x => x.Version)
                   .Select(x => new ReleasePackage(Path.Combine(targetDir, x.Filename), true))
                   .FirstOrDefault());
        }
Exemple #4
0
 public static SemanticVersion ToSemanticVersion(this IReleasePackage package)
 {
     return(package.InputPackageFile.ToSemanticVersion());
 }
Exemple #5
0
 public static SemanticVersion ToSemanticVersion(this IReleasePackage package) =>
 package.InputPackageFile.ToSemanticVersion();
Exemple #6
0
 public static ReleasePackage GetPreviousRelease(IEnumerable <ReleaseEntry> releaseEntries, IReleasePackage package, string targetDir) =>
 (((releaseEntries == null) || !releaseEntries.Any <ReleaseEntry>()) ? null : (from x in releaseEntries
                                                                                   where !x.IsDelta
                                                                                   where x.Version < package.ToSemanticVersion()
                                                                               orderby x.Version descending
                                                                               select new ReleasePackage(Path.Combine(targetDir, x.Filename), true)).FirstOrDefault <ReleasePackage>());