ProductivityTools.PSPublishModuleTo.psm1

function Publish-ModuleTo{
 
    [Cmdletbinding()]
    param(
        [string]$PSRepositoryName, #PSGallery, PawelGallery
        [string]$PSRepositoryApiConfigKey #Key stored in MasterConfiguration
    )
    
    $PSRepositoryApiKey=Get-MasterConfiguration -Key $PSRepositoryApiConfigKey

    $psd1s=@(Get-ChildItem -Recurse "*.psd1") 

    Write-Verbose "Found $($psd1s.Length) module manifests"

    foreach($psd1 in $psd1s)
    {
        $fullPath=$psd1.FullName
        Write-Verbose "Publish $fullPath"
        Write-Verbose "PSRepository: $PSRepository"
        Write-Verbose "PSRepositoryApiKey: $PSRepositoryApiConfigKey"
        Write-Verbose "PSRepositoryApiValue: $PSRepositoryApiKey"
        Publish-Module -Repository $PSRepository -NuGetApiKey $PSRepositoryApiKey -Name $fullPath  -Verbose:$VerbosePreference
    }
}

Export-ModuleMember Publish-ModuleTo