private void Update()
        {
            var projectConfigurations = this.GetProjectConfigurations().ToArray();

            _internalSpecificProjectConfigurations.SynchronizeWith(projectConfigurations);

            DefaultProjectConfiguration.SetProjectFile(ProjectFile);

            _internalSpecificProjectConfigurations.ForEach(config => config?.SetProjectFile(ProjectFile));

            InvalidateState();
        }
Beispiel #2
0
        public async Task <string> TransferProjectToOssAsync(OssBucket bucket, DefaultProjectConfiguration projectConfig)
        {
            _logger.LogInformation($"Bucket {bucket.BucketKey} created");

            var projectUrl = projectConfig.Url;
            var project    = await _userResolver.GetProjectAsync(projectConfig.Name);

            _logger.LogInformation($"Launching 'TransferData' for {projectUrl}");

            // OSS bucket might be not ready yet, so repeat attempts
            string signedUrl = await _waitForBucketPolicy.ExecuteAsync(async() =>
                                                                       await bucket.CreateSignedUrlAsync(project.OSSSourceModel, ObjectAccess.ReadWrite));

            // TransferData from outside URL to temporary oss url
            await _projectWork.FileTransferAsync(projectUrl, signedUrl);

            _logger.LogInformation($"'TransferData' for {projectUrl} is done.");

            return(signedUrl);
        }