Powershell: Numer wersji funkcji i modułu

25-lis-2016

Załóżmy, że masz moduł testlib.psm1 o następującej zawartości:

function test-it
{
[cmdletbinding()]
param()
return 1
}
function test-this
{
[cmdletbinding()]
param()
return 2
}

Domyślnie, jeżeli uruchomisz polecenie

Get-Command -Module testlib

to otrzymasz wynik prezentujący funkcje modułu ale numery wersji będą wskazywać 0:

module_version_powershell

Aby zmienić numer wersji funkcji można stworzyć tzw. manifest do modułu. W manifeście można między innymi wskazać na numer wersji. Oto polecenie tworzące plik manifestu:

New-ModuleManifest testlib.psd1 -ModuleVersion '1.2' -Author 'Contoso' -RootModule 'testlib.psm1'

W efekcie powstanie plik testlib.psd1, który w zrozumiały dla powershell sposób opisuje numer wersji modułu, autora oraz wskazuje na plik z funkcjami. Ostatni parametr jest bardzo ważny, bo jeśli go opuścimy to utworzymy „pusty moduł”, który będzie miał wersję, ale żadnej funkcji.. wcześniejsze polecenie zwraca teraz następujący wynik:

module_version_powershell_ok

 Więcej o tworzeniu manifestów:

https://msdn.microsoft.com/en-us/library/dd878337(v=vs.85).aspx

Komentarze są wyłączone

Autor: Rafał Kraik