diff --git a/.config/dotnet-tools.json b/.config/dotnet-tools.json
index 76c258146e..5aeeab1ae6 100644
--- a/.config/dotnet-tools.json
+++ b/.config/dotnet-tools.json
@@ -3,7 +3,7 @@
"isRoot": true,
"tools": {
"microsoft.dnceng.secretmanager": {
- "version": "1.1.0-beta.24562.1",
+ "version": "1.1.0-beta.24605.8",
"commands": [
"secret-manager"
]
@@ -15,7 +15,7 @@
]
},
"microsoft.dnceng.configuration.bootstrap": {
- "version": "1.1.0-beta.24562.1",
+ "version": "1.1.0-beta.24605.8",
"commands": [
"bootstrap-dnceng-configuration"
]
diff --git a/Directory.Packages.props b/Directory.Packages.props
index 5e2dc4038f..64c507e795 100644
--- a/Directory.Packages.props
+++ b/Directory.Packages.props
@@ -97,6 +97,7 @@
+
@@ -155,6 +156,7 @@
https://dnceng.visualstudio.com/internal/_workitems/edit/5117 -->
+
diff --git a/arcade-services.sln b/arcade-services.sln
index 03f9ccf517..63a2a68817 100644
--- a/arcade-services.sln
+++ b/arcade-services.sln
@@ -88,8 +88,6 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ProductConstructionService.
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Maestro.Authentication", "src\Maestro\Maestro.Authentication\Maestro.Authentication.csproj", "{70D48B7A-DBFE-4762-A83F-4617ECF80838}"
EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ProductConstructionService.Client", "src\ProductConstructionService\ProductConstructionService.Client\ProductConstructionService.Client.csproj", "{964FA796-358E-48AE-B75C-E42132600BCC}"
-EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Maestro.Common", "src\Maestro\Maestro.Common\Maestro.Common.csproj", "{16F086DD-8387-44BB-87D5-CD804355A110}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ProductConstructionService.SubscriptionTriggerer", "src\ProductConstructionService\ProductConstructionService.SubscriptionTriggerer\ProductConstructionService.SubscriptionTriggerer.csproj", "{C70CD49F-052C-472B-A420-4215B708C478}"
@@ -122,6 +120,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ProductConstructionService.
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ProductConstructionService.BarViz", "src\ProductConstructionService\ProductConstructionService.BarViz\ProductConstructionService.BarViz.csproj", "{B993607A-BD63-47A8-AF5D-7B49ACF0AF21}"
EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Microsoft.DotNet.ProductConstructionService.Client", "src\ProductConstructionService\Microsoft.DotNet.ProductConstructionService.Client\Microsoft.DotNet.ProductConstructionService.Client.csproj", "{0F27CF0C-4C95-DB17-AF84-78197F32FEBE}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@@ -505,18 +505,6 @@ Global
{70D48B7A-DBFE-4762-A83F-4617ECF80838}.Release|x64.Build.0 = Release|Any CPU
{70D48B7A-DBFE-4762-A83F-4617ECF80838}.Release|x86.ActiveCfg = Release|Any CPU
{70D48B7A-DBFE-4762-A83F-4617ECF80838}.Release|x86.Build.0 = Release|Any CPU
- {964FA796-358E-48AE-B75C-E42132600BCC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {964FA796-358E-48AE-B75C-E42132600BCC}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {964FA796-358E-48AE-B75C-E42132600BCC}.Debug|x64.ActiveCfg = Debug|Any CPU
- {964FA796-358E-48AE-B75C-E42132600BCC}.Debug|x64.Build.0 = Debug|Any CPU
- {964FA796-358E-48AE-B75C-E42132600BCC}.Debug|x86.ActiveCfg = Debug|Any CPU
- {964FA796-358E-48AE-B75C-E42132600BCC}.Debug|x86.Build.0 = Debug|Any CPU
- {964FA796-358E-48AE-B75C-E42132600BCC}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {964FA796-358E-48AE-B75C-E42132600BCC}.Release|Any CPU.Build.0 = Release|Any CPU
- {964FA796-358E-48AE-B75C-E42132600BCC}.Release|x64.ActiveCfg = Release|Any CPU
- {964FA796-358E-48AE-B75C-E42132600BCC}.Release|x64.Build.0 = Release|Any CPU
- {964FA796-358E-48AE-B75C-E42132600BCC}.Release|x86.ActiveCfg = Release|Any CPU
- {964FA796-358E-48AE-B75C-E42132600BCC}.Release|x86.Build.0 = Release|Any CPU
{16F086DD-8387-44BB-87D5-CD804355A110}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{16F086DD-8387-44BB-87D5-CD804355A110}.Debug|Any CPU.Build.0 = Debug|Any CPU
{16F086DD-8387-44BB-87D5-CD804355A110}.Debug|x64.ActiveCfg = Debug|Any CPU
@@ -709,6 +697,18 @@ Global
{B993607A-BD63-47A8-AF5D-7B49ACF0AF21}.Release|x64.Build.0 = Release|Any CPU
{B993607A-BD63-47A8-AF5D-7B49ACF0AF21}.Release|x86.ActiveCfg = Release|Any CPU
{B993607A-BD63-47A8-AF5D-7B49ACF0AF21}.Release|x86.Build.0 = Release|Any CPU
+ {0F27CF0C-4C95-DB17-AF84-78197F32FEBE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {0F27CF0C-4C95-DB17-AF84-78197F32FEBE}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {0F27CF0C-4C95-DB17-AF84-78197F32FEBE}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {0F27CF0C-4C95-DB17-AF84-78197F32FEBE}.Debug|x64.Build.0 = Debug|Any CPU
+ {0F27CF0C-4C95-DB17-AF84-78197F32FEBE}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {0F27CF0C-4C95-DB17-AF84-78197F32FEBE}.Debug|x86.Build.0 = Debug|Any CPU
+ {0F27CF0C-4C95-DB17-AF84-78197F32FEBE}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {0F27CF0C-4C95-DB17-AF84-78197F32FEBE}.Release|Any CPU.Build.0 = Release|Any CPU
+ {0F27CF0C-4C95-DB17-AF84-78197F32FEBE}.Release|x64.ActiveCfg = Release|Any CPU
+ {0F27CF0C-4C95-DB17-AF84-78197F32FEBE}.Release|x64.Build.0 = Release|Any CPU
+ {0F27CF0C-4C95-DB17-AF84-78197F32FEBE}.Release|x86.ActiveCfg = Release|Any CPU
+ {0F27CF0C-4C95-DB17-AF84-78197F32FEBE}.Release|x86.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@@ -748,7 +748,6 @@ Global
{243A4561-BF35-405A-AF12-AC57BB27796D} = {D4718FE8-B3EA-4543-A424-315E649A4F70}
{BB8CC065-79D6-48CE-AD96-32EDDDC4D404} = {1A456CF0-C09A-4DE6-89CE-1110EED31180}
{70D48B7A-DBFE-4762-A83F-4617ECF80838} = {AE791E26-78E1-4936-BCF4-1BF5152CBBD6}
- {964FA796-358E-48AE-B75C-E42132600BCC} = {243A4561-BF35-405A-AF12-AC57BB27796D}
{16F086DD-8387-44BB-87D5-CD804355A110} = {AE791E26-78E1-4936-BCF4-1BF5152CBBD6}
{C70CD49F-052C-472B-A420-4215B708C478} = {243A4561-BF35-405A-AF12-AC57BB27796D}
{CAB42DEB-5D9D-42D6-BF4E-DAAD9C7B5C66} = {AE791E26-78E1-4936-BCF4-1BF5152CBBD6}
@@ -765,6 +764,7 @@ Global
{12D91D30-EC50-4D2B-8D67-0C19FCD2303F} = {1A456CF0-C09A-4DE6-89CE-1110EED31180}
{A4125B78-593D-4659-AA28-0E176D4644E5} = {243A4561-BF35-405A-AF12-AC57BB27796D}
{B993607A-BD63-47A8-AF5D-7B49ACF0AF21} = {243A4561-BF35-405A-AF12-AC57BB27796D}
+ {0F27CF0C-4C95-DB17-AF84-78197F32FEBE} = {243A4561-BF35-405A-AF12-AC57BB27796D}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {32B9C883-432E-4FC8-A1BF-090EB033DD5B}
diff --git a/azure-pipelines-product-construction-service.yml b/azure-pipelines-product-construction-service.yml
index 919def75d1..afc790ad54 100644
--- a/azure-pipelines-product-construction-service.yml
+++ b/azure-pipelines-product-construction-service.yml
@@ -154,10 +154,23 @@ stages:
devBranchSuffix: $(devBranchSuffix)
dockerImageName: $(dockerRegistryUrl)/$(containerName)
-- ${{ if notin(variables['Build.Reason'], 'PullRequest') }}:
+- ${{ if and(notin(variables['Build.Reason'], 'PullRequest'), eq(variables['System.TeamProject'], 'internal')) }}:
+ - stage: Approval
+ dependsOn:
+ - Build
+ jobs:
+ - deployment: approval
+ displayName: Deployment approval
+ ${{ if startsWith(variables['Build.SourceBranch'], 'refs/heads/production') }}:
+ environment: Production
+ ${{ else }}:
+ environment: Staging
+ pool: server
+
- stage: DeployPCS
dependsOn:
- Build
+ - Approval
displayName: Deploy Product Construction Service
jobs:
diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml
index d149100d4c..9c7d78a24d 100644
--- a/eng/Version.Details.xml
+++ b/eng/Version.Details.xml
@@ -115,13 +115,13 @@
https://github.com/dotnet/arcade
3c7e11bf80279cde53a6251c4d0fa10e613fc739
-
+
https://github.com/dotnet/dnceng
- b61ece47324607e2ab69de0b6e8cf2d19cef2570
+ 54066b7abcc2b7ec05ade63be8d91c44fcfc1c9d
-
+
https://github.com/dotnet/dnceng
- b61ece47324607e2ab69de0b6e8cf2d19cef2570
+ 54066b7abcc2b7ec05ade63be8d91c44fcfc1c9d
diff --git a/eng/Versions.props b/eng/Versions.props
index bcf24f1e85..12396dbabf 100644
--- a/eng/Versions.props
+++ b/eng/Versions.props
@@ -37,8 +37,8 @@
1.1.0-beta.24606.1
1.1.0-beta.24606.1
1.1.0-beta.24606.1
- 1.1.0-beta.24562.1
- 1.1.0-beta.24562.1
+ 1.1.0-beta.24605.8
+ 1.1.0-beta.24605.8
diff --git a/eng/templates/jobs/e2e-pcs-tests.yml b/eng/templates/jobs/e2e-pcs-tests.yml
index 7319270766..7248cedb84 100644
--- a/eng/templates/jobs/e2e-pcs-tests.yml
+++ b/eng/templates/jobs/e2e-pcs-tests.yml
@@ -22,7 +22,7 @@ jobs:
- group: Arcade-Services-Scenario-Tests
- ${{ if not(or(startsWith(variables['Build.SourceBranch'], 'refs/heads/production'), startsWith(variables['Build.SourceBranch'], 'refs/heads/production-'), eq(variables['Build.SourceBranch'], 'refs/heads/production'))) }}:
- name: PcsTestEndpoint
- value: https://product-construction-int.delightfuldune-c0f01ab0.westus2.azurecontainerapps.io
+ value: https://product-construction-int.agreeablesky-499be9de.westus2.azurecontainerapps.io
- name: ScenarioTestSubscription
value: "Darc: Maestro Staging"
- name: MaestroAppId
diff --git a/eng/templates/stages/deploy.yaml b/eng/templates/stages/deploy.yaml
index 1319daed7d..2931206985 100644
--- a/eng/templates/stages/deploy.yaml
+++ b/eng/templates/stages/deploy.yaml
@@ -20,9 +20,6 @@ stages:
${{ else }}:
environment: Staging
pool: server
- strategy:
- runOnce:
- deploy: {}
- stage: deploy
displayName: Deploy
diff --git a/src/Maestro/Client/src/MaestroApiOptions.cs b/src/Maestro/Client/src/MaestroApiOptions.cs
index e7385abe87..8ef91470f1 100644
--- a/src/Maestro/Client/src/MaestroApiOptions.cs
+++ b/src/Maestro/Client/src/MaestroApiOptions.cs
@@ -23,7 +23,7 @@ public partial class MaestroApiOptions
public const string StagingMaestroUri = "https://maestro.int-dot.net/";
public const string OldPcsStagingUri = "https://maestro-int.westus2.cloudapp.azure.com/";
public const string PcsProdUri = "https://product-construction-prod.wittysky-0c79e3cc.westus2.azurecontainerapps.io/";
- public const string PcsStagingUri = "https://product-construction-int.delightfuldune-c0f01ab0.westus2.azurecontainerapps.io/";
+ public const string PcsStagingUri = "https://product-construction-int.agreeablesky-499be9de.westus2.azurecontainerapps.io/";
public const string PcsLocalUri = "https://localhost:53180/";
private const string APP_USER_SCOPE = "Maestro.User";
diff --git a/src/Maestro/SubscriptionActorService/Program.cs b/src/Maestro/SubscriptionActorService/Program.cs
index 6c2c1ec5ff..0c711e5478 100644
--- a/src/Maestro/SubscriptionActorService/Program.cs
+++ b/src/Maestro/SubscriptionActorService/Program.cs
@@ -17,7 +17,6 @@
using Microsoft.Extensions.DependencyInjection.Extensions;
using Microsoft.Extensions.Logging;
using Octokit;
-using ProductConstructionService.Client;
namespace SubscriptionActorService;
@@ -74,19 +73,6 @@ public static void Configure(IServiceCollection services)
});
services.Configure("GitHub", (o, s) => s.Bind(o));
services.Configure("AzureDevOps", (o, s) => s.Bind(o));
- services.AddSingleton(s =>
- {
- var config = s.GetRequiredService();
- var uri = config["ProductConstructionService:Uri"];
-
- var noAuth = config.GetValue("ProductConstructionService:NoAuth");
- if (noAuth)
- {
- return PcsApiFactory.GetAnonymous(uri);
- }
-
- return PcsApiFactory.GetAuthenticated(uri, managedIdentityId: "system", disableInteractiveAuth: true);
- });
services.AddMergePolicies();
services.AddKustoClientProvider("Kusto");
diff --git a/src/Maestro/SubscriptionActorService/SubscriptionActorService.csproj b/src/Maestro/SubscriptionActorService/SubscriptionActorService.csproj
index 056ba22679..04776d2698 100644
--- a/src/Maestro/SubscriptionActorService/SubscriptionActorService.csproj
+++ b/src/Maestro/SubscriptionActorService/SubscriptionActorService.csproj
@@ -34,7 +34,6 @@
-
diff --git a/src/Microsoft.DotNet.Darc/Darc/Operations/VirtualMonoRepo/InitializeOperation.cs b/src/Microsoft.DotNet.Darc/Darc/Operations/VirtualMonoRepo/InitializeOperation.cs
index c7270eef92..9e5eda98ed 100644
--- a/src/Microsoft.DotNet.Darc/Darc/Operations/VirtualMonoRepo/InitializeOperation.cs
+++ b/src/Microsoft.DotNet.Darc/Darc/Operations/VirtualMonoRepo/InitializeOperation.cs
@@ -40,7 +40,6 @@ await _vmrInitializer.InitializeRepository(
_options.Recursive,
new NativePath(_options.SourceMappings),
additionalRemotes,
- _options.ComponentTemplate,
_options.TpnTemplate,
_options.GenerateCodeowners,
_options.GenerateCredScanSuppressions,
diff --git a/src/Microsoft.DotNet.Darc/Darc/Operations/VirtualMonoRepo/UpdateOperation.cs b/src/Microsoft.DotNet.Darc/Darc/Operations/VirtualMonoRepo/UpdateOperation.cs
index 51fc00c279..d9cb14013b 100644
--- a/src/Microsoft.DotNet.Darc/Darc/Operations/VirtualMonoRepo/UpdateOperation.cs
+++ b/src/Microsoft.DotNet.Darc/Darc/Operations/VirtualMonoRepo/UpdateOperation.cs
@@ -40,7 +40,6 @@ await _vmrUpdater.UpdateRepository(
barId: null,
_options.Recursive,
additionalRemotes,
- _options.ComponentTemplate,
_options.TpnTemplate,
_options.GenerateCodeowners,
_options.GenerateCredScanSuppressions,
diff --git a/src/Microsoft.DotNet.Darc/Darc/Options/VirtualMonoRepo/VmrSyncCommandLineOptions.cs b/src/Microsoft.DotNet.Darc/Darc/Options/VirtualMonoRepo/VmrSyncCommandLineOptions.cs
index 873ec08d45..b508e1222f 100644
--- a/src/Microsoft.DotNet.Darc/Darc/Options/VirtualMonoRepo/VmrSyncCommandLineOptions.cs
+++ b/src/Microsoft.DotNet.Darc/Darc/Options/VirtualMonoRepo/VmrSyncCommandLineOptions.cs
@@ -20,9 +20,6 @@ internal abstract class VmrSyncCommandLineOptions : VmrCommandLineOptions,
"Omitting REVISION will synchronize the repo to current HEAD.")]
public IEnumerable Repositories { get; set; }
- [Option("component-template", Required = false, HelpText = "Path to a template for generating VMRs Component.md file. Leave empty to skip generation.")]
- public string ComponentTemplate { get; set; }
-
[Option("tpn-template", Required = false, HelpText = "Path to a template for generating VMRs THIRD-PARTY-NOTICES file. Leave empty to skip generation.")]
public string TpnTemplate { get; set; }
diff --git a/src/Microsoft.DotNet.Darc/DarcLib/VirtualMonoRepo/ComponentListGenerator.cs b/src/Microsoft.DotNet.Darc/DarcLib/VirtualMonoRepo/ComponentListGenerator.cs
deleted file mode 100644
index d5178dbe90..0000000000
--- a/src/Microsoft.DotNet.Darc/DarcLib/VirtualMonoRepo/ComponentListGenerator.cs
+++ /dev/null
@@ -1,108 +0,0 @@
-// Licensed to the .NET Foundation under one or more agreements.
-// The .NET Foundation licenses this file to you under the MIT license.
-
-using System;
-using System.IO;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-using Microsoft.DotNet.DarcLib.Helpers;
-using Microsoft.DotNet.DarcLib.Models.VirtualMonoRepo;
-
-#nullable enable
-namespace Microsoft.DotNet.DarcLib.VirtualMonoRepo;
-
-public interface IComponentListGenerator
-{
- Task UpdateComponentList(string templatePath);
-}
-
-///
-/// Class responsible for generating the dynamic list of components in Components.md.
-///
-public class ComponentListGenerator : IComponentListGenerator
-{
- private const string ComponentListStartTag = "";
- private const string ComponentListEndTag = "";
-
- private readonly ISourceManifest _sourceManifest;
- private readonly IVmrInfo _vmrInfo;
- private readonly IFileSystem _fileSystem;
-
- public ComponentListGenerator(
- ISourceManifest sourceManifest,
- IVmrInfo vmrInfo,
- IFileSystem fileSystem)
- {
- _sourceManifest = sourceManifest;
- _vmrInfo = vmrInfo;
- _fileSystem = fileSystem;
- }
-
- public async Task UpdateComponentList(string templatePath)
- {
- if (!_fileSystem.FileExists(templatePath))
- {
- return;
- }
-
- var componentListPath = _vmrInfo.VmrPath / VmrInfo.ComponentListPath;
-
- using var readStream = _fileSystem.GetFileStream(templatePath, FileMode.Open, FileAccess.Read);
- using var writeStream = _fileSystem.GetFileStream(componentListPath, FileMode.Create, FileAccess.Write);
- using var reader = new StreamReader(readStream);
- using var writer = new StreamWriter(writeStream, Encoding.UTF8);
-
- string? line;
- while ((line = await reader.ReadLineAsync()) != null)
- {
- await writer.WriteLineAsync(line);
-
- if (line.Contains(ComponentListStartTag))
- {
- await WriteComponentList(writer);
-
- while (!line.Contains(ComponentListEndTag))
- {
- line = reader.ReadLine();
-
- if (line == null)
- {
- throw new Exception($"Component list end tag not found in {templatePath}");
- }
- }
-
- await writer.WriteLineAsync(line);
- }
- }
- }
-
- private async Task WriteComponentList(StreamWriter writer)
- {
- var submodules = _sourceManifest.Submodules.OrderBy(s => s.Path).ToList();
-
- foreach (ISourceComponent component in _sourceManifest.Repositories.OrderBy(m => m.Path))
- {
- await WriteComponentListItem(writer, component, 0);
-
- foreach (var submodule in submodules.Where(s => s.Path.StartsWith($"{component.Path}/")))
- {
- await WriteComponentListItem(writer, submodule, 4);
- }
- }
- }
-
- private static async Task WriteComponentListItem(StreamWriter writer, ISourceComponent component, int indentation)
- {
- // TODO (https://github.com/dotnet/arcade/issues/10549): Add also non-GitHub implementations
- string[] uriParts = component.RemoteUri.Split('/', StringSplitOptions.RemoveEmptyEntries);
- string repo = $"{uriParts[^2]}/{uriParts[^1]}";
- if (repo.EndsWith(".git"))
- {
- repo = repo[..^4];
- }
-
- await writer.WriteLineAsync($"{new string(' ', indentation)}- `{VmrInfo.RelativeSourcesDir / component.Path}` ");
- await writer.WriteLineAsync($"{new string(' ', indentation)}*[{repo}@{Commit.GetShortSha(component.CommitSha)}]({component.GetPublicUrl()})*");
- }
-}
diff --git a/src/Microsoft.DotNet.Darc/DarcLib/VirtualMonoRepo/IVmrInitializer.cs b/src/Microsoft.DotNet.Darc/DarcLib/VirtualMonoRepo/IVmrInitializer.cs
index 3ca3f35398..37609e12e9 100644
--- a/src/Microsoft.DotNet.Darc/DarcLib/VirtualMonoRepo/IVmrInitializer.cs
+++ b/src/Microsoft.DotNet.Darc/DarcLib/VirtualMonoRepo/IVmrInitializer.cs
@@ -20,7 +20,6 @@ public interface IVmrInitializer
/// When true, initializes dependencies (from Version.Details.xml) recursively
/// Path to the source-mappings.json file
/// Additional git remotes to use when fetching
- /// Path to VMR's README.md template
/// Path to VMR's THIRD-PARTY-NOTICES.md template
/// Whether to generate a CODEOWNERS file
/// Whether to generate a .config/CredScanSuppressions.json file
@@ -33,7 +32,6 @@ Task InitializeRepository(
bool initializeDependencies,
LocalPath sourceMappingsPath,
IReadOnlyCollection additionalRemotes,
- string? componentTemplatePath,
string? tpnTemplatePath,
bool generateCodeowners,
bool generateCredScanSuppressions,
diff --git a/src/Microsoft.DotNet.Darc/DarcLib/VirtualMonoRepo/IVmrUpdater.cs b/src/Microsoft.DotNet.Darc/DarcLib/VirtualMonoRepo/IVmrUpdater.cs
index a6f1124602..511e28f4b2 100644
--- a/src/Microsoft.DotNet.Darc/DarcLib/VirtualMonoRepo/IVmrUpdater.cs
+++ b/src/Microsoft.DotNet.Darc/DarcLib/VirtualMonoRepo/IVmrUpdater.cs
@@ -20,7 +20,6 @@ public interface IVmrUpdater
/// Bar id of the build that's being flown, if applicable
/// When true, updates dependencies (from Version.Details.xml) recursively
/// Additional git remotes to use when fetching
- /// Path to VMR's Component.md template
/// Path to VMR's THIRD-PARTY-NOTICES.md template
/// Whether to generate a CODEOWNERS file
/// Whether to generate a .config/CredScanSuppressions.json file
@@ -36,7 +35,6 @@ Task UpdateRepository(
int? barId,
bool updateDependencies,
IReadOnlyCollection additionalRemotes,
- string? componentTemplatePath,
string? tpnTemplatePath,
bool generateCodeowners,
bool generateCredScanSuppressions,
diff --git a/src/Microsoft.DotNet.Darc/DarcLib/VirtualMonoRepo/VmrForwardFlower.cs b/src/Microsoft.DotNet.Darc/DarcLib/VirtualMonoRepo/VmrForwardFlower.cs
index bf05d815e2..fa593449d8 100644
--- a/src/Microsoft.DotNet.Darc/DarcLib/VirtualMonoRepo/VmrForwardFlower.cs
+++ b/src/Microsoft.DotNet.Darc/DarcLib/VirtualMonoRepo/VmrForwardFlower.cs
@@ -247,7 +247,6 @@ protected override async Task SameDirectionFlowAsync(
build.Id,
updateDependencies: false,
additionalRemotes: additionalRemotes,
- componentTemplatePath: null,
tpnTemplatePath: _vmrInfo.VmrPath / VmrInfo.ThirdPartyNoticesTemplatePath,
generateCodeowners: false,
generateCredScanSuppressions: true,
@@ -303,7 +302,6 @@ await FlowCodeAsync(
build.Id,
updateDependencies: false,
additionalRemotes,
- componentTemplatePath: null,
tpnTemplatePath: _vmrInfo.VmrPath / VmrInfo.ThirdPartyNoticesTemplatePath,
generateCodeowners: false,
generateCredScanSuppressions: false,
@@ -379,7 +377,6 @@ .. submodules.Select(s => s.Path).Distinct().Select(VmrPatchHandler.GetExclusion
build.Id,
updateDependencies: false,
additionalRemote,
- componentTemplatePath: null,
tpnTemplatePath: _vmrInfo.VmrPath / VmrInfo.ThirdPartyNoticesTemplatePath,
generateCodeowners: false,
generateCredScanSuppressions: true,
diff --git a/src/Microsoft.DotNet.Darc/DarcLib/VirtualMonoRepo/VmrInfo.cs b/src/Microsoft.DotNet.Darc/DarcLib/VirtualMonoRepo/VmrInfo.cs
index f2d7d9b616..73533b4cc7 100644
--- a/src/Microsoft.DotNet.Darc/DarcLib/VirtualMonoRepo/VmrInfo.cs
+++ b/src/Microsoft.DotNet.Darc/DarcLib/VirtualMonoRepo/VmrInfo.cs
@@ -76,10 +76,8 @@ public class VmrInfo : IVmrInfo
public const string IgnoreAttribute = "vmr-ignore";
// TODO (https://github.com/dotnet/arcade-services/issues/4186): Read these from source-mappings.json
- public const string ComponentTemplatePath = "src/sdk/src/VirtualMonoRepo/Component.template.md";
public const string ThirdPartyNoticesTemplatePath = "src/sdk/src/VirtualMonoRepo/THIRD-PARTY-NOTICES.template.txt";
- public const string ComponentListPath = "Components.md";
public const string ThirdPartyNoticesFileName = "THIRD-PARTY-NOTICES.txt";
public const string CodeownersFileName = "CODEOWNERS";
public const string CredScanSuppressionsFileName = "CredScanSuppressions.json";
diff --git a/src/Microsoft.DotNet.Darc/DarcLib/VirtualMonoRepo/VmrInitializer.cs b/src/Microsoft.DotNet.Darc/DarcLib/VirtualMonoRepo/VmrInitializer.cs
index 523544ea6a..9782e7d50f 100644
--- a/src/Microsoft.DotNet.Darc/DarcLib/VirtualMonoRepo/VmrInitializer.cs
+++ b/src/Microsoft.DotNet.Darc/DarcLib/VirtualMonoRepo/VmrInitializer.cs
@@ -53,7 +53,6 @@ public VmrInitializer(
IVersionDetailsParser versionDetailsParser,
IRepositoryCloneManager cloneManager,
IThirdPartyNoticesGenerator thirdPartyNoticesGenerator,
- IComponentListGenerator readmeComponentListGenerator,
ICodeownersGenerator codeownersGenerator,
ICredScanSuppressionsGenerator credScanSuppressionsGenerator,
ILocalGitClient localGitClient,
@@ -65,7 +64,7 @@ public VmrInitializer(
ILogger logger,
ISourceManifest sourceManifest,
IVmrInfo vmrInfo)
- : base(vmrInfo, sourceManifest, dependencyTracker, patchHandler, versionDetailsParser, thirdPartyNoticesGenerator, readmeComponentListGenerator, codeownersGenerator, credScanSuppressionsGenerator, localGitClient, localGitRepoFactory, dependencyFileManager, barClient, fileSystem, logger)
+ : base(vmrInfo, sourceManifest, dependencyTracker, patchHandler, versionDetailsParser, thirdPartyNoticesGenerator, codeownersGenerator, credScanSuppressionsGenerator, localGitClient, localGitRepoFactory, dependencyFileManager, barClient, fileSystem, logger)
{
_vmrInfo = vmrInfo;
_barClient = barClient;
@@ -84,7 +83,6 @@ public async Task InitializeRepository(
bool initializeDependencies,
LocalPath sourceMappingsPath,
IReadOnlyCollection additionalRemotes,
- string? componentTemplatePath,
string? tpnTemplatePath,
bool generateCodeowners,
bool generateCredScanSuppressions,
@@ -154,7 +152,6 @@ public async Task InitializeRepository(
await InitializeRepository(
update,
additionalRemotes,
- componentTemplatePath,
tpnTemplatePath,
generateCodeowners,
generateCredScanSuppressions,
@@ -184,7 +181,6 @@ await InitializeRepository(
private async Task InitializeRepository(
VmrDependencyUpdate update,
IReadOnlyCollection additionalRemotes,
- string? componentTemplatePath,
string? tpnTemplatePath,
bool generateCodeowners,
bool generateCredScanSuppressions,
@@ -223,7 +219,6 @@ await UpdateRepoToRevisionAsync(
author: null,
commitMessage,
restoreVmrPatches: false,
- componentTemplatePath,
tpnTemplatePath,
generateCodeowners,
generateCredScanSuppressions,
diff --git a/src/Microsoft.DotNet.Darc/DarcLib/VirtualMonoRepo/VmrManagerBase.cs b/src/Microsoft.DotNet.Darc/DarcLib/VirtualMonoRepo/VmrManagerBase.cs
index b5f076bad9..7f2cf49a23 100644
--- a/src/Microsoft.DotNet.Darc/DarcLib/VirtualMonoRepo/VmrManagerBase.cs
+++ b/src/Microsoft.DotNet.Darc/DarcLib/VirtualMonoRepo/VmrManagerBase.cs
@@ -29,7 +29,6 @@ public abstract class VmrManagerBase
private readonly IVmrPatchHandler _patchHandler;
private readonly IVersionDetailsParser _versionDetailsParser;
private readonly IThirdPartyNoticesGenerator _thirdPartyNoticesGenerator;
- private readonly IComponentListGenerator _componentListGenerator;
private readonly ICodeownersGenerator _codeownersGenerator;
private readonly ICredScanSuppressionsGenerator _credScanSuppressionsGenerator;
private readonly ILocalGitClient _localGitClient;
@@ -48,7 +47,6 @@ protected VmrManagerBase(
IVmrPatchHandler vmrPatchHandler,
IVersionDetailsParser versionDetailsParser,
IThirdPartyNoticesGenerator thirdPartyNoticesGenerator,
- IComponentListGenerator componentListGenerator,
ICodeownersGenerator codeownersGenerator,
ICredScanSuppressionsGenerator credScanSuppressionsGenerator,
ILocalGitClient localGitClient,
@@ -65,7 +63,6 @@ protected VmrManagerBase(
_patchHandler = vmrPatchHandler;
_versionDetailsParser = versionDetailsParser;
_thirdPartyNoticesGenerator = thirdPartyNoticesGenerator;
- _componentListGenerator = componentListGenerator;
_codeownersGenerator = codeownersGenerator;
_credScanSuppressionsGenerator = credScanSuppressionsGenerator;
_localGitClient = localGitClient;
@@ -83,7 +80,6 @@ public async Task> UpdateRepoToRevisionAs
(string Name, string Email)? author,
string commitMessage,
bool restoreVmrPatches,
- string? componentTemplatePath,
string? tpnTemplatePath,
bool generateCodeowners,
bool generateCredScanSuppressions,
@@ -115,22 +111,12 @@ public async Task> UpdateRepoToRevisionAs
_dependencyInfo.UpdateDependencyVersion(update);
- if (componentTemplatePath != null)
- {
- await _componentListGenerator.UpdateComponentList(componentTemplatePath);
- }
-
var filesToAdd = new List
{
VmrInfo.GitInfoSourcesDir,
_vmrInfo.SourceManifestPath
};
- if (_fileSystem.FileExists(_vmrInfo.VmrPath / VmrInfo.ComponentListPath))
- {
- filesToAdd.Add(VmrInfo.ComponentListPath);
- }
-
await _localGitClient.StageAsync(_vmrInfo.VmrPath, filesToAdd, cancellationToken);
cancellationToken.ThrowIfCancellationRequested();
diff --git a/src/Microsoft.DotNet.Darc/DarcLib/VirtualMonoRepo/VmrRegistrations.cs b/src/Microsoft.DotNet.Darc/DarcLib/VirtualMonoRepo/VmrRegistrations.cs
index f35387bebc..ec6f4aeecd 100644
--- a/src/Microsoft.DotNet.Darc/DarcLib/VirtualMonoRepo/VmrRegistrations.cs
+++ b/src/Microsoft.DotNet.Darc/DarcLib/VirtualMonoRepo/VmrRegistrations.cs
@@ -97,7 +97,6 @@ private static IServiceCollection AddVmrManagers(
services.TryAddTransient();
services.TryAddTransient();
services.TryAddTransient();
- services.TryAddTransient();
services.TryAddTransient();
services.TryAddTransient();
services.TryAddTransient();
diff --git a/src/Microsoft.DotNet.Darc/DarcLib/VirtualMonoRepo/VmrUpdater.cs b/src/Microsoft.DotNet.Darc/DarcLib/VirtualMonoRepo/VmrUpdater.cs
index 57a2479b52..b38a23dcab 100644
--- a/src/Microsoft.DotNet.Darc/DarcLib/VirtualMonoRepo/VmrUpdater.cs
+++ b/src/Microsoft.DotNet.Darc/DarcLib/VirtualMonoRepo/VmrUpdater.cs
@@ -55,7 +55,6 @@ [Recursive sync] {name} / {oldShaShort}{{Constants.Arrow}}{newShaShort}
private readonly ILogger _logger;
private readonly ISourceManifest _sourceManifest;
private readonly IThirdPartyNoticesGenerator _thirdPartyNoticesGenerator;
- private readonly IComponentListGenerator _readmeComponentListGenerator;
private readonly ILocalGitClient _localGitClient;
private readonly IGitRepoFactory _gitRepoFactory;
private readonly IWorkBranchFactory _workBranchFactory;
@@ -66,7 +65,6 @@ public VmrUpdater(
IRepositoryCloneManager cloneManager,
IVmrPatchHandler patchHandler,
IThirdPartyNoticesGenerator thirdPartyNoticesGenerator,
- IComponentListGenerator readmeComponentListGenerator,
ICodeownersGenerator codeownersGenerator,
ICredScanSuppressionsGenerator credScanSuppressionsGenerator,
ILocalGitClient localGitClient,
@@ -79,7 +77,7 @@ public VmrUpdater(
ILogger logger,
ISourceManifest sourceManifest,
IVmrInfo vmrInfo)
- : base(vmrInfo, sourceManifest, dependencyTracker, patchHandler, versionDetailsParser, thirdPartyNoticesGenerator, readmeComponentListGenerator, codeownersGenerator, credScanSuppressionsGenerator, localGitClient, localGitRepoFactory, dependencyFileManager, barClient, fileSystem, logger)
+ : base(vmrInfo, sourceManifest, dependencyTracker, patchHandler, versionDetailsParser, thirdPartyNoticesGenerator, codeownersGenerator, credScanSuppressionsGenerator, localGitClient, localGitRepoFactory, dependencyFileManager, barClient, fileSystem, logger)
{
_logger = logger;
_sourceManifest = sourceManifest;
@@ -90,7 +88,6 @@ public VmrUpdater(
_fileSystem = fileSystem;
_barClient = barClient;
_thirdPartyNoticesGenerator = thirdPartyNoticesGenerator;
- _readmeComponentListGenerator = readmeComponentListGenerator;
_localGitClient = localGitClient;
_gitRepoFactory = gitRepoFactory;
_workBranchFactory = workBranchFactory;
@@ -104,7 +101,6 @@ public async Task UpdateRepository(
int? barId,
bool updateDependencies,
IReadOnlyCollection additionalRemotes,
- string? componentTemplatePath,
string? tpnTemplatePath,
bool generateCodeowners,
bool generateCredScanSuppressions,
@@ -149,7 +145,6 @@ public async Task UpdateRepository(
return await UpdateRepositoryRecursively(
dependencyUpdate,
additionalRemotes,
- componentTemplatePath,
tpnTemplatePath,
generateCodeowners,
generateCredScanSuppressions,
@@ -165,7 +160,6 @@ public async Task UpdateRepository(
dependencyUpdate,
restoreVmrPatches: true,
additionalRemotes,
- componentTemplatePath,
tpnTemplatePath,
generateCodeowners,
generateCredScanSuppressions,
@@ -191,7 +185,6 @@ private async Task> UpdateRepositoryInter
VmrDependencyUpdate update,
bool restoreVmrPatches,
IReadOnlyCollection additionalRemotes,
- string? componentTemplatePath,
string? tpnTemplatePath,
bool generateCodeowners,
bool generateCredScanSuppressions,
@@ -273,7 +266,6 @@ await UpdateTargetVersionOnly(
author: null,
commitMessage,
restoreVmrPatches,
- componentTemplatePath,
tpnTemplatePath,
generateCodeowners,
generateCredScanSuppressions,
@@ -288,7 +280,6 @@ await UpdateTargetVersionOnly(
private async Task UpdateRepositoryRecursively(
VmrDependencyUpdate rootUpdate,
IReadOnlyCollection additionalRemotes,
- string? componentTemplatePath,
string? tpnTemplatePath,
bool generateCodeowners,
bool generateCredScanSuppressions,
@@ -374,7 +365,6 @@ private async Task UpdateRepositoryRecursively(
update,
restoreVmrPatches: update.Parent == null,
additionalRemotes,
- componentTemplatePath,
tpnTemplatePath,
generateCodeowners,
generateCredScanSuppressions,
@@ -440,7 +430,7 @@ private async Task UpdateRepositoryRecursively(
await ApplyVmrPatches(workBranch, vmrPatchesToReapply, cancellationToken);
- await CleanUpRemovedRepos(componentTemplatePath, tpnTemplatePath);
+ await CleanUpRemovedRepos(tpnTemplatePath);
var commitMessage = PrepareCommitMessage(
MergeCommitMessage,
@@ -618,7 +608,7 @@ private string GetCurrentVersion(SourceMapping mapping)
return version.Sha;
}
- private async Task CleanUpRemovedRepos(string? componentTemplatePath, string? tpnTemplatePath)
+ private async Task CleanUpRemovedRepos(string? tpnTemplatePath)
{
var deletedRepos = _sourceManifest
.Repositories
@@ -639,11 +629,6 @@ private async Task CleanUpRemovedRepos(string? componentTemplatePath, string? tp
var sourceManifestPath = _vmrInfo.SourceManifestPath;
_fileSystem.WriteToFile(sourceManifestPath, _sourceManifest.ToJson());
- if (componentTemplatePath != null)
- {
- await _readmeComponentListGenerator.UpdateComponentList(componentTemplatePath);
- }
-
if (tpnTemplatePath != null)
{
await _thirdPartyNoticesGenerator.UpdateThirdPartyNotices(tpnTemplatePath);
diff --git a/src/Microsoft.DotNet.Darc/DarcLib/VirtualMonoRepo/WorkBranch.cs b/src/Microsoft.DotNet.Darc/DarcLib/VirtualMonoRepo/WorkBranch.cs
index 5c27851656..fdbe18bce2 100644
--- a/src/Microsoft.DotNet.Darc/DarcLib/VirtualMonoRepo/WorkBranch.cs
+++ b/src/Microsoft.DotNet.Darc/DarcLib/VirtualMonoRepo/WorkBranch.cs
@@ -34,7 +34,7 @@ public async Task MergeBackAsync(string commitMessage)
await _repo.CheckoutAsync(OriginalBranch);
var result = await _repo.ExecuteGitCommand(
- [ "merge", _workBranch, "--no-commit", "--no-ff", "--no-edit", "--no-squash", "-q" ]);
+ [ "merge", _workBranch, "--no-commit", "--no-edit", "--squash", "-q" ]);
result.ThrowIfFailed($"Failed to merge work branch {_workBranch} into {OriginalBranch}");
diff --git a/src/ProductConstructionService/ProductConstructionService.Client/Generated/Assets.cs b/src/ProductConstructionService/Microsoft.DotNet.ProductConstructionService.Client/Generated/Assets.cs
similarity index 97%
rename from src/ProductConstructionService/ProductConstructionService.Client/Generated/Assets.cs
rename to src/ProductConstructionService/Microsoft.DotNet.ProductConstructionService.Client/Generated/Assets.cs
index 27b2e13252..98206df931 100644
--- a/src/ProductConstructionService/ProductConstructionService.Client/Generated/Assets.cs
+++ b/src/ProductConstructionService/Microsoft.DotNet.ProductConstructionService.Client/Generated/Assets.cs
@@ -3,7 +3,6 @@
using System;
using System.Collections.Generic;
-using System.Collections.Immutable;
using System.IO;
using System.Text;
using System.Threading;
@@ -13,12 +12,12 @@
-namespace ProductConstructionService.Client
+namespace Microsoft.DotNet.ProductConstructionService.Client
{
public partial interface IAssets
{
Task BulkAddLocationsAsync(
- IImmutableList body,
+ List body,
CancellationToken cancellationToken = default
);
@@ -80,12 +79,12 @@ public Assets(ProductConstructionServiceApi client)
partial void HandleFailedBulkAddLocationsRequest(RestApiException ex);
public async Task BulkAddLocationsAsync(
- IImmutableList body,
+ List body,
CancellationToken cancellationToken = default
)
{
- if (body == default(IImmutableList))
+ if (body == default(List))
{
throw new ArgumentNullException(nameof(body));
}
@@ -107,7 +106,7 @@ public async Task BulkAddLocationsAsync(
_req.Uri = _url;
_req.Method = RequestMethod.Post;
- if (body != default(IImmutableList))
+ if (body != default(List))
{
_req.Content = RequestContent.Create(Encoding.UTF8.GetBytes(Client.Serialize(body)));
_req.Headers.Add("Content-Type", "application/json; charset=utf-8");
@@ -274,7 +273,7 @@ internal async Task OnBulkAddLocationsFailed(Request req, Response res)
using (var _reader = new StreamReader(_res.ContentStream))
{
var _content = await _reader.ReadToEndAsync().ConfigureAwait(false);
- var _body = Client.Deserialize>(_content);
+ var _body = Client.Deserialize>(_content);
return Page.FromValues(_body, (page + 1).ToString(), _res);
}
}
diff --git a/src/ProductConstructionService/ProductConstructionService.Client/Generated/AzDo.cs b/src/ProductConstructionService/Microsoft.DotNet.ProductConstructionService.Client/Generated/AzDo.cs
similarity index 98%
rename from src/ProductConstructionService/ProductConstructionService.Client/Generated/AzDo.cs
rename to src/ProductConstructionService/Microsoft.DotNet.ProductConstructionService.Client/Generated/AzDo.cs
index 2aef62c493..a711151334 100644
--- a/src/ProductConstructionService/ProductConstructionService.Client/Generated/AzDo.cs
+++ b/src/ProductConstructionService/Microsoft.DotNet.ProductConstructionService.Client/Generated/AzDo.cs
@@ -11,7 +11,7 @@
-namespace ProductConstructionService.Client
+namespace Microsoft.DotNet.ProductConstructionService.Client
{
public partial interface IAzDo
{
diff --git a/src/ProductConstructionService/ProductConstructionService.Client/Generated/BuildTime.cs b/src/ProductConstructionService/Microsoft.DotNet.ProductConstructionService.Client/Generated/BuildTime.cs
similarity index 98%
rename from src/ProductConstructionService/ProductConstructionService.Client/Generated/BuildTime.cs
rename to src/ProductConstructionService/Microsoft.DotNet.ProductConstructionService.Client/Generated/BuildTime.cs
index fc8c050538..228b010cf9 100644
--- a/src/ProductConstructionService/ProductConstructionService.Client/Generated/BuildTime.cs
+++ b/src/ProductConstructionService/Microsoft.DotNet.ProductConstructionService.Client/Generated/BuildTime.cs
@@ -10,7 +10,7 @@
-namespace ProductConstructionService.Client
+namespace Microsoft.DotNet.ProductConstructionService.Client
{
public partial interface IBuildTime
{
diff --git a/src/ProductConstructionService/ProductConstructionService.Client/Generated/Builds.cs b/src/ProductConstructionService/Microsoft.DotNet.ProductConstructionService.Client/Generated/Builds.cs
similarity index 99%
rename from src/ProductConstructionService/ProductConstructionService.Client/Generated/Builds.cs
rename to src/ProductConstructionService/Microsoft.DotNet.ProductConstructionService.Client/Generated/Builds.cs
index 3718298afd..a8b6947944 100644
--- a/src/ProductConstructionService/ProductConstructionService.Client/Generated/Builds.cs
+++ b/src/ProductConstructionService/Microsoft.DotNet.ProductConstructionService.Client/Generated/Builds.cs
@@ -3,7 +3,6 @@
using System;
using System.Collections.Generic;
-using System.Collections.Immutable;
using System.IO;
using System.Text;
using System.Threading;
@@ -13,7 +12,7 @@
-namespace ProductConstructionService.Client
+namespace Microsoft.DotNet.ProductConstructionService.Client
{
public partial interface IBuilds
{
@@ -257,7 +256,7 @@ public Builds(ProductConstructionServiceApi client)
using (var _reader = new StreamReader(_res.ContentStream))
{
var _content = await _reader.ReadToEndAsync().ConfigureAwait(false);
- var _body = Client.Deserialize>(_content);
+ var _body = Client.Deserialize>(_content);
return Page.FromValues(_body, (page + 1).ToString(), _res);
}
}
diff --git a/src/ProductConstructionService/ProductConstructionService.Client/Generated/Channels.cs b/src/ProductConstructionService/Microsoft.DotNet.ProductConstructionService.Client/Generated/Channels.cs
similarity index 96%
rename from src/ProductConstructionService/ProductConstructionService.Client/Generated/Channels.cs
rename to src/ProductConstructionService/Microsoft.DotNet.ProductConstructionService.Client/Generated/Channels.cs
index bc36f30ac0..d01f385bc4 100644
--- a/src/ProductConstructionService/ProductConstructionService.Client/Generated/Channels.cs
+++ b/src/ProductConstructionService/Microsoft.DotNet.ProductConstructionService.Client/Generated/Channels.cs
@@ -2,7 +2,7 @@
// The .NET Foundation licenses this file to you under the MIT license.
using System;
-using System.Collections.Immutable;
+using System.Collections.Generic;
using System.IO;
using System.Threading;
using System.Threading.Tasks;
@@ -11,11 +11,11 @@
-namespace ProductConstructionService.Client
+namespace Microsoft.DotNet.ProductConstructionService.Client
{
public partial interface IChannels
{
- Task> ListChannelsAsync(
+ Task> ListChannelsAsync(
string classification = default,
CancellationToken cancellationToken = default
);
@@ -26,7 +26,7 @@ public partial interface IChannels
CancellationToken cancellationToken = default
);
- Task> ListRepositoriesAsync(
+ Task> ListRepositoriesAsync(
int id,
int? withBuildsInDays = default,
CancellationToken cancellationToken = default
@@ -60,7 +60,7 @@ Task RemoveBuildFromChannelAsync(
bool includeArcade,
bool includeBuildTimes,
bool includeDisabledSubscriptions,
- IImmutableList includedFrequencies = default,
+ List includedFrequencies = default,
CancellationToken cancellationToken = default
);
@@ -79,7 +79,7 @@ public Channels(ProductConstructionServiceApi client)
partial void HandleFailedListChannelsRequest(RestApiException ex);
- public async Task> ListChannelsAsync(
+ public async Task> ListChannelsAsync(
string classification = default,
CancellationToken cancellationToken = default
)
@@ -121,7 +121,7 @@ public Channels(ProductConstructionServiceApi client)
using (var _reader = new StreamReader(_res.ContentStream))
{
var _content = await _reader.ReadToEndAsync().ConfigureAwait(false);
- var _body = Client.Deserialize>(_content);
+ var _body = Client.Deserialize>(_content);
return _body;
}
}
@@ -242,7 +242,7 @@ internal async Task OnCreateChannelFailed(Request req, Response res)
partial void HandleFailedListRepositoriesRequest(RestApiException ex);
- public async Task> ListRepositoriesAsync(
+ public async Task> ListRepositoriesAsync(
int id,
int? withBuildsInDays = default,
CancellationToken cancellationToken = default
@@ -285,7 +285,7 @@ public async Task> ListRepositoriesAsync(
using (var _reader = new StreamReader(_res.ContentStream))
{
var _content = await _reader.ReadToEndAsync().ConfigureAwait(false);
- var _body = Client.Deserialize>(_content);
+ var _body = Client.Deserialize>(_content);
return _body;
}
}
@@ -587,7 +587,7 @@ internal async Task OnRemoveBuildFromChannelFailed(Request req, Response res)
bool includeArcade,
bool includeBuildTimes,
bool includeDisabledSubscriptions,
- IImmutableList includedFrequencies = default,
+ List includedFrequencies = default,
CancellationToken cancellationToken = default
)
{
@@ -605,7 +605,7 @@ internal async Task OnRemoveBuildFromChannelFailed(Request req, Response res)
{
_url.AppendQuery("includeDisabledSubscriptions", Client.Serialize(includeDisabledSubscriptions));
}
- if (includedFrequencies != default(IImmutableList))
+ if (includedFrequencies != default(List))
{
foreach (var _item in includedFrequencies)
{
diff --git a/src/ProductConstructionService/ProductConstructionService.Client/Generated/DefaultChannels.cs b/src/ProductConstructionService/Microsoft.DotNet.ProductConstructionService.Client/Generated/DefaultChannels.cs
similarity index 97%
rename from src/ProductConstructionService/ProductConstructionService.Client/Generated/DefaultChannels.cs
rename to src/ProductConstructionService/Microsoft.DotNet.ProductConstructionService.Client/Generated/DefaultChannels.cs
index 82fd112125..5dd08ffd96 100644
--- a/src/ProductConstructionService/ProductConstructionService.Client/Generated/DefaultChannels.cs
+++ b/src/ProductConstructionService/Microsoft.DotNet.ProductConstructionService.Client/Generated/DefaultChannels.cs
@@ -2,7 +2,7 @@
// The .NET Foundation licenses this file to you under the MIT license.
using System;
-using System.Collections.Immutable;
+using System.Collections.Generic;
using System.IO;
using System.Text;
using System.Threading;
@@ -12,11 +12,11 @@
-namespace ProductConstructionService.Client
+namespace Microsoft.DotNet.ProductConstructionService.Client
{
public partial interface IDefaultChannels
{
- Task> ListAsync(
+ Task> ListAsync(
string branch = default,
bool? enabled = default,
int? channelId = default,
@@ -60,7 +60,7 @@ public DefaultChannels(ProductConstructionServiceApi client)
partial void HandleFailedListRequest(RestApiException ex);
- public async Task> ListAsync(
+ public async Task> ListAsync(
string branch = default,
bool? enabled = default,
int? channelId = default,
@@ -117,7 +117,7 @@ public DefaultChannels(ProductConstructionServiceApi client)
using (var _reader = new StreamReader(_res.ContentStream))
{
var _content = await _reader.ReadToEndAsync().ConfigureAwait(false);
- var _body = Client.Deserialize>(_content);
+ var _body = Client.Deserialize>(_content);
return _body;
}
}
diff --git a/src/ProductConstructionService/ProductConstructionService.Client/Generated/Goal.cs b/src/ProductConstructionService/Microsoft.DotNet.ProductConstructionService.Client/Generated/Goal.cs
similarity index 99%
rename from src/ProductConstructionService/ProductConstructionService.Client/Generated/Goal.cs
rename to src/ProductConstructionService/Microsoft.DotNet.ProductConstructionService.Client/Generated/Goal.cs
index 979aa69c86..369f71ff0b 100644
--- a/src/ProductConstructionService/ProductConstructionService.Client/Generated/Goal.cs
+++ b/src/ProductConstructionService/Microsoft.DotNet.ProductConstructionService.Client/Generated/Goal.cs
@@ -11,7 +11,7 @@
-namespace ProductConstructionService.Client
+namespace Microsoft.DotNet.ProductConstructionService.Client
{
public partial interface IGoal
{
diff --git a/src/ProductConstructionService/ProductConstructionService.Client/Generated/Models/ApiError.cs b/src/ProductConstructionService/Microsoft.DotNet.ProductConstructionService.Client/Generated/Models/ApiError.cs
similarity index 71%
rename from src/ProductConstructionService/ProductConstructionService.Client/Generated/Models/ApiError.cs
rename to src/ProductConstructionService/Microsoft.DotNet.ProductConstructionService.Client/Generated/Models/ApiError.cs
index 9a256a509e..cd3ef97861 100644
--- a/src/ProductConstructionService/ProductConstructionService.Client/Generated/Models/ApiError.cs
+++ b/src/ProductConstructionService/Microsoft.DotNet.ProductConstructionService.Client/Generated/Models/ApiError.cs
@@ -1,10 +1,10 @@
// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.
-using System.Collections.Immutable;
+using System.Collections.Generic;
using Newtonsoft.Json;
-namespace ProductConstructionService.Client.Models
+namespace Microsoft.DotNet.ProductConstructionService.Client.Models
{
public partial class ApiError
{
@@ -16,6 +16,6 @@ public ApiError()
public string Message { get; set; }
[JsonProperty("errors")]
- public IImmutableList Errors { get; set; }
+ public List Errors { get; set; }
}
}
diff --git a/src/ProductConstructionService/ProductConstructionService.Client/Generated/Models/Asset.cs b/src/ProductConstructionService/Microsoft.DotNet.ProductConstructionService.Client/Generated/Models/Asset.cs
similarity index 79%
rename from src/ProductConstructionService/ProductConstructionService.Client/Generated/Models/Asset.cs
rename to src/ProductConstructionService/Microsoft.DotNet.ProductConstructionService.Client/Generated/Models/Asset.cs
index 6eb5b33346..4a7e04e681 100644
--- a/src/ProductConstructionService/ProductConstructionService.Client/Generated/Models/Asset.cs
+++ b/src/ProductConstructionService/Microsoft.DotNet.ProductConstructionService.Client/Generated/Models/Asset.cs
@@ -1,14 +1,14 @@
// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.
-using System.Collections.Immutable;
+using System.Collections.Generic;
using Newtonsoft.Json;
-namespace ProductConstructionService.Client.Models
+namespace Microsoft.DotNet.ProductConstructionService.Client.Models
{
public partial class Asset
{
- public Asset(int id, int buildId, bool nonShipping, string name, string version, IImmutableList locations)
+ public Asset(int id, int buildId, bool nonShipping, string name, string version, List locations)
{
Id = id;
BuildId = buildId;
@@ -34,6 +34,6 @@ public Asset(int id, int buildId, bool nonShipping, string name, string version,
public bool NonShipping { get; set; }
[JsonProperty("locations")]
- public IImmutableList Locations { get; }
+ public List Locations { get; }
}
}
diff --git a/src/ProductConstructionService/ProductConstructionService.Client/Generated/Models/AssetAndLocation.cs b/src/ProductConstructionService/Microsoft.DotNet.ProductConstructionService.Client/Generated/Models/AssetAndLocation.cs
similarity index 79%
rename from src/ProductConstructionService/ProductConstructionService.Client/Generated/Models/AssetAndLocation.cs
rename to src/ProductConstructionService/Microsoft.DotNet.ProductConstructionService.Client/Generated/Models/AssetAndLocation.cs
index 01bada8070..b0439352a7 100644
--- a/src/ProductConstructionService/ProductConstructionService.Client/Generated/Models/AssetAndLocation.cs
+++ b/src/ProductConstructionService/Microsoft.DotNet.ProductConstructionService.Client/Generated/Models/AssetAndLocation.cs
@@ -3,11 +3,11 @@
using Newtonsoft.Json;
-namespace ProductConstructionService.Client.Models
+namespace Microsoft.DotNet.ProductConstructionService.Client.Models
{
public partial class AssetAndLocation
{
- public AssetAndLocation(int assetId, Models.LocationType locationType)
+ public AssetAndLocation(int assetId, LocationType locationType)
{
AssetId = assetId;
LocationType = locationType;
@@ -20,7 +20,7 @@ public AssetAndLocation(int assetId, Models.LocationType locationType)
public string Location { get; set; }
[JsonProperty("locationType")]
- public Models.LocationType LocationType { get; set; }
+ public LocationType LocationType { get; set; }
[JsonIgnore]
public bool IsValid
diff --git a/src/ProductConstructionService/ProductConstructionService.Client/Generated/Models/AssetData.cs b/src/ProductConstructionService/Microsoft.DotNet.ProductConstructionService.Client/Generated/Models/AssetData.cs
similarity index 77%
rename from src/ProductConstructionService/ProductConstructionService.Client/Generated/Models/AssetData.cs
rename to src/ProductConstructionService/Microsoft.DotNet.ProductConstructionService.Client/Generated/Models/AssetData.cs
index e13b61a5c1..bd8af74f2e 100644
--- a/src/ProductConstructionService/ProductConstructionService.Client/Generated/Models/AssetData.cs
+++ b/src/ProductConstructionService/Microsoft.DotNet.ProductConstructionService.Client/Generated/Models/AssetData.cs
@@ -1,10 +1,10 @@
// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.
-using System.Collections.Immutable;
+using System.Collections.Generic;
using Newtonsoft.Json;
-namespace ProductConstructionService.Client.Models
+namespace Microsoft.DotNet.ProductConstructionService.Client.Models
{
public partial class AssetData
{
@@ -23,6 +23,6 @@ public AssetData(bool nonShipping)
public bool NonShipping { get; set; }
[JsonProperty("locations")]
- public IImmutableList Locations { get; set; }
+ public List Locations { get; set; }
}
}
diff --git a/src/ProductConstructionService/ProductConstructionService.Client/Generated/Models/AssetLocation.cs b/src/ProductConstructionService/Microsoft.DotNet.ProductConstructionService.Client/Generated/Models/AssetLocation.cs
similarity index 79%
rename from src/ProductConstructionService/ProductConstructionService.Client/Generated/Models/AssetLocation.cs
rename to src/ProductConstructionService/Microsoft.DotNet.ProductConstructionService.Client/Generated/Models/AssetLocation.cs
index 4a55f8bf39..3eafc94434 100644
--- a/src/ProductConstructionService/ProductConstructionService.Client/Generated/Models/AssetLocation.cs
+++ b/src/ProductConstructionService/Microsoft.DotNet.ProductConstructionService.Client/Generated/Models/AssetLocation.cs
@@ -3,11 +3,11 @@
using Newtonsoft.Json;
-namespace ProductConstructionService.Client.Models
+namespace Microsoft.DotNet.ProductConstructionService.Client.Models
{
public partial class AssetLocation
{
- public AssetLocation(int id, Models.LocationType type, string location)
+ public AssetLocation(int id, LocationType type, string location)
{
Id = id;
Type = type;
@@ -21,7 +21,7 @@ public AssetLocation(int id, Models.LocationType type, string location)
public string Location { get; }
[JsonProperty("type")]
- public Models.LocationType Type { get; set; }
+ public LocationType Type { get; set; }
[JsonIgnore]
public bool IsValid
diff --git a/src/ProductConstructionService/ProductConstructionService.Client/Generated/Models/AssetLocationData.cs b/src/ProductConstructionService/Microsoft.DotNet.ProductConstructionService.Client/Generated/Models/AssetLocationData.cs
similarity index 79%
rename from src/ProductConstructionService/ProductConstructionService.Client/Generated/Models/AssetLocationData.cs
rename to src/ProductConstructionService/Microsoft.DotNet.ProductConstructionService.Client/Generated/Models/AssetLocationData.cs
index 82de28675c..5a9cd6ef49 100644
--- a/src/ProductConstructionService/ProductConstructionService.Client/Generated/Models/AssetLocationData.cs
+++ b/src/ProductConstructionService/Microsoft.DotNet.ProductConstructionService.Client/Generated/Models/AssetLocationData.cs
@@ -3,11 +3,11 @@
using Newtonsoft.Json;
-namespace ProductConstructionService.Client.Models
+namespace Microsoft.DotNet.ProductConstructionService.Client.Models
{
public partial class AssetLocationData
{
- public AssetLocationData(Models.LocationType type)
+ public AssetLocationData(LocationType type)
{
Type = type;
}
@@ -16,7 +16,7 @@ public AssetLocationData(Models.LocationType type)
public string Location { get; set; }
[JsonProperty("type")]
- public Models.LocationType Type { get; set; }
+ public LocationType Type { get; set; }
[JsonIgnore]
public bool IsValid
diff --git a/src/ProductConstructionService/ProductConstructionService.Client/Generated/Models/AzDoBuild.cs b/src/ProductConstructionService/Microsoft.DotNet.ProductConstructionService.Client/Generated/Models/AzDoBuild.cs
similarity index 93%
rename from src/ProductConstructionService/ProductConstructionService.Client/Generated/Models/AzDoBuild.cs
rename to src/ProductConstructionService/Microsoft.DotNet.ProductConstructionService.Client/Generated/Models/AzDoBuild.cs
index ee0020306b..419e5c0560 100644
--- a/src/ProductConstructionService/ProductConstructionService.Client/Generated/Models/AzDoBuild.cs
+++ b/src/ProductConstructionService/Microsoft.DotNet.ProductConstructionService.Client/Generated/Models/AzDoBuild.cs
@@ -4,7 +4,7 @@
using System;
using Newtonsoft.Json;
-namespace ProductConstructionService.Client.Models
+namespace Microsoft.DotNet.ProductConstructionService.Client.Models
{
public partial class AzDoBuild
{
diff --git a/src/ProductConstructionService/ProductConstructionService.Client/Generated/Models/Build.cs b/src/ProductConstructionService/Microsoft.DotNet.ProductConstructionService.Client/Generated/Models/Build.cs
similarity index 78%
rename from src/ProductConstructionService/ProductConstructionService.Client/Generated/Models/Build.cs
rename to src/ProductConstructionService/Microsoft.DotNet.ProductConstructionService.Client/Generated/Models/Build.cs
index 2fc6b6697a..b21d84536d 100644
--- a/src/ProductConstructionService/ProductConstructionService.Client/Generated/Models/Build.cs
+++ b/src/ProductConstructionService/Microsoft.DotNet.ProductConstructionService.Client/Generated/Models/Build.cs
@@ -2,14 +2,14 @@
// The .NET Foundation licenses this file to you under the MIT license.
using System;
-using System.Collections.Immutable;
+using System.Collections.Generic;
using Newtonsoft.Json;
-namespace ProductConstructionService.Client.Models
+namespace Microsoft.DotNet.ProductConstructionService.Client.Models
{
public partial class Build
{
- public Build(int id, DateTimeOffset dateProduced, int staleness, bool released, bool stable, string commit, IImmutableList channels, IImmutableList assets, IImmutableList dependencies, IImmutableList incoherencies)
+ public Build(int id, DateTimeOffset dateProduced, int staleness, bool released, bool stable, string commit, List channels, List assets, List dependencies, List incoherencies)
{
Id = id;
DateProduced = dateProduced;
@@ -60,16 +60,16 @@ public Build(int id, DateTimeOffset dateProduced, int staleness, bool released,
public DateTimeOffset DateProduced { get; }
[JsonProperty("channels")]
- public IImmutableList Channels { get; }
+ public List Channels { get; }
[JsonProperty("assets")]
- public IImmutableList Assets { get; }
+ public List Assets { get; }
[JsonProperty("dependencies")]
- public IImmutableList Dependencies { get; }
+ public List Dependencies { get; }
[JsonProperty("incoherencies")]
- public IImmutableList Incoherencies { get; }
+ public List Incoherencies { get; }
[JsonProperty("staleness")]
public int Staleness { get; }
diff --git a/src/ProductConstructionService/ProductConstructionService.Client/Generated/Models/BuildData.cs b/src/ProductConstructionService/Microsoft.DotNet.ProductConstructionService.Client/Generated/Models/BuildData.cs
similarity index 90%
rename from src/ProductConstructionService/ProductConstructionService.Client/Generated/Models/BuildData.cs
rename to src/ProductConstructionService/Microsoft.DotNet.ProductConstructionService.Client/Generated/Models/BuildData.cs
index 05cb82bebe..51b29a47c9 100644
--- a/src/ProductConstructionService/ProductConstructionService.Client/Generated/Models/BuildData.cs
+++ b/src/ProductConstructionService/Microsoft.DotNet.ProductConstructionService.Client/Generated/Models/BuildData.cs
@@ -1,10 +1,10 @@
// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.
-using System.Collections.Immutable;
+using System.Collections.Generic;
using Newtonsoft.Json;
-namespace ProductConstructionService.Client.Models
+namespace Microsoft.DotNet.ProductConstructionService.Client.Models
{
public partial class BuildData
{
@@ -24,10 +24,10 @@ public BuildData(string commit, string azureDevOpsAccount, string azureDevOpsPro
public string Commit { get; set; }
[JsonProperty("assets")]
- public IImmutableList Assets { get; set; }
+ public List Assets { get; set; }
[JsonProperty("dependencies")]
- public IImmutableList Dependencies { get; set; }
+ public List Dependencies { get; set; }
[JsonProperty("azureDevOpsBuildId")]
public int? AzureDevOpsBuildId { get; set; }
@@ -63,7 +63,7 @@ public BuildData(string commit, string azureDevOpsAccount, string azureDevOpsPro
public bool Stable { get; set; }
[JsonProperty("incoherencies")]
- public IImmutableList Incoherencies { get; set; }
+ public List Incoherencies { get; set; }
[JsonIgnore]
public bool IsValid
diff --git a/src/ProductConstructionService/ProductConstructionService.Client/Generated/Models/BuildGraph.cs b/src/ProductConstructionService/Microsoft.DotNet.ProductConstructionService.Client/Generated/Models/BuildGraph.cs
similarity index 61%
rename from src/ProductConstructionService/ProductConstructionService.Client/Generated/Models/BuildGraph.cs
rename to src/ProductConstructionService/Microsoft.DotNet.ProductConstructionService.Client/Generated/Models/BuildGraph.cs
index 8712dbad89..f4ff58e2e9 100644
--- a/src/ProductConstructionService/ProductConstructionService.Client/Generated/Models/BuildGraph.cs
+++ b/src/ProductConstructionService/Microsoft.DotNet.ProductConstructionService.Client/Generated/Models/BuildGraph.cs
@@ -1,27 +1,27 @@
// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.
-using System.Collections.Immutable;
+using System.Collections.Generic;
using Newtonsoft.Json;
-namespace ProductConstructionService.Client.Models
+namespace Microsoft.DotNet.ProductConstructionService.Client.Models
{
public partial class BuildGraph
{
- public BuildGraph(IImmutableDictionary builds)
+ public BuildGraph(Dictionary builds)
{
Builds = builds;
}
[JsonProperty("builds")]
- public IImmutableDictionary Builds { get; set; }
+ public Dictionary Builds { get; set; }
[JsonIgnore]
public bool IsValid
{
get
{
- if (Builds == default(IImmutableDictionary))
+ if (Builds == default(Dictionary))
{
return false;
}
diff --git a/src/ProductConstructionService/ProductConstructionService.Client/Generated/Models/BuildIncoherence.cs b/src/ProductConstructionService/Microsoft.DotNet.ProductConstructionService.Client/Generated/Models/BuildIncoherence.cs
similarity index 89%
rename from src/ProductConstructionService/ProductConstructionService.Client/Generated/Models/BuildIncoherence.cs
rename to src/ProductConstructionService/Microsoft.DotNet.ProductConstructionService.Client/Generated/Models/BuildIncoherence.cs
index 8c6ffd295f..a1e90c818c 100644
--- a/src/ProductConstructionService/ProductConstructionService.Client/Generated/Models/BuildIncoherence.cs
+++ b/src/ProductConstructionService/Microsoft.DotNet.ProductConstructionService.Client/Generated/Models/BuildIncoherence.cs
@@ -3,7 +3,7 @@
using Newtonsoft.Json;
-namespace ProductConstructionService.Client.Models
+namespace Microsoft.DotNet.ProductConstructionService.Client.Models
{
public partial class BuildIncoherence
{
diff --git a/src/ProductConstructionService/ProductConstructionService.Client/Generated/Models/BuildRef.cs b/src/ProductConstructionService/Microsoft.DotNet.ProductConstructionService.Client/Generated/Models/BuildRef.cs
similarity index 91%
rename from src/ProductConstructionService/ProductConstructionService.Client/Generated/Models/BuildRef.cs
rename to src/ProductConstructionService/Microsoft.DotNet.ProductConstructionService.Client/Generated/Models/BuildRef.cs
index 6cfe51e033..8aa33faf58 100644
--- a/src/ProductConstructionService/ProductConstructionService.Client/Generated/Models/BuildRef.cs
+++ b/src/ProductConstructionService/Microsoft.DotNet.ProductConstructionService.Client/Generated/Models/BuildRef.cs
@@ -3,7 +3,7 @@
using Newtonsoft.Json;
-namespace ProductConstructionService.Client.Models
+namespace Microsoft.DotNet.ProductConstructionService.Client.Models
{
public partial class BuildRef
{
diff --git a/src/ProductConstructionService/ProductConstructionService.Client/Generated/Models/BuildTime.cs b/src/ProductConstructionService/Microsoft.DotNet.ProductConstructionService.Client/Generated/Models/BuildTime.cs
similarity index 90%
rename from src/ProductConstructionService/ProductConstructionService.Client/Generated/Models/BuildTime.cs
rename to src/ProductConstructionService/Microsoft.DotNet.ProductConstructionService.Client/Generated/Models/BuildTime.cs
index d4e3392b78..bed339e8d9 100644
--- a/src/ProductConstructionService/ProductConstructionService.Client/Generated/Models/BuildTime.cs
+++ b/src/ProductConstructionService/Microsoft.DotNet.ProductConstructionService.Client/Generated/Models/BuildTime.cs
@@ -3,7 +3,7 @@
using Newtonsoft.Json;
-namespace ProductConstructionService.Client.Models
+namespace Microsoft.DotNet.ProductConstructionService.Client.Models
{
public partial class BuildTime
{
diff --git a/src/ProductConstructionService/ProductConstructionService.Client/Generated/Models/BuildUpdate.cs b/src/ProductConstructionService/Microsoft.DotNet.ProductConstructionService.Client/Generated/Models/BuildUpdate.cs
similarity index 83%
rename from src/ProductConstructionService/ProductConstructionService.Client/Generated/Models/BuildUpdate.cs
rename to src/ProductConstructionService/Microsoft.DotNet.ProductConstructionService.Client/Generated/Models/BuildUpdate.cs
index c2a1c0de09..98d5a42924 100644
--- a/src/ProductConstructionService/ProductConstructionService.Client/Generated/Models/BuildUpdate.cs
+++ b/src/ProductConstructionService/Microsoft.DotNet.ProductConstructionService.Client/Generated/Models/BuildUpdate.cs
@@ -3,7 +3,7 @@
using Newtonsoft.Json;
-namespace ProductConstructionService.Client.Models
+namespace Microsoft.DotNet.ProductConstructionService.Client.Models
{
public partial class BuildUpdate
{
diff --git a/src/ProductConstructionService/ProductConstructionService.Client/Generated/Models/Channel.cs b/src/ProductConstructionService/Microsoft.DotNet.ProductConstructionService.Client/Generated/Models/Channel.cs
similarity index 93%
rename from src/ProductConstructionService/ProductConstructionService.Client/Generated/Models/Channel.cs
rename to src/ProductConstructionService/Microsoft.DotNet.ProductConstructionService.Client/Generated/Models/Channel.cs
index 6fa5433d62..134dfab719 100644
--- a/src/ProductConstructionService/ProductConstructionService.Client/Generated/Models/Channel.cs
+++ b/src/ProductConstructionService/Microsoft.DotNet.ProductConstructionService.Client/Generated/Models/Channel.cs
@@ -3,7 +3,7 @@
using Newtonsoft.Json;
-namespace ProductConstructionService.Client.Models
+namespace Microsoft.DotNet.ProductConstructionService.Client.Models
{
public partial class Channel
{
diff --git a/src/ProductConstructionService/ProductConstructionService.Client/Generated/Models/Commit.cs b/src/ProductConstructionService/Microsoft.DotNet.ProductConstructionService.Client/Generated/Models/Commit.cs
similarity index 87%
rename from src/ProductConstructionService/ProductConstructionService.Client/Generated/Models/Commit.cs
rename to src/ProductConstructionService/Microsoft.DotNet.ProductConstructionService.Client/Generated/Models/Commit.cs
index b3ee81690d..fb0e2ed70c 100644
--- a/src/ProductConstructionService/ProductConstructionService.Client/Generated/Models/Commit.cs
+++ b/src/ProductConstructionService/Microsoft.DotNet.ProductConstructionService.Client/Generated/Models/Commit.cs
@@ -3,7 +3,7 @@
using Newtonsoft.Json;
-namespace ProductConstructionService.Client.Models
+namespace Microsoft.DotNet.ProductConstructionService.Client.Models
{
public partial class Commit
{
diff --git a/src/ProductConstructionService/ProductConstructionService.Client/Generated/Models/DefaultChannel.cs b/src/ProductConstructionService/Microsoft.DotNet.ProductConstructionService.Client/Generated/Models/DefaultChannel.cs
similarity index 89%
rename from src/ProductConstructionService/ProductConstructionService.Client/Generated/Models/DefaultChannel.cs
rename to src/ProductConstructionService/Microsoft.DotNet.ProductConstructionService.Client/Generated/Models/DefaultChannel.cs
index 6e76b117f8..c5ccf58af6 100644
--- a/src/ProductConstructionService/ProductConstructionService.Client/Generated/Models/DefaultChannel.cs
+++ b/src/ProductConstructionService/Microsoft.DotNet.ProductConstructionService.Client/Generated/Models/DefaultChannel.cs
@@ -3,7 +3,7 @@
using Newtonsoft.Json;
-namespace ProductConstructionService.Client.Models
+namespace Microsoft.DotNet.ProductConstructionService.Client.Models
{
public partial class DefaultChannel
{
@@ -24,7 +24,7 @@ public DefaultChannel(int id, string repository, bool enabled)
public string Branch { get; set; }
[JsonProperty("channel")]
- public Models.Channel Channel { get; set; }
+ public Channel Channel { get; set; }
[JsonProperty("enabled")]
public bool Enabled { get; set; }
diff --git a/src/ProductConstructionService/ProductConstructionService.Client/Generated/Models/DefaultChannelCreateData.cs b/src/ProductConstructionService/Microsoft.DotNet.ProductConstructionService.Client/Generated/Models/DefaultChannelCreateData.cs
similarity index 94%
rename from src/ProductConstructionService/ProductConstructionService.Client/Generated/Models/DefaultChannelCreateData.cs
rename to src/ProductConstructionService/Microsoft.DotNet.ProductConstructionService.Client/Generated/Models/DefaultChannelCreateData.cs
index f0c5393703..d17a44c858 100644
--- a/src/ProductConstructionService/ProductConstructionService.Client/Generated/Models/DefaultChannelCreateData.cs
+++ b/src/ProductConstructionService/Microsoft.DotNet.ProductConstructionService.Client/Generated/Models/DefaultChannelCreateData.cs
@@ -3,7 +3,7 @@
using Newtonsoft.Json;
-namespace ProductConstructionService.Client.Models
+namespace Microsoft.DotNet.ProductConstructionService.Client.Models
{
public partial class DefaultChannelCreateData
{
diff --git a/src/ProductConstructionService/ProductConstructionService.Client/Generated/Models/DefaultChannelUpdateData.cs b/src/ProductConstructionService/Microsoft.DotNet.ProductConstructionService.Client/Generated/Models/DefaultChannelUpdateData.cs
similarity index 89%
rename from src/ProductConstructionService/ProductConstructionService.Client/Generated/Models/DefaultChannelUpdateData.cs
rename to src/ProductConstructionService/Microsoft.DotNet.ProductConstructionService.Client/Generated/Models/DefaultChannelUpdateData.cs
index 0bf9ddee74..9dfe401ae2 100644
--- a/src/ProductConstructionService/ProductConstructionService.Client/Generated/Models/DefaultChannelUpdateData.cs
+++ b/src/ProductConstructionService/Microsoft.DotNet.ProductConstructionService.Client/Generated/Models/DefaultChannelUpdateData.cs
@@ -3,7 +3,7 @@
using Newtonsoft.Json;
-namespace ProductConstructionService.Client.Models
+namespace Microsoft.DotNet.ProductConstructionService.Client.Models
{
public partial class DefaultChannelUpdateData
{
diff --git a/src/ProductConstructionService/ProductConstructionService.Client/Generated/Models/FlowEdge.cs b/src/ProductConstructionService/Microsoft.DotNet.ProductConstructionService.Client/Generated/Models/FlowEdge.cs
similarity index 94%
rename from src/ProductConstructionService/ProductConstructionService.Client/Generated/Models/FlowEdge.cs
rename to src/ProductConstructionService/Microsoft.DotNet.ProductConstructionService.Client/Generated/Models/FlowEdge.cs
index beaac8a9eb..8b4f4cf203 100644
--- a/src/ProductConstructionService/ProductConstructionService.Client/Generated/Models/FlowEdge.cs
+++ b/src/ProductConstructionService/Microsoft.DotNet.ProductConstructionService.Client/Generated/Models/FlowEdge.cs
@@ -4,7 +4,7 @@
using System;
using Newtonsoft.Json;
-namespace ProductConstructionService.Client.Models
+namespace Microsoft.DotNet.ProductConstructionService.Client.Models
{
public partial class FlowEdge
{
diff --git a/src/ProductConstructionService/ProductConstructionService.Client/Generated/Models/FlowGraph.cs b/src/ProductConstructionService/Microsoft.DotNet.ProductConstructionService.Client/Generated/Models/FlowGraph.cs
similarity index 57%
rename from src/ProductConstructionService/ProductConstructionService.Client/Generated/Models/FlowGraph.cs
rename to src/ProductConstructionService/Microsoft.DotNet.ProductConstructionService.Client/Generated/Models/FlowGraph.cs
index ead3669fba..6bb0984b38 100644
--- a/src/ProductConstructionService/ProductConstructionService.Client/Generated/Models/FlowGraph.cs
+++ b/src/ProductConstructionService/Microsoft.DotNet.ProductConstructionService.Client/Generated/Models/FlowGraph.cs
@@ -1,35 +1,35 @@
// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.
-using System.Collections.Immutable;
+using System.Collections.Generic;
using Newtonsoft.Json;
-namespace ProductConstructionService.Client.Models
+namespace Microsoft.DotNet.ProductConstructionService.Client.Models
{
public partial class FlowGraph
{
- public FlowGraph(IImmutableList flowRefs, IImmutableList flowEdges)
+ public FlowGraph(List flowRefs, List flowEdges)
{
FlowRefs = flowRefs;
FlowEdges = flowEdges;
}
[JsonProperty("flowRefs")]
- public IImmutableList FlowRefs { get; set; }
+ public List FlowRefs { get; set; }
[JsonProperty("flowEdges")]
- public IImmutableList FlowEdges { get; set; }
+ public List FlowEdges { get; set; }
[JsonIgnore]
public bool IsValid
{
get
{
- if (FlowRefs == default(IImmutableList))
+ if (FlowRefs == default(List))
{
return false;
}
- if (FlowEdges == default(IImmutableList))
+ if (FlowEdges == default(List))
{
return false;
}
diff --git a/src/ProductConstructionService/ProductConstructionService.Client/Generated/Models/FlowRef.cs b/src/ProductConstructionService/Microsoft.DotNet.ProductConstructionService.Client/Generated/Models/FlowRef.cs
similarity index 87%
rename from src/ProductConstructionService/ProductConstructionService.Client/Generated/Models/FlowRef.cs
rename to src/ProductConstructionService/Microsoft.DotNet.ProductConstructionService.Client/Generated/Models/FlowRef.cs
index af9e904b14..cc2bc2d902 100644
--- a/src/ProductConstructionService/ProductConstructionService.Client/Generated/Models/FlowRef.cs
+++ b/src/ProductConstructionService/Microsoft.DotNet.ProductConstructionService.Client/Generated/Models/FlowRef.cs
@@ -1,10 +1,10 @@
// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.
-using System.Collections.Immutable;
+using System.Collections.Generic;
using Newtonsoft.Json;
-namespace ProductConstructionService.Client.Models
+namespace Microsoft.DotNet.ProductConstructionService.Client.Models
{
public partial class FlowRef
{
@@ -46,9 +46,9 @@ public FlowRef(double officialBuildTime, double prBuildTime, bool onLongestBuild
public int GoalTimeInMinutes { get; set; }
[JsonProperty("inputChannels")]
- public IImmutableList InputChannels { get; set; }
+ public List InputChannels { get; set; }
[JsonProperty("outputChannels")]
- public IImmutableList OutputChannels { get; set; }
+ public List OutputChannels { get; set; }
}
}
diff --git a/src/ProductConstructionService/ProductConstructionService.Client/Generated/Models/Goal.cs b/src/ProductConstructionService/Microsoft.DotNet.ProductConstructionService.Client/Generated/Models/Goal.cs
similarity index 82%
rename from src/ProductConstructionService/ProductConstructionService.Client/Generated/Models/Goal.cs
rename to src/ProductConstructionService/Microsoft.DotNet.ProductConstructionService.Client/Generated/Models/Goal.cs
index f65fbf98ee..a66a8a397a 100644
--- a/src/ProductConstructionService/ProductConstructionService.Client/Generated/Models/Goal.cs
+++ b/src/ProductConstructionService/Microsoft.DotNet.ProductConstructionService.Client/Generated/Models/Goal.cs
@@ -3,7 +3,7 @@
using Newtonsoft.Json;
-namespace ProductConstructionService.Client.Models
+namespace Microsoft.DotNet.ProductConstructionService.Client.Models
{
public partial class Goal
{
@@ -17,7 +17,7 @@ public Goal(int definitionId, int minutes)
public int DefinitionId { get; set; }
[JsonProperty("channel")]
- public Models.Channel Channel { get; set; }
+ public Channel Channel { get; set; }
[JsonProperty("minutes")]
public int Minutes { get; set; }
diff --git a/src/ProductConstructionService/ProductConstructionService.Client/Generated/Models/GoalRequestJson.cs b/src/ProductConstructionService/Microsoft.DotNet.ProductConstructionService.Client/Generated/Models/GoalRequestJson.cs
similarity index 85%
rename from src/ProductConstructionService/ProductConstructionService.Client/Generated/Models/GoalRequestJson.cs
rename to src/ProductConstructionService/Microsoft.DotNet.ProductConstructionService.Client/Generated/Models/GoalRequestJson.cs
index 9528c6d0e1..e2d3c5adf8 100644
--- a/src/ProductConstructionService/ProductConstructionService.Client/Generated/Models/GoalRequestJson.cs
+++ b/src/ProductConstructionService/Microsoft.DotNet.ProductConstructionService.Client/Generated/Models/GoalRequestJson.cs
@@ -3,7 +3,7 @@
using Newtonsoft.Json;
-namespace ProductConstructionService.Client.Models
+namespace Microsoft.DotNet.ProductConstructionService.Client.Models
{
public partial class GoalRequestJson
{
diff --git a/src/ProductConstructionService/ProductConstructionService.Client/Generated/Models/LocationType.cs b/src/ProductConstructionService/Microsoft.DotNet.ProductConstructionService.Client/Generated/Models/LocationType.cs
similarity index 85%
rename from src/ProductConstructionService/ProductConstructionService.Client/Generated/Models/LocationType.cs
rename to src/ProductConstructionService/Microsoft.DotNet.ProductConstructionService.Client/Generated/Models/LocationType.cs
index 5e78800006..d58b2a12bc 100644
--- a/src/ProductConstructionService/ProductConstructionService.Client/Generated/Models/LocationType.cs
+++ b/src/ProductConstructionService/Microsoft.DotNet.ProductConstructionService.Client/Generated/Models/LocationType.cs
@@ -3,7 +3,7 @@
using System.Runtime.Serialization;
-namespace ProductConstructionService.Client.Models
+namespace Microsoft.DotNet.ProductConstructionService.Client.Models
{
public enum LocationType
{
diff --git a/src/ProductConstructionService/ProductConstructionService.Client/Generated/Models/MergePolicy.cs b/src/ProductConstructionService/Microsoft.DotNet.ProductConstructionService.Client/Generated/Models/MergePolicy.cs
similarity index 66%
rename from src/ProductConstructionService/ProductConstructionService.Client/Generated/Models/MergePolicy.cs
rename to src/ProductConstructionService/Microsoft.DotNet.ProductConstructionService.Client/Generated/Models/MergePolicy.cs
index a0b969fa86..c600d0e747 100644
--- a/src/ProductConstructionService/ProductConstructionService.Client/Generated/Models/MergePolicy.cs
+++ b/src/ProductConstructionService/Microsoft.DotNet.ProductConstructionService.Client/Generated/Models/MergePolicy.cs
@@ -1,10 +1,10 @@
// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.
-using System.Collections.Immutable;
+using System.Collections.Generic;
using Newtonsoft.Json;
-namespace ProductConstructionService.Client.Models
+namespace Microsoft.DotNet.ProductConstructionService.Client.Models
{
public partial class MergePolicy
{
@@ -16,6 +16,6 @@ public MergePolicy()
public string Name { get; set; }
[JsonProperty("properties")]
- public IImmutableDictionary Properties { get; set; }
+ public Dictionary Properties { get; set; }
}
}
diff --git a/src/ProductConstructionService/Microsoft.DotNet.ProductConstructionService.Client/Generated/Models/PullRequestUpdate.cs b/src/ProductConstructionService/Microsoft.DotNet.ProductConstructionService.Client/Generated/Models/PullRequestUpdate.cs
new file mode 100644
index 0000000000..d1e6298ab2
--- /dev/null
+++ b/src/ProductConstructionService/Microsoft.DotNet.ProductConstructionService.Client/Generated/Models/PullRequestUpdate.cs
@@ -0,0 +1,17 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+
+using Newtonsoft.Json;
+
+namespace Microsoft.DotNet.ProductConstructionService.Client.Models
+{
+ public partial class PullRequestUpdate
+ {
+ public PullRequestUpdate()
+ {
+ }
+
+ [JsonProperty("sourceRepository")]
+ public string SourceRepository { get; set; }
+ }
+}
diff --git a/src/ProductConstructionService/ProductConstructionService.Client/Generated/Models/ReleasePipeline.cs b/src/ProductConstructionService/Microsoft.DotNet.ProductConstructionService.Client/Generated/Models/ReleasePipeline.cs
similarity index 91%
rename from src/ProductConstructionService/ProductConstructionService.Client/Generated/Models/ReleasePipeline.cs
rename to src/ProductConstructionService/Microsoft.DotNet.ProductConstructionService.Client/Generated/Models/ReleasePipeline.cs
index 329589cf44..40a76b1956 100644
--- a/src/ProductConstructionService/ProductConstructionService.Client/Generated/Models/ReleasePipeline.cs
+++ b/src/ProductConstructionService/Microsoft.DotNet.ProductConstructionService.Client/Generated/Models/ReleasePipeline.cs
@@ -3,7 +3,7 @@
using Newtonsoft.Json;
-namespace ProductConstructionService.Client.Models
+namespace Microsoft.DotNet.ProductConstructionService.Client.Models
{
public partial class ReleasePipeline
{
diff --git a/src/ProductConstructionService/ProductConstructionService.Client/Generated/Models/RepositoryBranch.cs b/src/ProductConstructionService/Microsoft.DotNet.ProductConstructionService.Client/Generated/Models/RepositoryBranch.cs
similarity index 74%
rename from src/ProductConstructionService/ProductConstructionService.Client/Generated/Models/RepositoryBranch.cs
rename to src/ProductConstructionService/Microsoft.DotNet.ProductConstructionService.Client/Generated/Models/RepositoryBranch.cs
index 5722c153cb..fbbd7059e3 100644
--- a/src/ProductConstructionService/ProductConstructionService.Client/Generated/Models/RepositoryBranch.cs
+++ b/src/ProductConstructionService/Microsoft.DotNet.ProductConstructionService.Client/Generated/Models/RepositoryBranch.cs
@@ -1,10 +1,10 @@
// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.
-using System.Collections.Immutable;
+using System.Collections.Generic;
using Newtonsoft.Json;
-namespace ProductConstructionService.Client.Models
+namespace Microsoft.DotNet.ProductConstructionService.Client.Models
{
public partial class RepositoryBranch
{
@@ -19,6 +19,6 @@ public RepositoryBranch()
public string Branch { get; set; }
[JsonProperty("mergePolicies")]
- public IImmutableList MergePolicies { get; set; }
+ public List MergePolicies { get; set; }
}
}
diff --git a/src/ProductConstructionService/ProductConstructionService.Client/Generated/Models/RepositoryHistoryItem.cs b/src/ProductConstructionService/Microsoft.DotNet.ProductConstructionService.Client/Generated/Models/RepositoryHistoryItem.cs
similarity index 94%
rename from src/ProductConstructionService/ProductConstructionService.Client/Generated/Models/RepositoryHistoryItem.cs
rename to src/ProductConstructionService/Microsoft.DotNet.ProductConstructionService.Client/Generated/Models/RepositoryHistoryItem.cs
index 4ddabe36eb..47c1ddbb10 100644
--- a/src/ProductConstructionService/ProductConstructionService.Client/Generated/Models/RepositoryHistoryItem.cs
+++ b/src/ProductConstructionService/Microsoft.DotNet.ProductConstructionService.Client/Generated/Models/RepositoryHistoryItem.cs
@@ -4,7 +4,7 @@
using System;
using Newtonsoft.Json;
-namespace ProductConstructionService.Client.Models
+namespace Microsoft.DotNet.ProductConstructionService.Client.Models
{
public partial class RepositoryHistoryItem
{
diff --git a/src/ProductConstructionService/ProductConstructionService.Client/Generated/Models/Subscription.cs b/src/ProductConstructionService/Microsoft.DotNet.ProductConstructionService.Client/Generated/Models/Subscription.cs
similarity index 82%
rename from src/ProductConstructionService/ProductConstructionService.Client/Generated/Models/Subscription.cs
rename to src/ProductConstructionService/Microsoft.DotNet.ProductConstructionService.Client/Generated/Models/Subscription.cs
index c2ae2dde88..2685bcd8af 100644
--- a/src/ProductConstructionService/ProductConstructionService.Client/Generated/Models/Subscription.cs
+++ b/src/ProductConstructionService/Microsoft.DotNet.ProductConstructionService.Client/Generated/Models/Subscription.cs
@@ -2,14 +2,14 @@
// The .NET Foundation licenses this file to you under the MIT license.
using System;
-using System.Collections.Immutable;
+using System.Collections.Generic;
using Newtonsoft.Json;
-namespace ProductConstructionService.Client.Models
+namespace Microsoft.DotNet.ProductConstructionService.Client.Models
{
public partial class Subscription
{
- public Subscription(Guid id, bool enabled, bool sourceEnabled, string sourceRepository, string targetRepository, string targetBranch, string sourceDirectory, string targetDirectory, string pullRequestFailureNotificationTags, IImmutableList excludedAssets)
+ public Subscription(Guid id, bool enabled, bool sourceEnabled, string sourceRepository, string targetRepository, string targetBranch, string sourceDirectory, string targetDirectory, string pullRequestFailureNotificationTags, List excludedAssets)
{
Id = id;
Enabled = enabled;
@@ -27,7 +27,7 @@ public Subscription(Guid id, bool enabled, bool sourceEnabled, string sourceRepo
public Guid Id { get; }
[JsonProperty("channel")]
- public Models.Channel Channel { get; set; }
+ public Channel Channel { get; set; }
[JsonProperty("sourceRepository")]
public string SourceRepository { get; }
@@ -39,10 +39,10 @@ public Subscription(Guid id, bool enabled, bool sourceEnabled, string sourceRepo
public string TargetBranch { get; }
[JsonProperty("policy")]
- public Models.SubscriptionPolicy Policy { get; set; }
+ public SubscriptionPolicy Policy { get; set; }
[JsonProperty("lastAppliedBuild")]
- public Models.Build LastAppliedBuild { get; set; }
+ public Build LastAppliedBuild { get; set; }
[JsonProperty("enabled")]
public bool Enabled { get; }
@@ -60,6 +60,6 @@ public Subscription(Guid id, bool enabled, bool sourceEnabled, string sourceRepo
public string PullRequestFailureNotificationTags { get; }
[JsonProperty("excludedAssets")]
- public IImmutableList ExcludedAssets { get; }
+ public List ExcludedAssets { get; }
}
}
diff --git a/src/ProductConstructionService/ProductConstructionService.Client/Generated/Models/SubscriptionData.cs b/src/ProductConstructionService/Microsoft.DotNet.ProductConstructionService.Client/Generated/Models/SubscriptionData.cs
similarity index 85%
rename from src/ProductConstructionService/ProductConstructionService.Client/Generated/Models/SubscriptionData.cs
rename to src/ProductConstructionService/Microsoft.DotNet.ProductConstructionService.Client/Generated/Models/SubscriptionData.cs
index b85b38ca2f..3979b33fc3 100644
--- a/src/ProductConstructionService/ProductConstructionService.Client/Generated/Models/SubscriptionData.cs
+++ b/src/ProductConstructionService/Microsoft.DotNet.ProductConstructionService.Client/Generated/Models/SubscriptionData.cs
@@ -1,14 +1,14 @@
// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.
-using System.Collections.Immutable;
+using System.Collections.Generic;
using Newtonsoft.Json;
-namespace ProductConstructionService.Client.Models
+namespace Microsoft.DotNet.ProductConstructionService.Client.Models
{
public partial class SubscriptionData
{
- public SubscriptionData(string channelName, string sourceRepository, string targetRepository, string targetBranch, Models.SubscriptionPolicy policy)
+ public SubscriptionData(string channelName, string sourceRepository, string targetRepository, string targetBranch, SubscriptionPolicy policy)
{
ChannelName = channelName;
SourceRepository = sourceRepository;
@@ -42,13 +42,13 @@ public SubscriptionData(string channelName, string sourceRepository, string targ
public string TargetDirectory { get; set; }
[JsonProperty("policy")]
- public Models.SubscriptionPolicy Policy { get; set; }
+ public SubscriptionPolicy Policy { get; set; }
[JsonProperty("pullRequestFailureNotificationTags")]
public string PullRequestFailureNotificationTags { get; set; }
[JsonProperty("excludedAssets")]
- public IImmutableList ExcludedAssets { get; set; }
+ public List ExcludedAssets { get; set; }
[JsonIgnore]
public bool IsValid
@@ -71,7 +71,7 @@ public bool IsValid
{
return false;
}
- if (Policy == default(Models.SubscriptionPolicy))
+ if (Policy == default(SubscriptionPolicy))
{
return false;
}
diff --git a/src/ProductConstructionService/ProductConstructionService.Client/Generated/Models/SubscriptionHistoryItem.cs b/src/ProductConstructionService/Microsoft.DotNet.ProductConstructionService.Client/Generated/Models/SubscriptionHistoryItem.cs
similarity index 94%
rename from src/ProductConstructionService/ProductConstructionService.Client/Generated/Models/SubscriptionHistoryItem.cs
rename to src/ProductConstructionService/Microsoft.DotNet.ProductConstructionService.Client/Generated/Models/SubscriptionHistoryItem.cs
index f82ffc8bce..8382af938e 100644
--- a/src/ProductConstructionService/ProductConstructionService.Client/Generated/Models/SubscriptionHistoryItem.cs
+++ b/src/ProductConstructionService/Microsoft.DotNet.ProductConstructionService.Client/Generated/Models/SubscriptionHistoryItem.cs
@@ -4,7 +4,7 @@
using System;
using Newtonsoft.Json;
-namespace ProductConstructionService.Client.Models
+namespace Microsoft.DotNet.ProductConstructionService.Client.Models
{
public partial class SubscriptionHistoryItem
{
diff --git a/src/ProductConstructionService/ProductConstructionService.Client/Generated/Models/SubscriptionPolicy.cs b/src/ProductConstructionService/Microsoft.DotNet.ProductConstructionService.Client/Generated/Models/SubscriptionPolicy.cs
similarity index 69%
rename from src/ProductConstructionService/ProductConstructionService.Client/Generated/Models/SubscriptionPolicy.cs
rename to src/ProductConstructionService/Microsoft.DotNet.ProductConstructionService.Client/Generated/Models/SubscriptionPolicy.cs
index 5961c46bb4..9005fb292d 100644
--- a/src/ProductConstructionService/ProductConstructionService.Client/Generated/Models/SubscriptionPolicy.cs
+++ b/src/ProductConstructionService/Microsoft.DotNet.ProductConstructionService.Client/Generated/Models/SubscriptionPolicy.cs
@@ -1,14 +1,14 @@
// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.
-using System.Collections.Immutable;
+using System.Collections.Generic;
using Newtonsoft.Json;
-namespace ProductConstructionService.Client.Models
+namespace Microsoft.DotNet.ProductConstructionService.Client.Models
{
public partial class SubscriptionPolicy
{
- public SubscriptionPolicy(bool batchable, Models.UpdateFrequency updateFrequency)
+ public SubscriptionPolicy(bool batchable, UpdateFrequency updateFrequency)
{
Batchable = batchable;
UpdateFrequency = updateFrequency;
@@ -18,10 +18,10 @@ public SubscriptionPolicy(bool batchable, Models.UpdateFrequency updateFrequency
public bool Batchable { get; set; }
[JsonProperty("updateFrequency")]
- public Models.UpdateFrequency UpdateFrequency { get; set; }
+ public UpdateFrequency UpdateFrequency { get; set; }
[JsonProperty("mergePolicies")]
- public IImmutableList MergePolicies { get; set; }
+ public List MergePolicies { get; set; }
[JsonIgnore]
public bool IsValid
diff --git a/src/ProductConstructionService/ProductConstructionService.Client/Generated/Models/SubscriptionUpdate.cs b/src/ProductConstructionService/Microsoft.DotNet.ProductConstructionService.Client/Generated/Models/SubscriptionUpdate.cs
similarity index 82%
rename from src/ProductConstructionService/ProductConstructionService.Client/Generated/Models/SubscriptionUpdate.cs
rename to src/ProductConstructionService/Microsoft.DotNet.ProductConstructionService.Client/Generated/Models/SubscriptionUpdate.cs
index 04e7211a51..665cc2f7d1 100644
--- a/src/ProductConstructionService/ProductConstructionService.Client/Generated/Models/SubscriptionUpdate.cs
+++ b/src/ProductConstructionService/Microsoft.DotNet.ProductConstructionService.Client/Generated/Models/SubscriptionUpdate.cs
@@ -1,10 +1,10 @@
// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.
-using System.Collections.Immutable;
+using System.Collections.Generic;
using Newtonsoft.Json;
-namespace ProductConstructionService.Client.Models
+namespace Microsoft.DotNet.ProductConstructionService.Client.Models
{
public partial class SubscriptionUpdate
{
@@ -19,7 +19,7 @@ public SubscriptionUpdate()
public string SourceRepository { get; set; }
[JsonProperty("policy")]
- public Models.SubscriptionPolicy Policy { get; set; }
+ public SubscriptionPolicy Policy { get; set; }
[JsonProperty("enabled")]
public bool? Enabled { get; set; }
@@ -37,6 +37,6 @@ public SubscriptionUpdate()
public string TargetDirectory { get; set; }
[JsonProperty("excludedAssets")]
- public IImmutableList ExcludedAssets { get; set; }
+ public List ExcludedAssets { get; set; }
}
}
diff --git a/src/ProductConstructionService/Microsoft.DotNet.ProductConstructionService.Client/Generated/Models/TrackedPullRequest.cs b/src/ProductConstructionService/Microsoft.DotNet.ProductConstructionService.Client/Generated/Models/TrackedPullRequest.cs
new file mode 100644
index 0000000000..6957ad9c48
--- /dev/null
+++ b/src/ProductConstructionService/Microsoft.DotNet.ProductConstructionService.Client/Generated/Models/TrackedPullRequest.cs
@@ -0,0 +1,27 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+
+using System.Collections.Generic;
+using Newtonsoft.Json;
+
+namespace Microsoft.DotNet.ProductConstructionService.Client.Models
+{
+ public partial class TrackedPullRequest
+ {
+ public TrackedPullRequest()
+ {
+ }
+
+ [JsonProperty("url")]
+ public string Url { get; set; }
+
+ [JsonProperty("channel")]
+ public string Channel { get; set; }
+
+ [JsonProperty("targetBranch")]
+ public string TargetBranch { get; set; }
+
+ [JsonProperty("updates")]
+ public List Updates { get; set; }
+ }
+}
diff --git a/src/ProductConstructionService/ProductConstructionService.Client/Generated/Models/UpdateFrequency.cs b/src/ProductConstructionService/Microsoft.DotNet.ProductConstructionService.Client/Generated/Models/UpdateFrequency.cs
similarity index 88%
rename from src/ProductConstructionService/ProductConstructionService.Client/Generated/Models/UpdateFrequency.cs
rename to src/ProductConstructionService/Microsoft.DotNet.ProductConstructionService.Client/Generated/Models/UpdateFrequency.cs
index d74312f921..821885e0ae 100644
--- a/src/ProductConstructionService/ProductConstructionService.Client/Generated/Models/UpdateFrequency.cs
+++ b/src/ProductConstructionService/Microsoft.DotNet.ProductConstructionService.Client/Generated/Models/UpdateFrequency.cs
@@ -3,7 +3,7 @@
using System.Runtime.Serialization;
-namespace ProductConstructionService.Client.Models
+namespace Microsoft.DotNet.ProductConstructionService.Client.Models
{
public enum UpdateFrequency
{
diff --git a/src/ProductConstructionService/ProductConstructionService.Client/Generated/PagedResponse.cs b/src/ProductConstructionService/Microsoft.DotNet.ProductConstructionService.Client/Generated/PagedResponse.cs
similarity index 98%
rename from src/ProductConstructionService/ProductConstructionService.Client/Generated/PagedResponse.cs
rename to src/ProductConstructionService/Microsoft.DotNet.ProductConstructionService.Client/Generated/PagedResponse.cs
index dea824818c..a8e358de64 100644
--- a/src/ProductConstructionService/ProductConstructionService.Client/Generated/PagedResponse.cs
+++ b/src/ProductConstructionService/Microsoft.DotNet.ProductConstructionService.Client/Generated/PagedResponse.cs
@@ -8,7 +8,7 @@
using System.Threading.Tasks;
using Azure;
-namespace ProductConstructionService.Client
+namespace Microsoft.DotNet.ProductConstructionService.Client
{
public static class AsyncEnumerable
{
diff --git a/src/ProductConstructionService/ProductConstructionService.Client/Generated/Pipelines.cs b/src/ProductConstructionService/Microsoft.DotNet.ProductConstructionService.Client/Generated/Pipelines.cs
similarity index 97%
rename from src/ProductConstructionService/ProductConstructionService.Client/Generated/Pipelines.cs
rename to src/ProductConstructionService/Microsoft.DotNet.ProductConstructionService.Client/Generated/Pipelines.cs
index 3061564d97..f07544f6cb 100644
--- a/src/ProductConstructionService/ProductConstructionService.Client/Generated/Pipelines.cs
+++ b/src/ProductConstructionService/Microsoft.DotNet.ProductConstructionService.Client/Generated/Pipelines.cs
@@ -2,7 +2,7 @@
// The .NET Foundation licenses this file to you under the MIT license.
using System;
-using System.Collections.Immutable;
+using System.Collections.Generic;
using System.IO;
using System.Threading;
using System.Threading.Tasks;
@@ -11,11 +11,11 @@
-namespace ProductConstructionService.Client
+namespace Microsoft.DotNet.ProductConstructionService.Client
{
public partial interface IPipelines
{
- Task> ListAsync(
+ Task> ListAsync(
string organization = default,
int? pipelineIdentifier = default,
string project = default,
@@ -54,7 +54,7 @@ public Pipelines(ProductConstructionServiceApi client)
partial void HandleFailedListRequest(RestApiException ex);
- public async Task> ListAsync(
+ public async Task> ListAsync(
string organization = default,
int? pipelineIdentifier = default,
string project = default,
@@ -106,7 +106,7 @@ public Pipelines(ProductConstructionServiceApi client)
using (var _reader = new StreamReader(_res.ContentStream))
{
var _content = await _reader.ReadToEndAsync().ConfigureAwait(false);
- var _body = Client.Deserialize>(_content);
+ var _body = Client.Deserialize>(_content);
return _body;
}
}
diff --git a/src/ProductConstructionService/ProductConstructionService.Client/Generated/ProductConstructionServiceApi.cs b/src/ProductConstructionService/Microsoft.DotNet.ProductConstructionService.Client/Generated/ProductConstructionServiceApi.cs
similarity index 98%
rename from src/ProductConstructionService/ProductConstructionService.Client/Generated/ProductConstructionServiceApi.cs
rename to src/ProductConstructionService/Microsoft.DotNet.ProductConstructionService.Client/Generated/ProductConstructionServiceApi.cs
index f85954d6dc..949fe8d24a 100644
--- a/src/ProductConstructionService/ProductConstructionService.Client/Generated/ProductConstructionServiceApi.cs
+++ b/src/ProductConstructionService/Microsoft.DotNet.ProductConstructionService.Client/Generated/ProductConstructionServiceApi.cs
@@ -20,7 +20,7 @@
using Newtonsoft.Json.Converters;
using Newtonsoft.Json.Serialization;
-namespace ProductConstructionService.Client
+namespace Microsoft.DotNet.ProductConstructionService.Client
{
public partial interface IProductConstructionServiceApi
{
@@ -30,10 +30,11 @@ public partial interface IProductConstructionServiceApi
IAzDo AzDo { get; }
IBuilds Builds { get; }
IBuildTime BuildTime { get; }
- IChannels Channels { get; }
IDefaultChannels DefaultChannels { get; }
IGoal Goal { get; }
+ IChannels Channels { get; }
IPipelines Pipelines { get; }
+ IPullRequest PullRequest { get; }
IRepository Repository { get; }
IStatus Status { get; }
ISubscriptions Subscriptions { get; }
@@ -120,14 +121,16 @@ public HttpPipeline Pipeline
public IBuildTime BuildTime { get; }
- public IChannels Channels { get; }
-
public IDefaultChannels DefaultChannels { get; }
public IGoal Goal { get; }
+ public IChannels Channels { get; }
+
public IPipelines Pipelines { get; }
+ public IPullRequest PullRequest { get; }
+
public IRepository Repository { get; }
public IStatus Status { get; }
@@ -147,10 +150,11 @@ public ProductConstructionServiceApi(ProductConstructionServiceApiOptions option
AzDo = new AzDo(this);
Builds = new Builds(this);
BuildTime = new BuildTime(this);
- Channels = new Channels(this);
DefaultChannels = new DefaultChannels(this);
Goal = new Goal(this);
+ Channels = new Channels(this);
Pipelines = new Pipelines(this);
+ PullRequest = new PullRequest(this);
Repository = new Repository(this);
Status = new Status(this);
Subscriptions = new Subscriptions(this);
@@ -179,6 +183,7 @@ internal void OnFailedRequest(RestApiException ex)
partial void HandleFailedRequest(RestApiException ex);
+
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public string Serialize(string value)
{
diff --git a/src/ProductConstructionService/Microsoft.DotNet.ProductConstructionService.Client/Generated/PullRequest.cs b/src/ProductConstructionService/Microsoft.DotNet.ProductConstructionService.Client/Generated/PullRequest.cs
new file mode 100644
index 0000000000..b2b57294e5
--- /dev/null
+++ b/src/ProductConstructionService/Microsoft.DotNet.ProductConstructionService.Client/Generated/PullRequest.cs
@@ -0,0 +1,104 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+
+using System;
+using System.Collections.Generic;
+using System.IO;
+using System.Threading;
+using System.Threading.Tasks;
+using Azure;
+using Azure.Core;
+
+
+
+namespace Microsoft.DotNet.ProductConstructionService.Client
+{
+ public partial interface IPullRequest
+ {
+ Task> GetTrackedPullRequestsAsync(
+ CancellationToken cancellationToken = default
+ );
+
+ }
+
+ internal partial class PullRequest : IServiceOperations, IPullRequest
+ {
+ public PullRequest(ProductConstructionServiceApi client)
+ {
+ Client = client ?? throw new ArgumentNullException(nameof(client));
+ }
+
+ public ProductConstructionServiceApi Client { get; }
+
+ partial void HandleFailedRequest(RestApiException ex);
+
+ partial void HandleFailedGetTrackedPullRequestsRequest(RestApiException ex);
+
+ public async Task> GetTrackedPullRequestsAsync(
+ CancellationToken cancellationToken = default
+ )
+ {
+
+ const string apiVersion = "2020-02-20";
+
+ var _baseUri = Client.Options.BaseUri;
+ var _url = new RequestUriBuilder();
+ _url.Reset(_baseUri);
+ _url.AppendPath(
+ "/api/pull-requests/tracked",
+ false);
+
+ _url.AppendQuery("api-version", Client.Serialize(apiVersion));
+
+
+ using (var _req = Client.Pipeline.CreateRequest())
+ {
+ _req.Uri = _url;
+ _req.Method = RequestMethod.Get;
+
+ using (var _res = await Client.SendAsync(_req, cancellationToken).ConfigureAwait(false))
+ {
+ if (_res.Status < 200 || _res.Status >= 300)
+ {
+ await OnGetTrackedPullRequestsFailed(_req, _res).ConfigureAwait(false);
+ }
+
+ if (_res.ContentStream == null)
+ {
+ await OnGetTrackedPullRequestsFailed(_req, _res).ConfigureAwait(false);
+ }
+
+ using (var _reader = new StreamReader(_res.ContentStream))
+ {
+ var _content = await _reader.ReadToEndAsync().ConfigureAwait(false);
+ var _body = Client.Deserialize>(_content);
+ return _body;
+ }
+ }
+ }
+ }
+
+ internal async Task OnGetTrackedPullRequestsFailed(Request req, Response res)
+ {
+ string content = null;
+ if (res.ContentStream != null)
+ {
+ using (var reader = new StreamReader(res.ContentStream))
+ {
+ content = await reader.ReadToEndAsync().ConfigureAwait(false);
+ }
+ }
+
+ var ex = new RestApiException(
+ req,
+ res,
+ content,
+ Client.Deserialize(content)
+ );
+ HandleFailedGetTrackedPullRequestsRequest(ex);
+ HandleFailedRequest(ex);
+ Client.OnFailedRequest(ex);
+ throw ex;
+ }
+ }
+}
diff --git a/src/ProductConstructionService/ProductConstructionService.Client/Generated/Repository.cs b/src/ProductConstructionService/Microsoft.DotNet.ProductConstructionService.Client/Generated/Repository.cs
similarity index 94%
rename from src/ProductConstructionService/ProductConstructionService.Client/Generated/Repository.cs
rename to src/ProductConstructionService/Microsoft.DotNet.ProductConstructionService.Client/Generated/Repository.cs
index efd210ddf3..6da93f93d7 100644
--- a/src/ProductConstructionService/ProductConstructionService.Client/Generated/Repository.cs
+++ b/src/ProductConstructionService/Microsoft.DotNet.ProductConstructionService.Client/Generated/Repository.cs
@@ -3,7 +3,6 @@
using System;
using System.Collections.Generic;
-using System.Collections.Immutable;
using System.IO;
using System.Text;
using System.Threading;
@@ -13,17 +12,17 @@
-namespace ProductConstructionService.Client
+namespace Microsoft.DotNet.ProductConstructionService.Client
{
public partial interface IRepository
{
- Task> ListRepositoriesAsync(
+ Task> ListRepositoriesAsync(
string branch = default,
string repository = default,
CancellationToken cancellationToken = default
);
- Task> GetMergePoliciesAsync(
+ Task> GetMergePoliciesAsync(
string branch,
string repository,
CancellationToken cancellationToken = default
@@ -32,7 +31,7 @@ public partial interface IRepository
Task SetMergePoliciesAsync(
string branch,
string repository,
- IImmutableList body = default,
+ List body = default,
CancellationToken cancellationToken = default
);
@@ -65,7 +64,7 @@ public Repository(ProductConstructionServiceApi client)
partial void HandleFailedListRepositoriesRequest(RestApiException ex);
- public async Task> ListRepositoriesAsync(
+ public async Task> ListRepositoriesAsync(
string branch = default,
string repository = default,
CancellationToken cancellationToken = default
@@ -112,7 +111,7 @@ public Repository(ProductConstructionServiceApi client)
using (var _reader = new StreamReader(_res.ContentStream))
{
var _content = await _reader.ReadToEndAsync().ConfigureAwait(false);
- var _body = Client.Deserialize>(_content);
+ var _body = Client.Deserialize>(_content);
return _body;
}
}
@@ -144,7 +143,7 @@ internal async Task OnListRepositoriesFailed(Request req, Response res)
partial void HandleFailedGetMergePoliciesRequest(RestApiException ex);
- public async Task> GetMergePoliciesAsync(
+ public async Task> GetMergePoliciesAsync(
string branch,
string repository,
CancellationToken cancellationToken = default
@@ -201,7 +200,7 @@ internal async Task OnListRepositoriesFailed(Request req, Response res)
using (var _reader = new StreamReader(_res.ContentStream))
{
var _content = await _reader.ReadToEndAsync().ConfigureAwait(false);
- var _body = Client.Deserialize>(_content);
+ var _body = Client.Deserialize>(_content);
return _body;
}
}
@@ -236,7 +235,7 @@ internal async Task OnGetMergePoliciesFailed(Request req, Response res)
public async Task SetMergePoliciesAsync(
string branch,
string repository,
- IImmutableList body = default,
+ List body = default,
CancellationToken cancellationToken = default
)
{
@@ -276,7 +275,7 @@ public async Task SetMergePoliciesAsync(
_req.Uri = _url;
_req.Method = RequestMethod.Post;
- if (body != default(IImmutableList))
+ if (body != default(List))
{
_req.Content = RequestContent.Create(Encoding.UTF8.GetBytes(Client.Serialize(body)));
_req.Headers.Add("Content-Type", "application/json; charset=utf-8");
@@ -432,7 +431,7 @@ internal async Task OnSetMergePoliciesFailed(Request req, Response res)
using (var _reader = new StreamReader(_res.ContentStream))
{
var _content = await _reader.ReadToEndAsync().ConfigureAwait(false);
- var _body = Client.Deserialize>(_content);
+ var _body = Client.Deserialize>(_content);
return Page.FromValues(_body, (page + 1).ToString(), _res);
}
}
diff --git a/src/ProductConstructionService/ProductConstructionService.Client/Generated/Status.cs b/src/ProductConstructionService/Microsoft.DotNet.ProductConstructionService.Client/Generated/Status.cs
similarity index 89%
rename from src/ProductConstructionService/ProductConstructionService.Client/Generated/Status.cs
rename to src/ProductConstructionService/Microsoft.DotNet.ProductConstructionService.Client/Generated/Status.cs
index c745505bd1..e7f67fb82b 100644
--- a/src/ProductConstructionService/ProductConstructionService.Client/Generated/Status.cs
+++ b/src/ProductConstructionService/Microsoft.DotNet.ProductConstructionService.Client/Generated/Status.cs
@@ -2,7 +2,7 @@
// The .NET Foundation licenses this file to you under the MIT license.
using System;
-using System.Collections.Immutable;
+using System.Collections.Generic;
using System.IO;
using System.Threading;
using System.Threading.Tasks;
@@ -11,19 +11,19 @@
-namespace ProductConstructionService.Client
+namespace Microsoft.DotNet.ProductConstructionService.Client
{
public partial interface IStatus
{
- Task> GetPcsWorkItemProcessorStatusAsync(
+ Task> GetPcsWorkItemProcessorStatusAsync(
CancellationToken cancellationToken = default
);
- Task> StartPcsWorkItemProcessorsAsync(
+ Task> StartPcsWorkItemProcessorsAsync(
CancellationToken cancellationToken = default
);
- Task> StopPcsWorkItemProcessorsAsync(
+ Task> StopPcsWorkItemProcessorsAsync(
CancellationToken cancellationToken = default
);
@@ -42,7 +42,7 @@ public Status(ProductConstructionServiceApi client)
partial void HandleFailedGetPcsWorkItemProcessorStatusRequest(RestApiException ex);
- public async Task> GetPcsWorkItemProcessorStatusAsync(
+ public async Task> GetPcsWorkItemProcessorStatusAsync(
CancellationToken cancellationToken = default
)
{
@@ -79,7 +79,7 @@ public async Task> GetPcsWorkItemProcessorS
using (var _reader = new StreamReader(_res.ContentStream))
{
var _content = await _reader.ReadToEndAsync().ConfigureAwait(false);
- var _body = Client.Deserialize>(_content);
+ var _body = Client.Deserialize>(_content);
return _body;
}
}
@@ -111,7 +111,7 @@ internal async Task OnGetPcsWorkItemProcessorStatusFailed(Request req, Response
partial void HandleFailedStartPcsWorkItemProcessorsRequest(RestApiException ex);
- public async Task> StartPcsWorkItemProcessorsAsync(
+ public async Task> StartPcsWorkItemProcessorsAsync(
CancellationToken cancellationToken = default
)
{
@@ -148,7 +148,7 @@ public async Task> StartPcsWorkItemProcesso
using (var _reader = new StreamReader(_res.ContentStream))
{
var _content = await _reader.ReadToEndAsync().ConfigureAwait(false);
- var _body = Client.Deserialize>(_content);
+ var _body = Client.Deserialize>(_content);
return _body;
}
}
@@ -180,7 +180,7 @@ internal async Task OnStartPcsWorkItemProcessorsFailed(Request req, Response res
partial void HandleFailedStopPcsWorkItemProcessorsRequest(RestApiException ex);
- public async Task> StopPcsWorkItemProcessorsAsync(
+ public async Task> StopPcsWorkItemProcessorsAsync(
CancellationToken cancellationToken = default
)
{
@@ -217,7 +217,7 @@ public async Task> StopPcsWorkItemProcessor
using (var _reader = new StreamReader(_res.ContentStream))
{
var _content = await _reader.ReadToEndAsync().ConfigureAwait(false);
- var _body = Client.Deserialize>(_content);
+ var _body = Client.Deserialize>(_content);
return _body;
}
}
diff --git a/src/ProductConstructionService/ProductConstructionService.Client/Generated/Subscriptions.cs b/src/ProductConstructionService/Microsoft.DotNet.ProductConstructionService.Client/Generated/Subscriptions.cs
similarity index 98%
rename from src/ProductConstructionService/ProductConstructionService.Client/Generated/Subscriptions.cs
rename to src/ProductConstructionService/Microsoft.DotNet.ProductConstructionService.Client/Generated/Subscriptions.cs
index e7d4992476..9e34c009c7 100644
--- a/src/ProductConstructionService/ProductConstructionService.Client/Generated/Subscriptions.cs
+++ b/src/ProductConstructionService/Microsoft.DotNet.ProductConstructionService.Client/Generated/Subscriptions.cs
@@ -3,7 +3,6 @@
using System;
using System.Collections.Generic;
-using System.Collections.Immutable;
using System.IO;
using System.Text;
using System.Threading;
@@ -13,11 +12,11 @@
-namespace ProductConstructionService.Client
+namespace Microsoft.DotNet.ProductConstructionService.Client
{
public partial interface ISubscriptions
{
- Task> ListSubscriptionsAsync(
+ Task> ListSubscriptionsAsync(
bool? enabled = default,
int? channelId = default,
string sourceDirectory = default,
@@ -86,7 +85,7 @@ public Subscriptions(ProductConstructionServiceApi client)
partial void HandleFailedListSubscriptionsRequest(RestApiException ex);
- public async Task> ListSubscriptionsAsync(
+ public async Task> ListSubscriptionsAsync(
bool? enabled = default,
int? channelId = default,
string sourceDirectory = default,
@@ -158,7 +157,7 @@ public Subscriptions(ProductConstructionServiceApi client)
using (var _reader = new StreamReader(_res.ContentStream))
{
var _content = await _reader.ReadToEndAsync().ConfigureAwait(false);
- var _body = Client.Deserialize>(_content);
+ var _body = Client.Deserialize>(_content);
return _body;
}
}
@@ -719,7 +718,7 @@ internal async Task OnTriggerDailyUpdateFailed(Request req, Response res)
using (var _reader = new StreamReader(_res.ContentStream))
{
var _content = await _reader.ReadToEndAsync().ConfigureAwait(false);
- var _body = Client.Deserialize>(_content);
+ var _body = Client.Deserialize>(_content);
return Page.FromValues(_body, (page + 1).ToString(), _res);
}
}
diff --git a/src/ProductConstructionService/ProductConstructionService.Client/GlobalSuppressions.cs b/src/ProductConstructionService/Microsoft.DotNet.ProductConstructionService.Client/GlobalSuppressions.cs
similarity index 69%
rename from src/ProductConstructionService/ProductConstructionService.Client/GlobalSuppressions.cs
rename to src/ProductConstructionService/Microsoft.DotNet.ProductConstructionService.Client/GlobalSuppressions.cs
index 12ad617984..e0ae4164a9 100644
--- a/src/ProductConstructionService/ProductConstructionService.Client/GlobalSuppressions.cs
+++ b/src/ProductConstructionService/Microsoft.DotNet.ProductConstructionService.Client/GlobalSuppressions.cs
@@ -3,5 +3,5 @@
using System.Diagnostics.CodeAnalysis;
-[assembly: SuppressMessage("Style", "IDE0130:Namespace does not match folder structure", Justification = "Auto-generate code", Scope = "namespaceanddescendants", Target = "~N:ProductConstructionService.Client")]
-[assembly: SuppressMessage("Performance", "CA1822:Mark members as static", Justification = "Auto-generate code", Scope = "namespaceanddescendants", Target = "~N:ProductConstructionService.Client")]
+[assembly: SuppressMessage("Style", "IDE0130:Namespace does not match folder structure", Justification = "Auto-generate code", Scope = "namespaceanddescendants", Target = "~N:Microsoft.DotNet.ProductConstructionService.Client")]
+[assembly: SuppressMessage("Performance", "CA1822:Mark members as static", Justification = "Auto-generate code", Scope = "namespaceanddescendants", Target = "~N:Microsoft.DotNet.ProductConstructionService.Client")]
diff --git a/src/ProductConstructionService/ProductConstructionService.Client/ProductConstructionService.Client.csproj b/src/ProductConstructionService/Microsoft.DotNet.ProductConstructionService.Client/Microsoft.DotNet.ProductConstructionService.Client.csproj
similarity index 100%
rename from src/ProductConstructionService/ProductConstructionService.Client/ProductConstructionService.Client.csproj
rename to src/ProductConstructionService/Microsoft.DotNet.ProductConstructionService.Client/Microsoft.DotNet.ProductConstructionService.Client.csproj
diff --git a/src/ProductConstructionService/ProductConstructionService.Client/PcsApiFactory.cs b/src/ProductConstructionService/Microsoft.DotNet.ProductConstructionService.Client/PcsApiFactory.cs
similarity index 98%
rename from src/ProductConstructionService/ProductConstructionService.Client/PcsApiFactory.cs
rename to src/ProductConstructionService/Microsoft.DotNet.ProductConstructionService.Client/PcsApiFactory.cs
index a0ea4ac113..8e428df39e 100644
--- a/src/ProductConstructionService/ProductConstructionService.Client/PcsApiFactory.cs
+++ b/src/ProductConstructionService/Microsoft.DotNet.ProductConstructionService.Client/PcsApiFactory.cs
@@ -4,7 +4,7 @@
using System;
#nullable enable
-namespace ProductConstructionService.Client
+namespace Microsoft.DotNet.ProductConstructionService.Client
{
public static class PcsApiFactory
{
diff --git a/src/ProductConstructionService/ProductConstructionService.Client/ProductConstructionServiceApiOptions.cs b/src/ProductConstructionService/Microsoft.DotNet.ProductConstructionService.Client/ProductConstructionServiceApiOptions.cs
similarity index 97%
rename from src/ProductConstructionService/ProductConstructionService.Client/ProductConstructionServiceApiOptions.cs
rename to src/ProductConstructionService/Microsoft.DotNet.ProductConstructionService.Client/ProductConstructionServiceApiOptions.cs
index 94edce4d20..338d1123cf 100644
--- a/src/ProductConstructionService/ProductConstructionService.Client/ProductConstructionServiceApiOptions.cs
+++ b/src/ProductConstructionService/Microsoft.DotNet.ProductConstructionService.Client/ProductConstructionServiceApiOptions.cs
@@ -7,7 +7,7 @@
using Azure.Core;
using Maestro.Common.AppCredentials;
-namespace ProductConstructionService.Client
+namespace Microsoft.DotNet.ProductConstructionService.Client
{
public partial class ProductConstructionServiceApiOptions
{
@@ -23,7 +23,7 @@ public partial class ProductConstructionServiceApiOptions
public const string StagingMaestroUri = "https://maestro.int-dot.net/";
public const string OldStagingMaestroUri = "https://maestro-int.westus2.cloudapp.azure.com/";
public const string PcsProdUri = "https://product-construction-prod.wittysky-0c79e3cc.westus2.azurecontainerapps.io/";
- public const string PcsStagingUri = "https://product-construction-int.delightfuldune-c0f01ab0.westus2.azurecontainerapps.io/";
+ public const string PcsStagingUri = "https://product-construction-int.agreeablesky-499be9de.westus2.azurecontainerapps.io/";
public const string PcsLocalUri = "https://localhost:53180/";
private const string APP_USER_SCOPE = "Maestro.User";
diff --git a/src/ProductConstructionService/ProductConstructionService.Client/generate-client.cmd b/src/ProductConstructionService/Microsoft.DotNet.ProductConstructionService.Client/generate-client.cmd
similarity index 100%
rename from src/ProductConstructionService/ProductConstructionService.Client/generate-client.cmd
rename to src/ProductConstructionService/Microsoft.DotNet.ProductConstructionService.Client/generate-client.cmd
diff --git a/src/ProductConstructionService/ProductConstructionService.Api/Api/v2020_02_20/Controllers/PullRequestController.cs b/src/ProductConstructionService/ProductConstructionService.Api/Api/v2020_02_20/Controllers/PullRequestController.cs
new file mode 100644
index 0000000000..5c238af1fa
--- /dev/null
+++ b/src/ProductConstructionService/ProductConstructionService.Api/Api/v2020_02_20/Controllers/PullRequestController.cs
@@ -0,0 +1,141 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+
+using System.Net;
+using System.Text.RegularExpressions;
+using Maestro.Data;
+using Microsoft.AspNetCore.ApiVersioning;
+using Microsoft.AspNetCore.ApiVersioning.Swashbuckle;
+using Microsoft.AspNetCore.Mvc;
+using Microsoft.DotNet.DarcLib.Helpers;
+using Microsoft.EntityFrameworkCore;
+using ProductConstructionService.Common;
+using ProductConstructionService.DependencyFlow;
+
+namespace ProductConstructionService.Api.Api.v2020_02_20.Controllers;
+
+[Route("pull-requests")]
+[ApiVersion("2020-02-20")]
+public partial class PullRequestController : ControllerBase
+{
+ [GeneratedRegex(@"https://api.github.com/repos/(?[^/]+)/(?[^/]+)/pulls/(?[0-9]+)/?")]
+ private static partial Regex GitHubApiPrUrlRegex();
+
+ [GeneratedRegex(@"https://dev.azure.com/(?[^/]+)/(?[^/]+)/_apis/git/repositories/(?[^/]+)/pullRequests/(?[0-9]+)/?")]
+ private static partial Regex AzdoApiPrUrlRegex();
+
+ private static readonly Dictionary WellKnownIds = new()
+ {
+ ["7ea9116e-9fac-403d-b258-b31fcf1bb293"] = "internal", // AzDO's dnceng/internal
+ };
+
+ private static string ResolveWellKnownIds(string str)
+ {
+ foreach (var pair in WellKnownIds)
+ {
+ str = str.Replace(pair.Key, pair.Value);
+ }
+
+ return str;
+ }
+
+ private readonly IRedisCacheFactory _cacheFactory;
+ private readonly BuildAssetRegistryContext _context;
+
+ public PullRequestController(
+ IRedisCacheFactory cacheFactory,
+ BuildAssetRegistryContext context)
+ {
+ _cacheFactory = cacheFactory;
+ _context = context;
+ }
+
+ [HttpGet("tracked")]
+ [SwaggerApiResponse(HttpStatusCode.OK, Type = typeof(List), Description = "The list of currently tracked pull requests by the service")]
+ [ValidateModelState]
+ public async Task GetTrackedPullRequests()
+ {
+ var cache = _cacheFactory.Create(nameof(InProgressPullRequest) + "_");
+
+ var prs = new List();
+ await foreach (var key in cache.GetKeysAsync(nameof(InProgressPullRequest) + "_*"))
+ {
+ var pr = await _cacheFactory
+ .Create(key, includeTypeInKey: false)
+ .TryGetStateAsync();
+
+ if (pr == null)
+ {
+ continue;
+ }
+
+ var subscriptionIds = pr.ContainedSubscriptions.Select(s => s.SubscriptionId).ToList();
+ var subscriptions = await _context.Subscriptions
+ .Where(s => subscriptionIds.Contains(s.Id))
+ .Include(s => s.Channel)
+ .ToListAsync();
+
+ var sampleSub = subscriptions.FirstOrDefault();
+
+ string? org = null;
+ string? repoName = null;
+ if (sampleSub != null)
+ {
+ if (GitRepoUrlParser.ParseTypeFromUri(sampleSub.TargetRepository) == GitRepoType.AzureDevOps)
+ {
+ (repoName, org) = GitRepoUrlParser.GetRepoNameAndOwner(sampleSub.TargetRepository);
+ }
+ }
+
+ var updates = subscriptions
+ .Select(update => new PullRequestUpdate(
+ TurnApiUrlToWebsite(update.SourceRepository, org, repoName),
+ pr.ContainedSubscriptions.First(s => s.SubscriptionId == update.Id).BuildId))
+ .ToList();
+
+ prs.Add(new TrackedPullRequest(
+ TurnApiUrlToWebsite(pr.Url, org, repoName),
+ sampleSub?.Channel?.Name,
+ sampleSub?.TargetBranch,
+ updates));
+ }
+
+ return Ok(prs.AsQueryable());
+ }
+
+ private static string TurnApiUrlToWebsite(string url, string? orgName, string? repoName)
+ {
+ var match = GitHubApiPrUrlRegex().Match(url);
+ if (match.Success)
+ {
+ return $"https://github.com/{match.Groups["org"]}/{match.Groups["repo"]}/pull/{match.Groups["id"]}";
+ }
+
+ match = AzdoApiPrUrlRegex().Match(url);
+ if (match.Success)
+ {
+ // If we have the repo name, use it to replace the repo GUID in the URL
+ if (repoName != null)
+ {
+ WellKnownIds[match.Groups["repo"].Value] = orgName + "-" +repoName;
+ }
+
+ var org = ResolveWellKnownIds(match.Groups["org"].Value);
+ var project = ResolveWellKnownIds(match.Groups["project"].Value);
+ var repo = ResolveWellKnownIds(match.Groups["repo"].Value);
+ return $"https://dev.azure.com/{org}/{project}/_git/{repo}/pullrequest/{match.Groups["id"]}";
+ }
+
+ return url;
+ }
+
+ private record TrackedPullRequest(
+ string Url,
+ string? Channel,
+ string? TargetBranch,
+ List Updates);
+
+ private record PullRequestUpdate(
+ string SourceRepository,
+ int BuildId);
+}
diff --git a/src/ProductConstructionService/ProductConstructionService.AppHost/Program.cs b/src/ProductConstructionService/ProductConstructionService.AppHost/Program.cs
index 26202e1933..da5f4e5d94 100644
--- a/src/ProductConstructionService/ProductConstructionService.AppHost/Program.cs
+++ b/src/ProductConstructionService/ProductConstructionService.AppHost/Program.cs
@@ -3,9 +3,11 @@
var builder = DistributedApplication.CreateBuilder(args);
-var redisCache = builder.AddRedis("redis", port: 55689);
+var redisCache = builder
+ .AddRedis("redis", port: 55689);
+
var queues = builder.AddAzureStorage("storage")
- .RunAsEmulator(emulator => emulator.WithImageTag("3.31.0")) // Workaround for https://github.com/dotnet/aspire/issues/5078
+ .RunAsEmulator()
.AddQueues("queues");
builder.AddProject("productConstructionServiceApi")
diff --git a/src/ProductConstructionService/ProductConstructionService.BarViz/Code/Helpers/BuildGraphData.cs b/src/ProductConstructionService/ProductConstructionService.BarViz/Code/Helpers/BuildGraphData.cs
index b1b0ad4fad..092f2dad1f 100644
--- a/src/ProductConstructionService/ProductConstructionService.BarViz/Code/Helpers/BuildGraphData.cs
+++ b/src/ProductConstructionService/ProductConstructionService.BarViz/Code/Helpers/BuildGraphData.cs
@@ -2,7 +2,7 @@
// The .NET Foundation licenses this file to you under the MIT license.
using System.Globalization;
-using ProductConstructionService.Client.Models;
+using Microsoft.DotNet.ProductConstructionService.Client.Models;
namespace ProductConstructionService.BarViz.Code.Helpers;
diff --git a/src/ProductConstructionService/ProductConstructionService.BarViz/Code/Helpers/BuildHelper.cs b/src/ProductConstructionService/ProductConstructionService.BarViz/Code/Helpers/BuildHelper.cs
index 949a560ecc..e781287231 100644
--- a/src/ProductConstructionService/ProductConstructionService.BarViz/Code/Helpers/BuildHelper.cs
+++ b/src/ProductConstructionService/ProductConstructionService.BarViz/Code/Helpers/BuildHelper.cs
@@ -1,7 +1,7 @@
// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.
-using ProductConstructionService.Client.Models;
+using Microsoft.DotNet.ProductConstructionService.Client.Models;
namespace ProductConstructionService.BarViz.Code.Helpers;
diff --git a/src/ProductConstructionService/ProductConstructionService.BarViz/Code/Helpers/BuildTreeViewItem.cs b/src/ProductConstructionService/ProductConstructionService.BarViz/Code/Helpers/BuildTreeViewItem.cs
index 8e9043b446..b72fab9a41 100644
--- a/src/ProductConstructionService/ProductConstructionService.BarViz/Code/Helpers/BuildTreeViewItem.cs
+++ b/src/ProductConstructionService/ProductConstructionService.BarViz/Code/Helpers/BuildTreeViewItem.cs
@@ -2,7 +2,7 @@
// The .NET Foundation licenses this file to you under the MIT license.
using Microsoft.FluentUI.AspNetCore.Components;
-using ProductConstructionService.Client.Models;
+using Microsoft.DotNet.ProductConstructionService.Client.Models;
namespace ProductConstructionService.BarViz.Code.Helpers;
diff --git a/src/ProductConstructionService/ProductConstructionService.BarViz/Components/Assets.razor b/src/ProductConstructionService/ProductConstructionService.BarViz/Components/Assets.razor
index 7a555e973f..f4d39d8d0e 100644
--- a/src/ProductConstructionService/ProductConstructionService.BarViz/Components/Assets.razor
+++ b/src/ProductConstructionService/ProductConstructionService.BarViz/Components/Assets.razor
@@ -1,6 +1,6 @@
@using Azure.Core
-@using ProductConstructionService.Client
-@using ProductConstructionService.Client.Models;
+@using Microsoft.DotNet.ProductConstructionService.Client;
+@using Microsoft.DotNet.ProductConstructionService.Client.Models;
@using System.ComponentModel.DataAnnotations
@inject IProductConstructionServiceApi PcsApi
diff --git a/src/ProductConstructionService/ProductConstructionService.BarViz/Components/BuildInfo.razor b/src/ProductConstructionService/ProductConstructionService.BarViz/Components/BuildInfo.razor
index 73582b940d..5fcc31e25d 100644
--- a/src/ProductConstructionService/ProductConstructionService.BarViz/Components/BuildInfo.razor
+++ b/src/ProductConstructionService/ProductConstructionService.BarViz/Components/BuildInfo.razor
@@ -1,6 +1,6 @@
@using ProductConstructionService.BarViz.Code.Helpers;
-@using ProductConstructionService.Client
-@using ProductConstructionService.Client.Models;
+@using Microsoft.DotNet.ProductConstructionService.Client;
+@using Microsoft.DotNet.ProductConstructionService.Client.Models;
@using TextCopy;
@inject IClipboard Clipboard
@inject IProductConstructionServiceApi PcsApi
diff --git a/src/ProductConstructionService/ProductConstructionService.BarViz/Components/ChannelNavMenuItem.razor b/src/ProductConstructionService/ProductConstructionService.BarViz/Components/ChannelNavMenuItem.razor
index 4f045c5e00..c001ff79f8 100644
--- a/src/ProductConstructionService/ProductConstructionService.BarViz/Components/ChannelNavMenuItem.razor
+++ b/src/ProductConstructionService/ProductConstructionService.BarViz/Components/ChannelNavMenuItem.razor
@@ -1,6 +1,6 @@
@using ProductConstructionService.BarViz.Code.Helpers
-@using ProductConstructionService.Client
-@using ProductConstructionService.Client.Models;
+@using Microsoft.DotNet.ProductConstructionService.Client;
+@using Microsoft.DotNet.ProductConstructionService.Client.Models;
@using System.Collections.Immutable
@inject IProductConstructionServiceApi PcsApi
@@ -46,7 +46,7 @@
public required Channel Channel { get; set; }
private bool loaded = false;
- private IImmutableList repositories = [];
+ private List repositories = [];
private async Task OnExpandedChanged()
{
diff --git a/src/ProductConstructionService/ProductConstructionService.BarViz/Components/Dependencies.razor.cs b/src/ProductConstructionService/ProductConstructionService.BarViz/Components/Dependencies.razor.cs
index 10ecf901dd..98612c94d3 100644
--- a/src/ProductConstructionService/ProductConstructionService.BarViz/Components/Dependencies.razor.cs
+++ b/src/ProductConstructionService/ProductConstructionService.BarViz/Components/Dependencies.razor.cs
@@ -2,9 +2,9 @@
// The .NET Foundation licenses this file to you under the MIT license.
using Microsoft.AspNetCore.Components;
+using Microsoft.DotNet.ProductConstructionService.Client;
+using Microsoft.DotNet.ProductConstructionService.Client.Models;
using ProductConstructionService.BarViz.Code.Helpers;
-using ProductConstructionService.Client;
-using ProductConstructionService.Client.Models;
namespace ProductConstructionService.BarViz.Components;
diff --git a/src/ProductConstructionService/ProductConstructionService.BarViz/Components/DependencyGrid.razor b/src/ProductConstructionService/ProductConstructionService.BarViz/Components/DependencyGrid.razor
index 9f3a48276f..720cd84456 100644
--- a/src/ProductConstructionService/ProductConstructionService.BarViz/Components/DependencyGrid.razor
+++ b/src/ProductConstructionService/ProductConstructionService.BarViz/Components/DependencyGrid.razor
@@ -1,5 +1,5 @@
@using ProductConstructionService.BarViz.Code.Helpers
-@using ProductConstructionService.Client.Models;
+@using Microsoft.DotNet.ProductConstructionService.Client.Models;
diff --git a/src/ProductConstructionService/ProductConstructionService.BarViz/Components/PinnedChannels.razor b/src/ProductConstructionService/ProductConstructionService.BarViz/Components/PinnedChannels.razor
index f7dfc8a3e3..0add0cacd6 100644
--- a/src/ProductConstructionService/ProductConstructionService.BarViz/Components/PinnedChannels.razor
+++ b/src/ProductConstructionService/ProductConstructionService.BarViz/Components/PinnedChannels.razor
@@ -1,4 +1,4 @@
-@using ProductConstructionService.Client.Models;
+@using Microsoft.DotNet.ProductConstructionService.Client.Models;
@using System.Collections.Immutable
@inject NavigationManager NavManager
@inject Blazored.SessionStorage.ISyncSessionStorageService SessionStorage
@@ -57,7 +57,7 @@
@code {
[Parameter]
- public IImmutableList? AvailableChannels { get; set; }
+ public List? AvailableChannels { get; set; }
[Parameter]
public List? PrePinnedChannels { get; set; }
diff --git a/src/ProductConstructionService/ProductConstructionService.BarViz/Components/Subscriptions.razor b/src/ProductConstructionService/ProductConstructionService.BarViz/Components/Subscriptions.razor
index c02b2a417d..f40736fb0e 100644
--- a/src/ProductConstructionService/ProductConstructionService.BarViz/Components/Subscriptions.razor
+++ b/src/ProductConstructionService/ProductConstructionService.BarViz/Components/Subscriptions.razor
@@ -1,5 +1,5 @@
-@using ProductConstructionService.Client
-@using ProductConstructionService.Client.Models;
+@using Microsoft.DotNet.ProductConstructionService.Client;
+@using Microsoft.DotNet.ProductConstructionService.Client.Models;
@using System.ComponentModel.DataAnnotations
@inject IProductConstructionServiceApi PcsApi
diff --git a/src/ProductConstructionService/ProductConstructionService.BarViz/Layout/MainLayout.razor b/src/ProductConstructionService/ProductConstructionService.BarViz/Layout/MainLayout.razor
index 0b3c853c98..e1594118ec 100644
--- a/src/ProductConstructionService/ProductConstructionService.BarViz/Layout/MainLayout.razor
+++ b/src/ProductConstructionService/ProductConstructionService.BarViz/Layout/MainLayout.razor
@@ -9,6 +9,10 @@
+
+ Tracked pull requests
+
+
diff --git a/src/ProductConstructionService/ProductConstructionService.BarViz/Layout/NavMenu.razor b/src/ProductConstructionService/ProductConstructionService.BarViz/Layout/NavMenu.razor
index bbce1cd6a0..2628339eb2 100644
--- a/src/ProductConstructionService/ProductConstructionService.BarViz/Layout/NavMenu.razor
+++ b/src/ProductConstructionService/ProductConstructionService.BarViz/Layout/NavMenu.razor
@@ -1,6 +1,6 @@
@using ProductConstructionService.BarViz.Components
-@using ProductConstructionService.Client
-@using ProductConstructionService.Client.Models;
+@using Microsoft.DotNet.ProductConstructionService.Client;
+@using Microsoft.DotNet.ProductConstructionService.Client.Models;
@using System.Collections.Immutable
@inject IProductConstructionServiceApi PcsApi
@inject NavigationManager NavManager
@@ -34,8 +34,7 @@
private bool expanded = true;
- private IImmutableList AvailableChannels = [];
-
+ private List AvailableChannels = [];
private List Categories = [];
private List PrePinnedChannels = [];
diff --git a/src/ProductConstructionService/ProductConstructionService.BarViz/Pages/Build.razor b/src/ProductConstructionService/ProductConstructionService.BarViz/Pages/Build.razor
index b250515b1c..e2264ca083 100644
--- a/src/ProductConstructionService/ProductConstructionService.BarViz/Pages/Build.razor
+++ b/src/ProductConstructionService/ProductConstructionService.BarViz/Pages/Build.razor
@@ -1,8 +1,8 @@
@page "/channel/{ChannelId:int}/{RepoSlug}/build/{BuildId}"
@using ProductConstructionService.BarViz.Code.Helpers
@using ProductConstructionService.BarViz.Components.Common
-@using ProductConstructionService.Client
-@using ProductConstructionService.Client.Models;
+@using Microsoft.DotNet.ProductConstructionService.Client;
+@using Microsoft.DotNet.ProductConstructionService.Client.Models;
@using ProductConstructionService.BarViz.Components;
@inject IProductConstructionServiceApi PcsApi
@@ -51,7 +51,7 @@ else
private string? Channel { get; set; }
- private ProductConstructionService.Client.Models.Build? _build;
+ private Microsoft.DotNet.ProductConstructionService.Client.Models.Build? _build;
protected override async Task OnParametersSetAsync()
{
diff --git a/src/ProductConstructionService/ProductConstructionService.BarViz/Pages/Channel.razor b/src/ProductConstructionService/ProductConstructionService.BarViz/Pages/Channel.razor
index a0f58ce742..4074d01447 100644
--- a/src/ProductConstructionService/ProductConstructionService.BarViz/Pages/Channel.razor
+++ b/src/ProductConstructionService/ProductConstructionService.BarViz/Pages/Channel.razor
@@ -1,7 +1,7 @@
@page "/channel/{ChannelId:int}"
-@using ProductConstructionService.Client
-@using ProductConstructionService.Client.Models;
+@using Microsoft.DotNet.ProductConstructionService.Client;
+@using Microsoft.DotNet.ProductConstructionService.Client.Models;
@inject IProductConstructionServiceApi PcsApi
@channel?.Name
@@ -19,7 +19,7 @@
[Parameter]
public int? ChannelId { get; set; }
- private Client.Models.Channel? channel;
+ private Microsoft.DotNet.ProductConstructionService.Client.Models.Channel? channel;
protected override async Task OnParametersSetAsync()
{
diff --git a/src/ProductConstructionService/ProductConstructionService.BarViz/Pages/PullRequests.razor b/src/ProductConstructionService/ProductConstructionService.BarViz/Pages/PullRequests.razor
new file mode 100644
index 0000000000..9251d700ac
--- /dev/null
+++ b/src/ProductConstructionService/ProductConstructionService.BarViz/Pages/PullRequests.razor
@@ -0,0 +1,67 @@
+@page "/pullrequests"
+
+@using Microsoft.DotNet.ProductConstructionService.Client
+@using Microsoft.DotNet.ProductConstructionService.Client.Models;
+@inject IProductConstructionServiceApi api
+
+Tracked Pull Requests
+
+
+
+
+
+ @context.Url
+
+
+ @if (context.Channel != null)
+ {
+ @context.Channel
+ }
+ else
+ {
+
+
+
+ }
+
+
+ @if (context.TargetBranch != null)
+ {
+ @context.TargetBranch
+ }
+ else
+ {
+
+
+
+ }
+
+
+
+
+
+@code {
+ IQueryable? TrackedPullRequests = null;
+ Timer? _timer;
+
+ protected override async Task OnInitializedAsync()
+ {
+ await LoadDataAsync();
+ _timer = new Timer(async _ => await LoadDataAsync(), null, TimeSpan.Zero, TimeSpan.FromSeconds(30));
+ }
+
+ private async Task LoadDataAsync()
+ {
+ TrackedPullRequests = (await api.PullRequest.GetTrackedPullRequestsAsync()).AsQueryable();
+ await InvokeAsync(StateHasChanged);
+ }
+
+ public void Dispose()
+ {
+ _timer?.Dispose();
+ }
+}
diff --git a/src/ProductConstructionService/ProductConstructionService.BarViz/ProductConstructionService.BarViz.csproj b/src/ProductConstructionService/ProductConstructionService.BarViz/ProductConstructionService.BarViz.csproj
index bd9b683e8c..ec9540cc9e 100644
--- a/src/ProductConstructionService/ProductConstructionService.BarViz/ProductConstructionService.BarViz.csproj
+++ b/src/ProductConstructionService/ProductConstructionService.BarViz/ProductConstructionService.BarViz.csproj
@@ -18,7 +18,7 @@
-
+
diff --git a/src/ProductConstructionService/ProductConstructionService.BarViz/Program.cs b/src/ProductConstructionService/ProductConstructionService.BarViz/Program.cs
index a2b388a79b..d2e88dd743 100644
--- a/src/ProductConstructionService/ProductConstructionService.BarViz/Program.cs
+++ b/src/ProductConstructionService/ProductConstructionService.BarViz/Program.cs
@@ -1,14 +1,15 @@
// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.
+using System.Collections.Immutable;
+using Blazored.SessionStorage;
using Microsoft.AspNetCore.Components.Web;
using Microsoft.AspNetCore.Components.WebAssembly.Hosting;
+using Microsoft.DotNet.ProductConstructionService.Client;
using Microsoft.FluentUI.AspNetCore.Components;
using ProductConstructionService.BarViz;
-using TextCopy;
using ProductConstructionService.BarViz.Code.Services;
-using Blazored.SessionStorage;
-using System.Collections.Immutable;
+using TextCopy;
// Needed for Newtonsoft.Json to work so it must not get trimmed away
// DynamicDependency attribute did not work for some reason
@@ -25,7 +26,7 @@
builder.Services.AddScoped(sp => new HttpClient { BaseAddress = new Uri(PcsApiBaseAddress) });
builder.Services.AddFluentUIComponents();
-builder.Services.AddSingleton(ProductConstructionService.Client.PcsApiFactory.GetAnonymous(PcsApiBaseAddress));
+builder.Services.AddSingleton(PcsApiFactory.GetAnonymous(PcsApiBaseAddress));
builder.Services.InjectClipboard();
builder.Services.AddSingleton();
builder.Services.AddBlazoredSessionStorage();
diff --git a/src/ProductConstructionService/ProductConstructionService.Cli/Operations/GetPCSStatusOperation.cs b/src/ProductConstructionService/ProductConstructionService.Cli/Operations/GetPCSStatusOperation.cs
index e5b50723cc..4721c96db1 100644
--- a/src/ProductConstructionService/ProductConstructionService.Cli/Operations/GetPCSStatusOperation.cs
+++ b/src/ProductConstructionService/ProductConstructionService.Cli/Operations/GetPCSStatusOperation.cs
@@ -1,10 +1,11 @@
// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.
+using Microsoft.DotNet.ProductConstructionService.Client;
using Microsoft.Extensions.Logging;
-using ProductConstructionService.Client;
namespace ProductConstructionService.Cli.Operations;
+
internal class GetPcsStatusOperation : IOperation
{
private readonly IProductConstructionServiceApi _client;
diff --git a/src/ProductConstructionService/ProductConstructionService.Cli/Operations/StartPCSOperation.cs b/src/ProductConstructionService/ProductConstructionService.Cli/Operations/StartPCSOperation.cs
index 29ca47dbde..8c9b6d0de2 100644
--- a/src/ProductConstructionService/ProductConstructionService.Cli/Operations/StartPCSOperation.cs
+++ b/src/ProductConstructionService/ProductConstructionService.Cli/Operations/StartPCSOperation.cs
@@ -2,7 +2,7 @@
// The .NET Foundation licenses this file to you under the MIT license.
using Microsoft.Extensions.Logging;
-using ProductConstructionService.Client;
+using Microsoft.DotNet.ProductConstructionService.Client;
namespace ProductConstructionService.Cli.Operations;
internal class StartPCSOperation : IOperation
diff --git a/src/ProductConstructionService/ProductConstructionService.Cli/Operations/StopPCSOperation.cs b/src/ProductConstructionService/ProductConstructionService.Cli/Operations/StopPCSOperation.cs
index 86405e9c15..c1bf5084e5 100644
--- a/src/ProductConstructionService/ProductConstructionService.Cli/Operations/StopPCSOperation.cs
+++ b/src/ProductConstructionService/ProductConstructionService.Cli/Operations/StopPCSOperation.cs
@@ -2,7 +2,7 @@
// The .NET Foundation licenses this file to you under the MIT license.
using Microsoft.Extensions.Logging;
-using ProductConstructionService.Client;
+using Microsoft.DotNet.ProductConstructionService.Client;
namespace ProductConstructionService.Cli.Operations;
internal class StopPcsOperation : IOperation
diff --git a/src/ProductConstructionService/ProductConstructionService.Cli/Options/PCSStatusOptions.cs b/src/ProductConstructionService/ProductConstructionService.Cli/Options/PCSStatusOptions.cs
index 7c3075de88..f311cc0b31 100644
--- a/src/ProductConstructionService/ProductConstructionService.Cli/Options/PCSStatusOptions.cs
+++ b/src/ProductConstructionService/ProductConstructionService.Cli/Options/PCSStatusOptions.cs
@@ -3,7 +3,7 @@
using CommandLine;
using Microsoft.Extensions.DependencyInjection;
-using ProductConstructionService.Client;
+using Microsoft.DotNet.ProductConstructionService.Client;
namespace ProductConstructionService.Cli.Options;
diff --git a/src/ProductConstructionService/ProductConstructionService.Cli/ProductConstructionService.Cli.csproj b/src/ProductConstructionService/ProductConstructionService.Cli/ProductConstructionService.Cli.csproj
index 3c3ea7818c..fd069f767a 100644
--- a/src/ProductConstructionService/ProductConstructionService.Cli/ProductConstructionService.Cli.csproj
+++ b/src/ProductConstructionService/ProductConstructionService.Cli/ProductConstructionService.Cli.csproj
@@ -21,7 +21,7 @@
-
+
diff --git a/src/ProductConstructionService/ProductConstructionService.Common/RedisCache.cs b/src/ProductConstructionService/ProductConstructionService.Common/RedisCache.cs
index ef29fd3589..fe7c17e005 100644
--- a/src/ProductConstructionService/ProductConstructionService.Common/RedisCache.cs
+++ b/src/ProductConstructionService/ProductConstructionService.Common/RedisCache.cs
@@ -10,10 +10,12 @@ namespace ProductConstructionService.Common;
public interface IRedisCache
{
+ Task GetAsync(string key);
Task GetAsync();
Task SetAsync(string value, TimeSpan? expiration = null);
Task TryDeleteAsync();
Task TryGetAsync();
+ IAsyncEnumerable GetKeysAsync(string pattern);
}
public class RedisCache : IRedisCache
@@ -51,6 +53,24 @@ public async Task TryDeleteAsync()
{
return await Cache.StringGetAsync(_stateKey);
}
+
+ public async Task GetAsync(string key)
+ {
+ return await Cache.StringGetAsync(key);
+ }
+
+ public async IAsyncEnumerable GetKeysAsync(string pattern)
+ {
+ // We most likely only have one endpoint so no need to parallelize this part
+ foreach (var endpoint in _connection.GetEndPoints())
+ {
+ var server = _connection.GetServer(endpoint);
+ await foreach (var key in server.KeysAsync(pattern: pattern))
+ {
+ yield return key.ToString();
+ }
+ }
+ }
}
public interface IRedisCache where T : class
@@ -58,6 +78,7 @@ public interface IRedisCache where T : class
Task SetAsync(T value, TimeSpan? expiration = null);
Task TryDeleteAsync();
Task TryGetStateAsync();
+ IAsyncEnumerable GetKeysAsync(string pattern);
}
public class RedisCache : IRedisCache where T : class
@@ -68,20 +89,23 @@ public class RedisCache : IRedisCache where T : class
WriteIndented = false,
};
- private readonly IRedisCache _stateManager;
+ private readonly IRedisCache _cache;
private readonly ILogger