Пример #1
0
        public static BuildTargetResult DownloadHostAndSharedFxInstallers(BuildTargetContext c)
        {
            var sharedFrameworkVersion = DependencyVersions.SharedFrameworkVersion;
            var hostVersion            = DependencyVersions.SharedHostVersion;

            var sharedFrameworkChannel = DependencyVersions.SharedFrameworkChannel;
            var sharedHostChannel      = DependencyVersions.SharedHostChannel;

            var sharedFrameworkInstallerDownloadFile = Path.Combine(Dirs.CoreSetupDownload, "sharedFrameworkInstaller");
            var sharedHostInstallerDownloadFile      = Path.Combine(Dirs.CoreSetupDownload, "sharedHostInstaller");

            Mkdirp(Path.GetDirectoryName(sharedFrameworkInstallerDownloadFile));
            Mkdirp(Path.GetDirectoryName(sharedHostInstallerDownloadFile));

            if (!File.Exists(sharedFrameworkInstallerDownloadFile))
            {
                var sharedFrameworkInstallerDestinationFile = c.BuildContext.Get <string>("SharedFrameworkInstallerFile");
                Mkdirp(Path.GetDirectoryName(sharedFrameworkInstallerDestinationFile));

                AzurePublisher.DownloadFile(
                    AzurePublisher.CalculateInstallerBlob(
                        sharedFrameworkInstallerDestinationFile,
                        sharedFrameworkChannel,
                        sharedFrameworkVersion),
                    sharedFrameworkInstallerDownloadFile).Wait();

                File.Copy(sharedFrameworkInstallerDownloadFile, sharedFrameworkInstallerDestinationFile, true);
            }

            if (!File.Exists(sharedHostInstallerDownloadFile))
            {
                var sharedHostInstallerDestinationFile = c.BuildContext.Get <string>("SharedHostInstallerFile");
                Mkdirp(Path.GetDirectoryName(sharedHostInstallerDestinationFile));

                AzurePublisher.DownloadFile(
                    AzurePublisher.CalculateInstallerBlob(
                        sharedHostInstallerDestinationFile,
                        sharedHostChannel,
                        hostVersion),
                    sharedHostInstallerDownloadFile).Wait();

                File.Copy(sharedHostInstallerDownloadFile, sharedHostInstallerDestinationFile, true);
            }

            return(c.Success());
        }
Пример #2
0
        public static BuildTargetResult DownloadHostAndSharedFxArchives(BuildTargetContext c)
        {
            var sharedFrameworkVersion = CliDependencyVersions.SharedFrameworkVersion;
            var sharedFrameworkChannel = CliDependencyVersions.SharedFrameworkChannel;

            var combinedSharedHostAndFrameworkArchiveDownloadFile =
                Path.Combine(CliDirs.CoreSetupDownload, "combinedSharedHostAndFrameworkArchive");

            Mkdirp(Path.GetDirectoryName(combinedSharedHostAndFrameworkArchiveDownloadFile));

            if (!File.Exists(combinedSharedHostAndFrameworkArchiveDownloadFile))
            {
                // Needed for computing the blob path
                var combinedSharedHostAndFrameworkArchiveBuildContextFile =
                    c.BuildContext.Get <string>("CombinedFrameworkHostCompressedFile");

                AzurePublisher.DownloadFile(
                    CalculateArchiveBlob(
                        combinedSharedHostAndFrameworkArchiveBuildContextFile,
                        sharedFrameworkChannel,
                        sharedFrameworkVersion),
                    combinedSharedHostAndFrameworkArchiveDownloadFile).Wait();


                // Unpack the combined archive to shared framework publish directory
                Rmdir(Dirs.SharedFrameworkPublish);
                Mkdirp(Dirs.SharedFrameworkPublish);
                if (CurrentPlatform.IsWindows)
                {
                    ZipFile.ExtractToDirectory(combinedSharedHostAndFrameworkArchiveDownloadFile, Dirs.SharedFrameworkPublish);
                }
                else
                {
                    Exec("tar", "xf", combinedSharedHostAndFrameworkArchiveDownloadFile, "-C", Dirs.SharedFrameworkPublish);
                }
            }

            return(c.Success());
        }