Skip to content

Commit

Permalink
Merge pull request #32 from microsoft/users/semurdoc/enableFPP
Browse files Browse the repository at this point in the history
Users/semurdoc/enable fpp
  • Loading branch information
Seann-Murdock authored Dec 12, 2023
2 parents 35a2e31 + e91a519 commit 9dc6220
Show file tree
Hide file tree
Showing 7 changed files with 16 additions and 12 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ protected override async Task ProcessAsync(CancellationToken ct)
var marketGroupPackage = await _storeBrokerService.GetGameMarketGroupPackage(product, packageBranch, _config, ct).ConfigureAwait(false);

const bool delta = false; // Unfortunately UWP cannot and never will support delta upload.
var gamePackage = await _storeBrokerService.UploadGamePackageAsync(product, packageBranch, marketGroupPackage, _config.PackageFilePath, null, _config.MinutesToWaitForProcessing, delta, ct).ConfigureAwait(false);
var gamePackage = await _storeBrokerService.UploadGamePackageAsync(product, packageBranch, marketGroupPackage, _config.PackageFilePath, null, _config.MinutesToWaitForProcessing, delta, isXvc: false, ct).ConfigureAwait(false);
_logger.LogInformation("Uploaded package with id: {gamePackageId}", gamePackage.Id);

if (_config.AvailabilityDate is not null || _config.MandatoryDate is not null || _config.GradualRollout is not null)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ protected override async Task ProcessAsync(CancellationToken ct)
var packageBranch = await _storeBrokerService.GetGamePackageBranch(product, _config, ct).ConfigureAwait(false);
var marketGroupPackage = await _storeBrokerService.GetGameMarketGroupPackage(product, packageBranch, _config, ct).ConfigureAwait(false);

var gamePackage = await _storeBrokerService.UploadGamePackageAsync(product, packageBranch, marketGroupPackage, _config.PackageFilePath, _config.GameAssets, _config.MinutesToWaitForProcessing, _config.DeltaUpload, ct).ConfigureAwait(false);
var gamePackage = await _storeBrokerService.UploadGamePackageAsync(product, packageBranch, marketGroupPackage, _config.PackageFilePath, _config.GameAssets, _config.MinutesToWaitForProcessing, _config.DeltaUpload, isXvc: true, ct).ConfigureAwait(false);
_logger.LogInformation("Uploaded package with id: {gamePackageId}", gamePackage.Id);

if (_config.AvailabilityDate is not null)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,13 +15,13 @@ internal class IngestionPackageCreationRequestBuilder : IBuilder<IngestionPackag
private readonly ClientExtractedMetaData _clientExtractedMetaData;
private const string ResourceType = "PackageCreationRequest";

