Skip to content

Commit c87901e

Browse files
committed
write warning for deps for V3 (PowerShell#971)
1 parent 1a188c6 commit c87901e

File tree

2 files changed

+15
-1
lines changed

2 files changed

+15
-1
lines changed

src/code/FindHelper.cs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -598,6 +598,12 @@ private IEnumerable<PSResourceInfo> SearchByNames(ServerApiCall currentServer, R
598598
// After retrieving all packages
599599
if (_includeDependencies)
600600
{
601+
if (currentServer.repository.ApiVersion == PSRepositoryInfo.APIVersion.v3)
602+
{
603+
_cmdletPassedIn.WriteWarning("Installing dependencies is not currently supported for V3 server protocol repositories. The package will be installed without installing dependencies.");
604+
yield break;
605+
}
606+
601607
foreach (PSResourceInfo currentPkg in parentPkgs)
602608
{
603609
// Actually find and return the dependency packages

src/code/InstallHelper.cs

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -177,6 +177,7 @@ private List<PSResourceInfo> ProcessRepositories(
177177
{
178178
ServerApiCall currentServer = ServerFactory.GetServer(repo);
179179
ResponseUtil currentResponseUtil = ResponseUtilFactory.GetResponseUtil(repo);
180+
bool installDepsForRepo = skipDependencyCheck;
180181

181182
// If no more packages to install, then return
182183
if (_pkgNamesToInstall.Count == 0) {
@@ -186,8 +187,15 @@ private List<PSResourceInfo> ProcessRepositories(
186187
string repoName = repo.Name;
187188
_cmdletPassedIn.WriteVerbose(string.Format("Attempting to search for packages in '{0}'", repoName));
188189

190+
189191
if (repo.ApiVersion == PSRepositoryInfo.APIVersion.v2 || repo.ApiVersion == PSRepositoryInfo.APIVersion.v3)
190192
{
193+
if ((repo.ApiVersion == PSRepositoryInfo.APIVersion.v3) && (!installDepsForRepo))
194+
{
195+
_cmdletPassedIn.WriteWarning("Installing dependencies is not currently supported for V3 server protocol repositories. The package will be installed without installing dependencies.");
196+
installDepsForRepo = true;
197+
}
198+
191199
return HttpInstall(_pkgNamesToInstall.ToArray(), repo, currentServer, currentResponseUtil, credential, scope);
192200
}
193201
else
@@ -225,7 +233,7 @@ private List<PSResourceInfo> ProcessRepositories(
225233
tag: null,
226234
repository: new string[] { repoName },
227235
credential: credential,
228-
includeDependencies: !skipDependencyCheck).ToList();
236+
includeDependencies: !installDepsForRepo).ToList();
229237

230238
if (pkgsFromRepoToInstall.Count == 0)
231239
{

0 commit comments

Comments
 (0)