tasks/10-NuGet.ps1

@{
    Id          = 'NuGet'
    DisplayName = 'NuGet caches'
    Description = 'Package, HTTP, plugin, and scratch caches'
    Action      = {
        param(
            [Parameter(Mandatory)]
            [System.Collections.IDictionary] $Paths
        )

        Write-Header -Name 'NuGet'

        $variables = @(
            @{ Name = 'NUGET_PACKAGES';           TargetRoot = $Paths.NuGetPackages;     DefaultSource = '%USERPROFILE%\.nuget\packages' }
            @{ Name = 'NUGET_HTTP_CACHE_PATH';    TargetRoot = $Paths.NuGetHttpCache;    DefaultSource = '%LocalAppData%\NuGet\v3-cache' }
            @{ Name = 'NUGET_PLUGINS_CACHE_PATH'; TargetRoot = $Paths.NuGetPluginsCache; DefaultSource = '%LocalAppData%\NuGet\plugins-cache' }
            @{ Name = 'NUGET_SCRATCH';            TargetRoot = $Paths.NuGetScratch;      DefaultSource = '%LocalAppData%\Temp\NuGetScratch' }
        )

        foreach ($v in $variables) {
            Set-CacheLocation @v
        }
    }
}