Staging
v0.8.1
https://github.com/python/cpython
Raw File
Tip revision: d93605de7232da5e6a182fd1d5c220639e900159 authored by Ɓukasz Langa on 29 August 2019, 21:59:20 UTC
Python 3.8.0b4
Tip revision: d93605d
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