public IngestionPackageCreationRequestBuilder(string currentDraftInstanceId, string fileName, string marketGroupId, bool deltaUpload, XvcTargetPlatform xvcTargetPlatform)
public IngestionPackageCreationRequestBuilder(string currentDraftInstanceId, string fileName, string marketGroupId, bool ixXvc, XvcTargetPlatform xvcTargetPlatform)
{
_currentDraftInstanceId = currentDraftInstanceId ?? throw new ArgumentNullException(nameof(currentDraftInstanceId));
_fileName = fileName ?? throw new ArgumentNullException(nameof(fileName));
_marketGroupId = marketGroupId ?? throw new ArgumentNullException(nameof(marketGroupId));

if (deltaUpload)
if (ixXvc)
{
_clientExtractedMetaData = CreateClientExtractedMetaData(xvcTargetPlatform);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ public interface IIngestionHttpClient
Task<GameProduct> GetGameProductByBigIdAsync(string bigId, CancellationToken ct);
Task<GamePackageBranch> GetPackageBranchByFriendlyNameAsync(string productId, string branchFriendlyName, CancellationToken ct);
Task<GamePackageFlight> GetPackageFlightByFlightNameAsync(string productId, string flightName, CancellationToken ct);
Task<GamePackage> CreatePackageRequestAsync(string productId, string currentDraftInstanceId, string fileName, string marketGroupId, bool deltaUpload, XvcTargetPlatform xvcTargetPlatform, CancellationToken ct);
Task<GamePackage> CreatePackageRequestAsync(string productId, string currentDraftInstanceId, string fileName, string marketGroupId, bool isXvc, XvcTargetPlatform xvcTargetPlatform, CancellationToken ct);
Task<GamePackage> GetPackageByIdAsync(string productId, string packageId, CancellationToken ct);
Task<GamePackageAsset> CreatePackageAssetRequestAsync(string productId, string packageId, FileInfo fileInfo, GamePackageAssetType packageAssetType, CancellationToken ct);
Task<GamePackage> ProcessPackageRequestAsync(string productId, GamePackage gamePackage, CancellationToken ct);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -99,14 +99,14 @@ public async Task<GamePackageFlight> GetPackageFlightByFlightNameAsync(string pr
return selectedFlight.Map(branch);
}

public async Task<GamePackage> CreatePackageRequestAsync(string productId, string currentDraftInstanceId, string fileName, string marketGroupId, bool deltaUpload, XvcTargetPlatform xvcTargetPlatform, CancellationToken ct)
public async Task<GamePackage> CreatePackageRequestAsync(string productId, string currentDraftInstanceId, string fileName, string marketGroupId, bool isXvc, XvcTargetPlatform xvcTargetPlatform, CancellationToken ct)
{
StringArgumentException.ThrowIfNullOrWhiteSpace(productId);
StringArgumentException.ThrowIfNullOrWhiteSpace(currentDraftInstanceId);
StringArgumentException.ThrowIfNullOrWhiteSpace(fileName);
StringArgumentException.ThrowIfNullOrWhiteSpace(marketGroupId);

var body = new IngestionPackageCreationRequestBuilder(currentDraftInstanceId, fileName, marketGroupId, deltaUpload, xvcTargetPlatform).Build();
var body = new IngestionPackageCreationRequestBuilder(currentDraftInstanceId, fileName, marketGroupId, isXvc, xvcTargetPlatform).Build();

var ingestionGamePackage = await PostAsync<IngestionPackageCreationRequest, IngestionGamePackage>($"products/{productId}/packages", body, ct).ConfigureAwait(false);

Expand Down
2 changes: 1 addition & 1 deletion src/PackageUploader.ClientApi/IPackageUploaderService.cs
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ public interface IPackageUploaderService
Task<GamePackageConfiguration> GetPackageConfigurationAsync(GameProduct product, IGamePackageBranch packageBranch, CancellationToken ct);
IAsyncEnumerable<GamePackage> GetGamePackagesAsync(GameProduct product, IGamePackageBranch packageBranch, string marketGroupName, CancellationToken ct);
Task<GamePackageConfiguration> UpdatePackageConfigurationAsync(GameProduct product, GamePackageConfiguration packageConfiguration, CancellationToken ct);
Task<GamePackage> UploadGamePackageAsync(GameProduct product, IGamePackageBranch packageBranch, GameMarketGroupPackage marketGroupPackage, string packageFilePath, GameAssets gameAssets, int minutesToWaitForProcessing, bool deltaUpload, CancellationToken ct);
Task<GamePackage> UploadGamePackageAsync(GameProduct product, IGamePackageBranch packageBranch, GameMarketGroupPackage marketGroupPackage, string packageFilePath, GameAssets gameAssets, int minutesToWaitForProcessing, bool deltaUpload, bool isXvc, CancellationToken ct);
Task<GamePackageConfiguration> RemovePackagesAsync(GameProduct product, IGamePackageBranch packageBranch, string marketGroupName, string packageFileName, CancellationToken ct);
Task<GamePackageConfiguration> SetXvcAvailabilityDateAsync(GameProduct product, IGamePackageBranch packageBranch, GamePackage gamePackage, string marketGroupName, GamePackageDate availabilityDate, CancellationToken ct);
Task<GamePackageConfiguration> SetUwpConfigurationAsync(GameProduct product, IGamePackageBranch packageBranch, string marketGroupId, IGameConfiguration gameConfiguration, CancellationToken ct);
Expand Down
12 changes: 8 additions & 4 deletions src/PackageUploader.ClientApi/PackageUploaderService.cs
Original file line number Diff line number Diff line change
Expand Up @@ -144,7 +144,7 @@ public async IAsyncEnumerable<GamePackage> GetGamePackagesAsync(GameProduct prod
}
}

public async Task<GamePackage> UploadGamePackageAsync(GameProduct product, IGamePackageBranch packageBranch, GameMarketGroupPackage marketGroupPackage, string packageFilePath, GameAssets gameAssets, int minutesToWaitForProcessing, bool deltaUpload, CancellationToken ct)
public async Task<GamePackage> UploadGamePackageAsync(GameProduct product, IGamePackageBranch packageBranch, GameMarketGroupPackage marketGroupPackage, string packageFilePath, GameAssets gameAssets, int minutesToWaitForProcessing, bool deltaUpload, bool isXvc, CancellationToken ct)
{
ArgumentNullException.ThrowIfNull(product);
ArgumentNullException.ThrowIfNull(packageBranch);
Expand All @@ -157,10 +157,15 @@ public async Task<GamePackage> UploadGamePackageAsync(GameProduct product, IGame
throw new FileNotFoundException("Package file not found.", packageFile.FullName);
}

var xvcTargetPlatform = deltaUpload ? ReadXvcTargetPlatformFromMetaData(packageFile) : XvcTargetPlatform.NotSpecified;
var xvcTargetPlatform = isXvc ? ReadXvcTargetPlatformFromMetaData(packageFile) : XvcTargetPlatform.NotSpecified;

_logger.LogDebug("Creating game package for file '{fileName}', product id '{productId}' and draft id '{currentDraftInstanceID}'.", packageFile.Name, product.ProductId, packageBranch.CurrentDraftInstanceId);
var package = await _ingestionHttpClient.CreatePackageRequestAsync(product.ProductId, packageBranch.CurrentDraftInstanceId, packageFile.Name, marketGroupPackage.MarketGroupId, deltaUpload, xvcTargetPlatform, ct).ConfigureAwait(false);
var package = await _ingestionHttpClient.CreatePackageRequestAsync(product.ProductId, packageBranch.CurrentDraftInstanceId, packageFile.Name, marketGroupPackage.MarketGroupId, isXvc, xvcTargetPlatform, ct).ConfigureAwait(false);

if (gameAssets is not null)
{
await UploadAssetAsync(product, package, gameAssets.EkbFilePath, GamePackageAssetType.EkbFile, ct).ConfigureAwait(false);
}

_logger.LogDebug("Uploading file '{fileName}'.", packageFile.Name);
await _xfusUploader.UploadFileToXfusAsync(packageFile, package.UploadInfo, deltaUpload, ct).ConfigureAwait(false);
Expand All @@ -173,7 +178,6 @@ public async Task<GamePackage> UploadGamePackageAsync(GameProduct product, IGame

if (gameAssets is not null)
{
await UploadAssetAsync(product, package, gameAssets.EkbFilePath, GamePackageAssetType.EkbFile, ct).ConfigureAwait(false);
await UploadAssetAsync(product, package, gameAssets.SymbolsFilePath, GamePackageAssetType.SymbolsZip, ct).ConfigureAwait(false);
await UploadAssetAsync(product, package, gameAssets.SubValFilePath, GamePackageAssetType.SubmissionValidatorLog, ct).ConfigureAwait(false);
await UploadAssetAsync(product, package, gameAssets.DiscLayoutFilePath, GamePackageAssetType.DiscLayoutFile, ct).ConfigureAwait(false);
Expand Down

0 comments on commit 9dc6220

Please sign in to comment.