Staging
v0.8.1
https://github.com/python/cpython
Raw File
Tip revision: 4b37228823fecb73fe70dc009e696a7805b0833f authored by Ethan Furman on 08 December 2020, 22:29:02 UTC
[3.9] [Enum] reformat and add doc strings (GH-23705). (GH-23707)
Tip revision: 4b37228
make_cat.ps1
<#
.Synopsis
    Compiles and signs a catalog file.
.Description
    Given the CDF definition file, builds and signs a catalog.
.Parameter catalog
    The path to the catalog definition file to compile and
    sign. It is assumed that the .cat file will be the same
    name with a new extension.
.Parameter outfile
    The path to move the built .cat file to (optional).
.Parameter description
    The description to add to the signature (optional).
.Parameter certname
    The name of the certificate to sign with (optional).
.Parameter certsha1
    The SHA1 hash of the certificate to sign with (optional).
#>
param(
    [Parameter(Mandatory=$true)][string]$catalog,
    [string]$outfile,
    [switch]$sign,
    [string]$description,
    [string]$certname,
    [string]$certsha1,
    [string]$certfile
)

$tools = $script:MyInvocation.MyCommand.Path | Split-Path -parent;
Import-Module $tools\sdktools.psm1 -WarningAction SilentlyContinue -Force

Set-Alias MakeCat (Find-Tool "makecat.exe") -Scope Script

MakeCat $catalog
if (-not $?) {
    throw "Catalog compilation failed"
}
if ($sign) {
    Sign-File -certname $certname -certsha1 $certsha1 -certfile $certfile -description $description -files @($catalog -replace 'cdf$', 'cat')
}

if ($outfile) {
    Split-Path -Parent $outfile | ?{ $_ } | %{ mkdir -Force $_; }
    Move-Item ($catalog -replace 'cdf$', 'cat') $outfile
}
back to top