@@ -15,26 +15,30 @@ public static partial class ManifestHelper
1515 private const string VariablePattern = $ "\\ $\\ ((?<{ VariableGroupName } >[\\ w:\\ -.|]+)\\ )";
1616
1717 /// <summary>
18- /// Gets the base URL based on the configured context.
18+ /// Gets the base URLs based on the configured context.
1919 /// </summary>
2020 /// <param name="manifestVariables">JSON object of the variables from the manifest.</param>
2121 /// <param name="options">Configured options from the app.</param>
22- public static string GetBaseUrl ( JObject manifestVariables , SpecificCommandOptions options )
22+ public static IEnumerable < string > GetBaseUrls ( JObject manifestVariables , SpecificCommandOptions options )
2323 {
2424 // The upstream branch represents which GitHub branch the current
2525 // branch branched off of. This is either "nightly" or "main".
2626 var upstreamBranch = ResolveVariableValue ( "branch" , manifestVariables ) ;
2727
28- var baseUrlVariableName = GetBaseUrlVariableName (
28+ var baseUrlVariableNames = GetBaseUrlVariableNames (
2929 dockerfileVersion : options . DockerfileVersion ,
3030 branch : upstreamBranch ,
3131 versionSourceName : options . VersionSourceName ) ;
3232
33- return ResolveVariableValue ( baseUrlVariableName , manifestVariables ) ;
33+ var baseUrlValues = baseUrlVariableNames
34+ . Select ( variable => ResolveVariableValue ( variable , manifestVariables ) ) ;
35+
36+ return baseUrlValues ;
3437 }
3538
3639 /// <summary>
37- /// Constructs the name of the product version base URL variable.
40+ /// Constructs the base URL variables for the given dockerfile, branch,
41+ /// and product combination.
3842 /// </summary>
3943 /// <param name="dockerfileVersion">
4044 /// Dockerfile version. This should be a major.minor version e.g. "8.0",
@@ -43,12 +47,11 @@ public static string GetBaseUrl(JObject manifestVariables, SpecificCommandOption
4347 /// <param name="branch">
4448 /// Name of the branch. This is typically "main" or "nightly".
4549 /// </param>
46- public static string GetBaseUrlVariableName (
50+ public static IEnumerable < string > GetBaseUrlVariableNames (
4751 string dockerfileVersion ,
4852 string branch ,
4953 string versionSourceName = "" ,
50- bool sdkOnlyRelease = false
51- )
54+ bool sdkOnlyRelease = false )
5255 {
5356 string product ;
5457 if ( sdkOnlyRelease )
@@ -65,7 +68,10 @@ string v when v.Contains("aspire-dashboard") => "aspire-dashboard",
6568 } ;
6669 }
6770
68- return $ "{ product } |{ dockerfileVersion } |base-url|{ branch } ";
71+ return [
72+ $ "{ product } |{ dockerfileVersion } |base-url|{ branch } ",
73+ $ "{ product } |{ dockerfileVersion } |base-url|checksums|{ branch } ",
74+ ] ;
6975 }
7076
7177 /// <summary>
0 commit comments