2019-05-12 18:06:08 +00:00
|
|
|
<#
|
|
|
|
.SYNOPSIS
|
|
|
|
Updates the License.txt file that is part of binary module packages.
|
|
|
|
|
|
|
|
#>
|
|
|
|
|
|
|
|
$products = @(
|
|
|
|
@{ Name = 'DSInternals PowerShell Module and Framework';
|
|
|
|
LicenseUrl = 'https://raw.githubusercontent.com/MichaelGrafnetter/DSInternals/master/LICENSE.md'
|
|
|
|
}, @{
|
|
|
|
Name = 'ESENT Managed Interop';
|
|
|
|
LicenseUrl = 'https://raw.githubusercontent.com/microsoft/ManagedEsent/master/LICENSE.md'
|
|
|
|
}, @{
|
|
|
|
Name = 'AutoMapper';
|
|
|
|
LicenseUrl = 'https://raw.githubusercontent.com/AutoMapper/AutoMapper/master/LICENSE.txt'
|
|
|
|
}, @{
|
|
|
|
Name = 'NDceRpc (.NET Distributed Computing Environment Remote Procedure Call)';
|
|
|
|
LicenseUrl = 'https://raw.githubusercontent.com/OpenSharp/NDceRpc/master/license.txt'
|
|
|
|
}, @{
|
|
|
|
Name = 'PBKDF2.NET';
|
|
|
|
LicenseUrl = 'https://raw.githubusercontent.com/therealmagicmike/PBKDF2.NET/master/License.txt'
|
2019-07-07 18:23:33 +00:00
|
|
|
}, @{
|
|
|
|
Name = 'Bouncy Castle';
|
|
|
|
LicenseUrl = 'https://raw.githubusercontent.com/bcgit/bc-csharp/master/crypto/License.html'
|
|
|
|
}, @{
|
|
|
|
Name = 'Json.NET';
|
|
|
|
LicenseUrl = 'https://raw.githubusercontent.com/JamesNK/Newtonsoft.Json/master/LICENSE.md'
|
|
|
|
}, @{
|
|
|
|
Name = 'Peter O. CBOR Library';
|
|
|
|
LicenseUrl = 'https://raw.githubusercontent.com/peteroupc/CBOR/master/LICENSE.md'
|
2019-05-12 18:06:08 +00:00
|
|
|
}
|
|
|
|
)
|
|
|
|
|
|
|
|
$now = Get-Date
|
|
|
|
$licenses = New-Object -TypeName System.Text.StringBuilder
|
|
|
|
|
|
|
|
$licenses.Append('The binary distribution of the DSInternals PowerShell Module contains the following software products:') > $null
|
|
|
|
|
|
|
|
foreach($product in $products)
|
|
|
|
{
|
|
|
|
$licenses.AppendLine() > $null
|
|
|
|
$licenses.AppendLine() > $null
|
|
|
|
|
|
|
|
# Product name
|
|
|
|
$licenses.AppendLine('-' * $product.Name.Length) > $null
|
|
|
|
$licenses.AppendLine($product.Name) > $null
|
|
|
|
$licenses.AppendLine('-' * $product.Name.Length) > $null
|
|
|
|
$licenses.AppendLine() > $null
|
|
|
|
|
|
|
|
# Date and URI
|
|
|
|
$note = '(License updated on {0:d} from {1}.)' -f $now,$product.LicenseUrl
|
|
|
|
$licenses.AppendLine($note) > $null
|
|
|
|
$licenses.AppendLine() > $null
|
|
|
|
|
|
|
|
# License Text
|
2019-07-07 18:23:33 +00:00
|
|
|
$license = Invoke-WebRequest -Uri $product.LicenseUrl -UseBasicParsing
|
|
|
|
if($product.LicenseUrl.EndsWith('.html'))
|
|
|
|
{
|
|
|
|
# Remove HTML tags
|
|
|
|
$tagsRemoved = $license.Content -replace '</?[^<]+>',''
|
|
|
|
$license = $tagsRemoved.Trim()
|
|
|
|
}
|
2019-05-12 18:06:08 +00:00
|
|
|
$licenses.Append($license) > $null
|
|
|
|
}
|
|
|
|
|
|
|
|
$root = Join-Path $PSScriptRoot ..\
|
|
|
|
$licenseFilePath = Join-Path $root Src\DSInternals.PowerShell\License.txt
|
|
|
|
|
|
|
|
$licenses.ToString() | Out-File -FilePath $licenseFilePath -Encoding ascii
|