Beispiel #1
0
        private async Task DownloadProjectPackage()
        {
            var packageRequest = new ProjectPackagePullRequest {
                ProjectPackageId      = ProjectPackageId,
                ProjectPackageVersion = ProjectPackageVersion,
            };

            ProjectPackagePullResponse packageResponse;

            try {
                packageResponse = await Transceiver.Send(packageRequest)
                                  .GetResponseAsync <ProjectPackagePullResponse>();
            }
            catch (Exception error) {
                throw new ApplicationException($"Failed to download package '{ProjectPackageId}.{ProjectPackageVersion}'! {error.Message}");
            }

            try {
                Metadata = await ProjectPackageTools.UnpackAsync(packageResponse.Filename, BinDirectory);

                AssemblyFilename = Path.Combine(BinDirectory, Metadata.AssemblyFilename);
            }
            finally {
                try {
                    File.Delete(packageResponse.Filename);
                }
                catch (Exception error) {
                    Log.Warn("Failed to remove temporary package file!", error);
                }
            }
        }
Beispiel #2
0
        public override async Task PrepareWorkDirectoryAsync()
        {
            await base.PrepareWorkDirectoryAsync();

            var metadata = await ProjectPackageTools.UnpackAsync(ProjectPackageFilename, BinDirectory);

            AssemblyFilename = metadata.AssemblyFilename;
            ScriptName       = metadata.ScriptName;
        }