PlasterTemplates/Default/plasterManifest.xml
<?xml version="1.0" encoding="utf-8"?> <plasterManifest schemaVersion="1.1" templateType="Project" xmlns="http://www.microsoft.com/schemas/PowerShell/Plaster/v1"> <metadata> <name>PowerCD</name> <id>34bfb116-806a-4cc0-a625-04988aa64999</id> <version>0.5.0</version> <title>New Powershell Module for Continuous Delivery (PowerCD)</title> <description>Create a Powershell Module based on common practices, and configure it for Continuous Delivery</description> <author>Justin Grote</author> <tags>Module, Powershell, Appveyor, Github, Continuous Delivery, CI, CD</tags> </metadata> <parameters> <parameter name="ModuleName" type="text" prompt=" ___ ________ `n / _ \___ _ _____ ____/ ___/ _ \`n / ___/ _ \ |/|/ / -_) __/ /__/ // /`n /_/ \___/__,__/\__/_/ \___/____/ `n =================================================`n The Name of your module | Default" default="MyNewModule" /> <parameter name="ModuleDesc" type="text" default="My New Module" prompt="Enter a description of the module. This is required for publishing to the PowerShell Gallery. | Default" /> <parameter name="Version" type="text" prompt="Enter the starting version of the module | Default" default="0.0.1" /> <parameter name="FullName" type="user-fullname" prompt="Enter your full name or an alias/handle. This will be used for Git commit messages and author information | Default" store="text" default="Anonymous" /> <parameter name="FirstFunctionName" type="text" default="Get-MyModuleItem" store="text" prompt="Enter the name of the first Powershell Function you would like in your module" /> <parameter name="License" type="choice" prompt="Select a license (see http://choosealicense.com for help choosing)" default="0" store="text"> <choice label="&MIT" help="Adds a MIT license file (https://choosealicense.com/licenses/mit)." value="MIT" /> <choice label="&Apache 2.0" help="Adds a Apache 2.0 license file (https://choosealicense.com/licenses/apache-2.0/)." value="Apache" /> <choice label="&GNU GPLv3" help="Adds a GNU GPLv3 license file (https://choosealicense.com/licenses/gpl-3.0/)." value="GNU" /> <choice label="&None" help="No license." value="None" /> </parameter> <parameter name="Editor" type="choice" prompt="Additional Editor Integrations" default="0" store="text"> <choice label="Visual Studio &Code" help="Your editor is Visual Studio Code." value="VSCode" /> <choice label="&None" help="No editor specified or you don't wish to set up any specific editor integrations" value="None" /> </parameter> <parameter name="AppVeyor" type="text" default="Y" store="text" prompt="Do you wish to add Appveyor support? | Default" /> <parameter name="AzureDevOpsPipelines" type="text" default="Y" store="text" prompt="Do you wish to add Azure DevOps Pipelines support? | Default" /> </parameters> <content> <!-- Basic Module Scaffolding --> <newModuleManifest destination="${PLASTER_PARAM_ModuleName}\${PLASTER_PARAM_ModuleName}.psd1" moduleVersion="$PLASTER_PARAM_Version" rootModule="${PLASTER_PARAM_ModuleName}.psm1" author="$PLASTER_PARAM_FullName" description="$PLASTER_PARAM_ModuleDesc" encoding="UTF8-NoBOM" /> <file destination="${PLASTER_PARAM_ModuleName}\Public\" source="" /> <file destination="${PLASTER_PARAM_ModuleName}\Private\" source="" /> <file destination="Build\" source="" /> <file destination="Release\" source="" /> <file destination="Tests\" source="" /> <file source="Module.psm1" destination="${PLASTER_PARAM_ModuleName}\${PLASTER_PARAM_ModuleName}.psm1" /> <file source="Tests\*" destination="Tests" /> <file source="PSModule.build.ps1" destination="" /> <file source=".git*" destination="" /> <file source="GitVersion.yml" destination="" /> <file source="build.ps1" destination="build.ps1" /> <file source="PSModule.requirements.psd1" destination="PSModule.requirements.psd1" /> <!-- First Function --> <templateFile source="firstfunction.ps1.txt" destination="${PLASTER_PARAM_ModuleName}\Public\${PLASTER_PARAM_FirstFunctionName}.ps1" /> <!-- License Files --> <!-- TODO: Substitute Year and Fullname in MIT License using TemplateFile or modify? --> <!-- TODO: Figure out how to substitute Template with MIT --> <templateFile condition="$PLASTER_PARAM_License -eq 'MIT'" source="license\MIT.txt" destination="LICENSE" /> <templateFile condition="$PLASTER_PARAM_License -eq 'Apache'" source="license\Apache.txt" destination="LICENSE" /> <templateFile condition="$PLASTER_PARAM_License -eq 'GPL'" source="license\GPL.txt" destination="LICENSE" /> <!-- VSCode --> <file condition="$PLASTER_PARAM_EDITOR -like 'VSCode'" source=".vscode\**" destination=".vscode" /> <!-- Appveyor --> <file condition="$PLASTER_PARAM_Appveyor -like 'Y*'" source="appveyor.yml" destination="appveyor.yml" /> <!-- Azure DevOps Pipelines --> <file condition="$PLASTER_PARAM_AzureDevOpsPipelines -like 'Y*'" source="azure-pipelines.yml" destination="azure-pipelines.yml" /> <message> `n`nYour new Module project $PLASTER_PARAM_ModuleName is ready. You must perform the following additional tasks manually for now: - Initialize Git repository (git init) - Initialize GitFlow (git flow init) - Register and connect to Github/Azure DevOps/Appveyor </message> </content> </plasterManifest> |