withSIX.Sync.Core.Packages.PackageManager.DownloadPackage C# (CSharp) Method

DownloadPackage() public method

public DownloadPackage ( string packageName, bool useFullNameOverride = null ) : Task
packageName string
useFullNameOverride bool
return Task
        public async Task<Package> DownloadPackage(string packageName, bool? useFullNameOverride = null) {
            var depInfo = ResolvePackageName(packageName);

            var useFullName = Repo.Config.UseVersionedPackageFolders;
            var name = depInfo.GetFullName();

            if (useFullNameOverride.HasValue)
                useFullName = useFullNameOverride.Value;

            await GetAndAddPackage(depInfo).ConfigureAwait(false);
            var package = Package.Factory.Open(Repo,
                Repo.Config.OperationMode == RepositoryOperationMode.Default
                    ? WorkDir.GetChildDirectoryWithName(useFullName ? name : depInfo.Name)
                    : WorkDir,
                name);

            await
                UpdateMultiple(package.GetNeededObjects(), new[] {package}, FindRemotesWithPackage(name).ToArray())
                    .ConfigureAwait(false);
            return package;
        }