en-US/PoshProject.dll-Help.xml
<?xml version="1.0" encoding="utf-8"?>
<helpItems schema="maml" xmlns="http://msh"> <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"> <command:details> <command:name>Get-PoshTemplate</command:name> <command:verb>Get</command:verb> <command:noun>PoshTemplate</command:noun> <maml:description> <maml:para>`Get-PoshTemplate` cmdlet returns the object of `PoshTemplate` structure that can be used with `Invoke-PoshTemplate` cmdlet.</maml:para> </maml:description> </command:details> <maml:description> <maml:para>`Get-PoshTemplate` cmdlet returns the object of PoshTemplate structure that can be used with `Invoke-PoshTemplate` cmdlet. It returns a default template object if template path is not provided.</maml:para> </maml:description> <command:syntax> <command:syntaxItem> <maml:name>Get-PoshTemplate</maml:name> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="0" aliases="none"> <maml:name>TemplatePath</maml:name> <maml:Description> <maml:para>Pass the PoshTemplate file created with `New-PoshTemplate` cmdlet.</maml:para> </maml:Description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> </command:syntaxItem> </command:syntax> <command:parameters> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="0" aliases="none"> <maml:name>TemplatePath</maml:name> <maml:Description> <maml:para>Pass the PoshTemplate file created with `New-PoshTemplate` cmdlet.</maml:para> </maml:Description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> </command:parameters> <command:inputTypes> <command:inputType> <dev:type> <maml:name>System.String</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:inputType> </command:inputTypes> <command:returnValues> <command:returnValue> <dev:type> <maml:name>PoshProject.PoshTemplate</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:returnValue> </command:returnValues> <maml:alertSet> <maml:alert> <maml:para>Note that the template name should be `PoshProjectTemplate.xml` otherwise you will receive an error.</maml:para> </maml:alert> </maml:alertSet> <command:examples> <command:example> <maml:title>-------------------------- Example 1 --------------------------</maml:title> <dev:code>PS C:\> Get-PoshTemplate ProjectName : PoshProjectTemplate Directories : PoshProjectTemplate.tests.ps1 Type : Script Dependencies : Metadata : PoshProject.Metadata</dev:code> <dev:remarks> <maml:para></maml:para> </dev:remarks> </command:example> <command:example> <maml:title>-------------------------- Example 2 --------------------------</maml:title> <dev:code>PS C:\> ".\PoshProjectTemplate.xml" | Get-PoshTemplate ProjectName : MyModule Directories : MyModule.tests.ps1 Type : Script Dependencies : psAzD,PSDB Metadata : PoshProject.Metadata</dev:code> <dev:remarks> <maml:para>Template file which is created with the `New-PoshTemplate` can be passed to this cmdlet.</maml:para> </dev:remarks> </command:example> </command:examples> <command:relatedLinks> <maml:navigationLink> <maml:linkText>Get-PoshTemplate</maml:linkText> <maml:uri>https://github.com/IndividualsinDemand/PoshProject/blob/master/docs/Get-PoshTemplate.md</maml:uri> </maml:navigationLink> </command:relatedLinks> </command:command> <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"> <command:details> <command:name>Invoke-PoshTemplate</command:name> <command:verb>Invoke</command:verb> <command:noun>PoshTemplate</command:noun> <maml:description> <maml:para>`Invoke-PoshTemplate` cmdlet creates the project folders and files defined in the `PoshTemplate` generated by `New-PoshTemplate` cmdlet.</maml:para> </maml:description> </command:details> <maml:description> <maml:para>`Invoke-PoshTemplate` cmdlet creates the project folders and files defined in the `PoshProjectTemplate.xml` created by `New-PoshTemplate` cmdlet. Additionaly you can also pass the template object from `Get-PoshTemplate` for project scaffolding.</maml:para> <maml:para>Install dependencies when you are working in the project by passing the template object and specifying `CustomInstall` switch.</maml:para> </maml:description> <command:syntax> <command:syntaxItem> <maml:name>Invoke-PoshTemplate</maml:name> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>CustomInstall</maml:name> <maml:Description> <maml:para>Specify this parameter and pass the template object from `Get-PoshTemplate` cmdlet to install the dependencies.</maml:para> </maml:Description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="named" aliases="none"> <maml:name>TemplateObject</maml:name> <maml:Description> <maml:para>Pass the template object from `Get-PoshTemplate` cmdlet.</maml:para> </maml:Description> <command:parameterValue required="true" variableLength="false">PoshTemplate</command:parameterValue> <dev:type> <maml:name>PoshTemplate</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> </command:syntaxItem> <command:syntaxItem> <maml:name>Invoke-PoshTemplate</maml:name> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="0" aliases="none"> <maml:name>TemplatePath</maml:name> <maml:Description> <maml:para>Pass the template file to invoke the project folder structure.</maml:para> </maml:Description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>InstallDependencies</maml:name> <maml:Description> <maml:para>Pass the template or template object to install the dependencies.</maml:para> </maml:Description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:syntaxItem> <command:syntaxItem> <maml:name>Invoke-PoshTemplate</maml:name> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>InstallDependencies</maml:name> <maml:Description> <maml:para>Pass the template or template object to install the dependencies.</maml:para> </maml:Description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="named" aliases="none"> <maml:name>TemplateObject</maml:name> <maml:Description> <maml:para>Pass the template object from `Get-PoshTemplate` cmdlet.</maml:para> </maml:Description> <command:parameterValue required="true" variableLength="false">PoshTemplate</command:parameterValue> <dev:type> <maml:name>PoshTemplate</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> </command:syntaxItem> </command:syntax> <command:parameters> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>CustomInstall</maml:name> <maml:Description> <maml:para>Specify this parameter and pass the template object from `Get-PoshTemplate` cmdlet to install the dependencies.</maml:para> </maml:Description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>InstallDependencies</maml:name> <maml:Description> <maml:para>Pass the template or template object to install the dependencies.</maml:para> </maml:Description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="named" aliases="none"> <maml:name>TemplateObject</maml:name> <maml:Description> <maml:para>Pass the template object from `Get-PoshTemplate` cmdlet.</maml:para> </maml:Description> <command:parameterValue required="true" variableLength="false">PoshTemplate</command:parameterValue> <dev:type> <maml:name>PoshTemplate</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="0" aliases="none"> <maml:name>TemplatePath</maml:name> <maml:Description> <maml:para>Pass the template file to invoke the project folder structure.</maml:para> </maml:Description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> </command:parameters> <command:inputTypes> <command:inputType> <dev:type> <maml:name>System.String</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:inputType> <command:inputType> <dev:type> <maml:name>PoshProject.PoshTemplate</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:inputType> </command:inputTypes> <command:returnValues> <command:returnValue> <dev:type> <maml:name>System.Object</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:returnValue> </command:returnValues> <maml:alertSet> <maml:alert> <maml:para>Note that the template name should be `PoshProjectTemplate.xml` otherwise you will receive an error.</maml:para> </maml:alert> </maml:alertSet> <command:examples> <command:example> <maml:title>-------------------------- Example 1 --------------------------</maml:title> <dev:code>PS C:\> Invoke-PoshTemplate -TemplatePath .\PoshProjectTemplate.xml [+] Creating Project [+] Creating Project Directory [+] Creating Root Module [+] Creating Module Manifest [+] Creating Pester Tests File</dev:code> <dev:remarks> <maml:para></maml:para> </dev:remarks> </command:example> <command:example> <maml:title>-------------------------- Example 2 --------------------------</maml:title> <dev:code>PS C:\> Invoke-PoshTemplate -TemplateObject (Get-PoshTemplate -TemplatePath .\PoshProjectTemplate.xml) [+] Creating Project [+] Creating Project Directory [+] Creating Root Module [+] Creating Module Manifest [+] Creating Pester Tests File</dev:code> <dev:remarks> <maml:para></maml:para> </dev:remarks> </command:example> <command:example> <maml:title>-------------------------- Example 3 --------------------------</maml:title> <dev:code>PS C:\> ".\PoshProjectTemplate.xml" | Get-PoshTemplate | Invoke-PoshTemplate [+] Creating Project [+] Creating Project Directory [+] Creating Root Module [+] Creating Module Manifest [+] Creating Pester Tests File</dev:code> <dev:remarks> <maml:para></maml:para> </dev:remarks> </command:example> <command:example> <maml:title>-------------------------- Example 4 --------------------------</maml:title> <dev:code>PS C:\> $template = Get-PoshTemplate ".\PoshProjectTemplate.xml" # This is required as dependencies is of type string. If not specified then the modules will be considered as a single name or entry PS C:\> $template.Dependencies = @("Az.Accounts", "Az.KeyVault") -join "," PS C:\> Invoke-PoshTemplate -TemplateObject $template -CustomInstall [+] Installing Az.Accounts [+] Successfully installed: Az.Accounts [+] Installing Az.KeyVault [+] Successfully installed: Az.KeyVault</dev:code> <dev:remarks> <maml:para>Run `Test-PoshTemplate` to validate the template before invoking this function.</maml:para> </dev:remarks> </command:example> </command:examples> <command:relatedLinks> <maml:navigationLink> <maml:linkText>Invoke-PoshTemplate</maml:linkText> <maml:uri>https://github.com/IndividualsinDemand/PoshProject/blob/master/docs/Invoke-PoshTemplate.md</maml:uri> </maml:navigationLink> </command:relatedLinks> </command:command> <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"> <command:details> <command:name>New-PoshTemplate</command:name> <command:verb>New</command:verb> <command:noun>PoshTemplate</command:noun> <maml:description> <maml:para>`New-PoshTemplate` cmdlet creates an xml template file for passed configuration or for a project name.</maml:para> </maml:description> </command:details> <maml:description> <maml:para>`New-PoshTemplate` cmdlet creates an xml template file for passed configuration or for a project name. This cmdlet helps you to define your project name, PowerShell manifest file mandatory details and custom directories for your project. It allows three types of project types, `Script`, `Module` and `Binary`. All the defined files and folders are created based on this.</maml:para> <maml:para>You can use this for creating any folder structure and you have to specify `Module` to create the folders. By default it will create a set of predefined folders and files for all these types.</maml:para> <maml:para>The template name should be `PoshProjectTemplate.xml` and any change to this name will return error.</maml:para> </maml:description> <command:syntax> <command:syntaxItem> <maml:name>New-PoshTemplate</maml:name> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="0" aliases="none"> <maml:name>ProjectName</maml:name> <maml:Description> <maml:para>Name of your project.</maml:para> </maml:Description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="1" aliases="none"> <maml:name>FilePath</maml:name> <maml:Description> <maml:para>Provide the path to create template file. If not provided the template file will be created in present working directory.</maml:para> </maml:Description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>Author</maml:name> <maml:Description> <maml:para>Module author name. This will be used to created module manifest file.</maml:para> </maml:Description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>DependsOn</maml:name> <maml:Description> <maml:para>Project dependencies. Provide the external module names that your project depends on.</maml:para> </maml:Description> <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue> <dev:type> <maml:name>String[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>Description</maml:name> <maml:Description> <maml:para>Provide the description of your project.</maml:para> </maml:Description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>Directories</maml:name> <maml:Description> <maml:para>Array of directories to be created as a part of the project. By default it will create a predefined folders and files based on the Project Type.</maml:para> </maml:Description> <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue> <dev:type> <maml:name>String[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>Guid</maml:name> <maml:Description> <maml:para>Guid of the project/module.</maml:para> </maml:Description> <command:parameterValue required="true" variableLength="false">Guid</command:parameterValue> <dev:type> <maml:name>Guid</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>License</maml:name> <maml:Description> <maml:para>Type of License.</maml:para> </maml:Description> <command:parameterValueGroup> <command:parameterValue required="false" command:variableLength="false">MIT</command:parameterValue> <command:parameterValue required="false" command:variableLength="false">Apache</command:parameterValue> </command:parameterValueGroup> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>ProjectType</maml:name> <maml:Description> <maml:para>Type of the project.</maml:para> </maml:Description> <command:parameterValueGroup> <command:parameterValue required="false" command:variableLength="false">Script</command:parameterValue> <command:parameterValue required="false" command:variableLength="false">Module</command:parameterValue> <command:parameterValue required="false" command:variableLength="false">Binary</command:parameterValue> </command:parameterValueGroup> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>Tags</maml:name> <maml:Description> <maml:para>Define tags to identify your project.</maml:para> </maml:Description> <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue> <dev:type> <maml:name>String[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>Version</maml:name> <maml:Description> <maml:para>Provide the version number for your module.</maml:para> </maml:Description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> </command:syntaxItem> </command:syntax> <command:parameters> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>Author</maml:name> <maml:Description> <maml:para>Module author name. This will be used to created module manifest file.</maml:para> </maml:Description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>DependsOn</maml:name> <maml:Description> <maml:para>Project dependencies. Provide the external module names that your project depends on.</maml:para> </maml:Description> <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue> <dev:type> <maml:name>String[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>Description</maml:name> <maml:Description> <maml:para>Provide the description of your project.</maml:para> </maml:Description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>Directories</maml:name> <maml:Description> <maml:para>Array of directories to be created as a part of the project. By default it will create a predefined folders and files based on the Project Type.</maml:para> </maml:Description> <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue> <dev:type> <maml:name>String[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="1" aliases="none"> <maml:name>FilePath</maml:name> <maml:Description> <maml:para>Provide the path to create template file. If not provided the template file will be created in present working directory.</maml:para> </maml:Description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>Guid</maml:name> <maml:Description> <maml:para>Guid of the project/module.</maml:para> </maml:Description> <command:parameterValue required="true" variableLength="false">Guid</command:parameterValue> <dev:type> <maml:name>Guid</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>License</maml:name> <maml:Description> <maml:para>Type of License.</maml:para> </maml:Description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="0" aliases="none"> <maml:name>ProjectName</maml:name> <maml:Description> <maml:para>Name of your project.</maml:para> </maml:Description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>ProjectType</maml:name> <maml:Description> <maml:para>Type of the project.</maml:para> </maml:Description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>Tags</maml:name> <maml:Description> <maml:para>Define tags to identify your project.</maml:para> </maml:Description> <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue> <dev:type> <maml:name>String[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>Version</maml:name> <maml:Description> <maml:para>Provide the version number for your module.</maml:para> </maml:Description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> </command:parameters> <command:inputTypes> <command:inputType> <dev:type> <maml:name>System.String</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:inputType> </command:inputTypes> <command:returnValues> <command:returnValue> <dev:type> <maml:name>System.Object</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:returnValue> </command:returnValues> <maml:alertSet> <maml:alert> <maml:para>Note that the template name should be `PoshProjectTemplate.xml` otherwise you will receive an error.</maml:para> </maml:alert> </maml:alertSet> <command:examples> <command:example> <maml:title>-------------------------- Example 1 --------------------------</maml:title> <dev:code>PS C:\> "MyNewModule" | New-PoshTemplate</dev:code> <dev:remarks> <maml:para>Creates a PoshTemplate file populated with project settings.</maml:para> </dev:remarks> </command:example> </command:examples> <command:relatedLinks> <maml:navigationLink> <maml:linkText>New-PoshTemplate</maml:linkText> <maml:uri>https://github.com/IndividualsinDemand/PoshProject/blob/master/docs/Invoke-PoshTemplate.md</maml:uri> </maml:navigationLink> </command:relatedLinks> </command:command> <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"> <command:details> <command:name>Test-PoshTemplate</command:name> <command:verb>Test</command:verb> <command:noun>PoshTemplate</command:noun> <maml:description> <maml:para>`Test-PoshTemplate` cmdlet is intended to test the PoshTemplate file.</maml:para> </maml:description> </command:details> <maml:description> <maml:para>`Test-PoshTemplate` cmdlet helps you to test the PoshTemplate file and reports if the template is valid or not. An invalid template error will be thrown if the `Guid` in the template is invalid. If the `Guid` tag is removed from the template, the validation will be passed as the tamplate object automatically creates a dummy `Guid` and maps it with the `PoshTemplate` object.</maml:para> <maml:para>Tags not included in template validation are 1. Dependencies 2. License.</maml:para> <maml:para>Template name should be `PoshProjectTemplate.xml` otherwise you will receive an error.</maml:para> </maml:description> <command:syntax> <command:syntaxItem> <maml:name>Test-PoshTemplate</maml:name> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="0" aliases="none"> <maml:name>TemplatePath</maml:name> <maml:Description> <maml:para>Provide the path to template file.</maml:para> </maml:Description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> </command:syntaxItem> </command:syntax> <command:parameters> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="0" aliases="none"> <maml:name>TemplatePath</maml:name> <maml:Description> <maml:para>Provide the path to template file.</maml:para> </maml:Description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> </command:parameters> <command:inputTypes> <command:inputType> <dev:type> <maml:name>System.String</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:inputType> </command:inputTypes> <command:returnValues> <command:returnValue> <dev:type> <maml:name>PoshProject.PoshTemplate</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:returnValue> </command:returnValues> <maml:alertSet> <maml:alert> <maml:para>Note that the template name should be `PoshProjectTemplate.xml` otherwise you will receive an error.</maml:para> </maml:alert> </maml:alertSet> <command:examples> <command:example> <maml:title>-------------------------- Example 1 --------------------------</maml:title> <dev:code>PS C:\> Test-PoshTemplate -TemplatePath .\PoshProjectTemplate.xml [+] Error Count: 0 [+] Valid Template</dev:code> <dev:remarks> <maml:para></maml:para> </dev:remarks> </command:example> <command:example> <maml:title>-------------------------- Example 2 --------------------------</maml:title> <dev:code>PS C:\> "\PoshProjectTemplate.xml" | Test-PoshTemplate [-] <ProjectName> is empty [-] <Directories> are empty [-] <Type> is empty [-] Invalid path: 'C:\MyNewModule.ps1' [-] Invalid root module name: 'MyNewModule.psm' [-] Error Count: 5 [-] Template validation failed</dev:code> <dev:remarks> <maml:para>If there is any empty field except `Dependencies` and `License` this cmdlet will fail the validation. It checks for each tag in the xml and validates `Guid` too. If `Guid` is found to be invalid, an Invalid Template error will be thrown.</maml:para> <maml:para>Any change in the template name will return in error.</maml:para> </dev:remarks> </command:example> </command:examples> <command:relatedLinks> <maml:navigationLink> <maml:linkText>Test-PoshTemplate</maml:linkText> <maml:uri>https://github.com/IndividualsinDemand/PoshProject/blob/master/docs/Test-PoshTemplate.md</maml:uri> </maml:navigationLink> </command:relatedLinks> </command:command> </helpItems> |