Resources/Module/plasterManifest.xml
<?xml version='1.0' encoding='utf-8'?>
<plasterManifest schemaVersion='1.1' templateType='Project' xmlns='http://www.microsoft.com/schemas/PowerShell/Plaster/v1'> <!-- CodingStyle FN -g Help -g ModuleName -g Options Pester -g S VAULT -g Version -g --> <!-- MetaData --> <metadata> <name>Catesta</name> <id>258a61ba-566b-4c3a-8230-c2b6861a1a8d</id> <version>2.4.0</version> <title>Catesta</title> <description>Scaffolds a new PowerShell module project</description> <author>Jake Morrison</author> <tags>PowerShell,Template,CodeBuild,PowerShell Module,AWS</tags> </metadata> <!-- Parameters --> <parameters> <!-- Module differentiator --> <parameter name='VAULT' type='text' prompt='NOTVAULT'/> <!-- Standard Parameter Prompts --> <parameter name='ModuleName' type='text' prompt='Enter the name of the module'/> <parameter name='Description' type='text' prompt='Enter a description for the module'/> <parameter name='Version' type='text' prompt='Enter the version number of the module' default='0.0.1'/> <parameter name='FN' type='user-fullname' store='text' prompt='Enter your full name'/> <!-- CI/CD --> <parameter name='CICD' type='choice' default='0' store='text' prompt='Which CICD tool will you use to build and deploy your project?'> <choice label='&Module Only' help='Does not add CI/CD process files. Module scaffolding only.' value='NONE'/> <choice label='&GitHub Actions' help='CI/CD using GitHub Actions.' value='GITHUB'/> <choice label='AWS &CodeBuild' help='CI/CD using AWS CodeBuild' value='CODEBUILD'/> <choice label='Ap&pveyor' help='CI/CD using AWS Appveyor' value='APPVEYOR'/> <choice label='Git&Lab CI/CD' help='CI/CD using GitLab CI/CD' value='GITLAB'/> <choice label='&BitBucket Pipelines' help='CI/CD using BitBucket Pipelines' value='BITBUCKET'/> <choice label='&Azure Pipelines' help='CI/CD using Azure Pipelines' value='AZURE'/> </parameter> <!-- _________ CI/CD Sub-choices --> <!-- ___________________________GitHub Actions --> <parameter condition="$PLASTER_PARAM_CICD -eq 'GITHUB'" name='GitHubAOptions' type='multichoice' default='0' store='text' prompt='Select desired workflow action options? (If your module is cross-platform you should select multiple)'> <choice label='&Windows - PowerShell' help="Adds a Windows PowerShell based Workflow action." value="windows"/> <choice label='&Core (Windows)- pwsh' help="Adds a Windows pwsh based pipeline job." value="pwshcore"/> <choice label='&Linux' help="Adds a Linux based Workflow action." value="linux"/> <choice label='&MacOS' help="Adds a MacOS based Workflow action." value="macos"/> </parameter> <!-- ___________________________AWS --> <parameter condition="$PLASTER_PARAM_CICD -eq 'CODEBUILD'" name='AWSOptions' type='multichoice' default='0' store='text' prompt='Select desired buildspec file options? (If your module is cross-platform you should select multiple)' > <choice label='&Windows - PowerShell' help='Adds a Windows PowerShell focused buildspec.yml for Windows CodeBuild.' value='ps'/> <choice label='&Core (Windows)- pwsh' help='Adds a pwsh focused buildspec.yml for Windows CodeBuild.' value='pwshcore'/> <choice label='&Linux - pwsh' help='Adds a pwsh focused buildspec.yml for Linux CodeBuild.' value='pwsh'/> </parameter> <parameter condition="$PLASTER_PARAM_CICD -eq 'CODEBUILD'" name='S3Bucket' type='text' prompt='Enter S3 bucket name to download needed PS modules from S3 location. Leave blank to default to PSGallery.' default='PSGallery'/> <!-- ___________________________Appveyor --> <parameter condition="$PLASTER_PARAM_CICD -eq 'APPVEYOR'" name='AppveyorOptions' type='multichoice' default='0' store='text' prompt='Select desired Appveyor build environment options? (If your module is cross-platform you should select multiple)'> <choice label='&Windows - PowerShell' help='Adds a Windows PowerShell focused build on a Windows image.' value='windows'/> <choice label='&Core (Windows)- pwsh' help='Adds a pwsh focused build on a Windows image.' value='pwshcore'/> <choice label='&Linux - pwsh' help='Adds a pwsh focused build for a Linux image.' value='linux'/> <choice label='&MacOS - pwsh' help='Adds a pwsh focused build for a MacOS image.' value='macos'/> </parameter> <!-- ___________________________GitLab CI/CD--> <parameter condition="$PLASTER_PARAM_CICD -eq 'GITLAB'" name='GitLabOptions' type='multichoice' default='0' store='text' prompt='Select desired GitLab build environment options? (If your module is cross-platform you should select multiple)'> <choice label='&Windows - PowerShell' help='Adds a Windows PowerShell focused build on a Windows image.' value='windows'/> <choice label='&Core (Windows)- pwsh' help='Adds a pwsh focused build on a Windows image.' value='pwshcore'/> <choice label='&Linux - pwsh' help='Adds a pwsh focused build for a Linux image.' value='linux'/> </parameter> <!-- ___________________________BitBucket Pipelines --> <!-- Linux Only - no options for BitBucket --> <!-- ___________________________Azure Pipelines --> <parameter condition="$PLASTER_PARAM_CICD -eq 'AZURE'" name='AzureOptions' type='multichoice' default='0' store='text' prompt='Select desired Azure pipeline job options?'> <choice label='&Windows - PowerShell' help='Adds a Windows PowerShell focused job on a Windows image.' value='windows'/> <choice label='&Core (Windows)- pwsh' help='Adds a pwsh focused job on a Windows image.' value='pwshcore'/> <choice label='&Linux - pwsh' help='Adds a pwsh focused job for a Linux image.' value='linux'/> <choice label='&MacOS - pwsh' help='Adds a pwsh focused job for a MacOS image.' value='macos'/> </parameter> <!-- Repository Questions --> <parameter name='RepoType' type='choice' default='0' store='text' prompt='Which service will host this projects code repository?'> <choice label='&None' help='Does not add any repository files.' value='NONE'/> <choice label='&GitHub' help='Hosted on GitHub.' value='GITHUB'/> <choice label='AWS &CodeCommit' help='Hosted on AWS CodeCommit.' value='CODECOMMIT'/> <choice label='Git&Lab' help='Hosted on GitLab.' value='GITLAB'/> <choice label='&BitBucket' help='Hosted on BitBucket.' value='BITBUCKET'/> <choice label='&Azure Repos' help='Hosted on Azure Repos.' value='AZURE'/> </parameter> <!-- _________ Repository Sub-choices --> <parameter condition="$PLASTER_PARAM_RepoType -ne 'NONE'" name='License' type='choice' default='0' store='text' prompt='Select a License for your module. (Help deciding: https://choosealicense.com/)'> <choice label='&MIT' help='Adds a MIT License file.' value='MIT'/> <choice label='&Apache' help='Adds an Apache License file.' value='Apache'/> <choice label='&GNU' help='Adds a GNU GENERAL PUBLIC LICENSE file.' value='GNU'/> <choice label='&ISC' help='Adds an ISC License file.' value='ISC'/> <choice label='&None' help='Does not add a License file.' value='NONE'/> </parameter> <parameter condition="$PLASTER_PARAM_RepoType -ne 'NONE'" name='Changelog' type='choice' default='0' store='text' prompt='Would you like to generate a Changelog file?'> <choice label='&Changelog' help='Adds a Changelog file.' value='CHANGELOG'/> <choice label='&None' help='Does not add a Changelog file.' value='NONE'/> </parameter> <parameter condition="$PLASTER_PARAM_RepoType -ne 'NONE'" name='COC' type='choice' default='0' store='text' prompt='Would you like to generate a Code of Conduct file?'> <choice label='&Conduct' help='Adds a Code of Conduct file.' value='CONDUCT'/> <choice label='&None' help='Does not add a Conduct file.' value='NONE'/> </parameter> <parameter condition="$PLASTER_PARAM_RepoType -ne 'NONE'" name='Contribute' type='choice' default='0' store='text' prompt='Would you like to generate a Contributing guidelines file?'> <choice label='&Contribute' help='Adds a Contributing file.' value='CONTRIBUTING'/> <choice label='&None' help='Does not add a Contributing file.' value='NONE'/> </parameter> <parameter condition="$PLASTER_PARAM_RepoType -ne 'NONE'" name='Security' type='choice' default='0' store='text' prompt='Would you like to generate a Security policy file?'> <choice label='&Security' help='Adds a Security policy file.' value='SECURITY'/> <choice label='&None' help='Does not add a Security policy file.' value='NONE'/> </parameter> <!-- _________ Read the Docs integration --> <parameter condition="$PLASTER_PARAM_RepoType -ne 'NONE'" name='ReadtheDocs' type='choice' default='0' store='text' prompt='Would you like to generate files to integrate with Read the Docs?'> <choice label='&Read the Docs' help='Adds files for integrating your project with Read the Docs.' value='READTHEDOCS'/> <choice label='&None' help='Does not add Read the Docs integration files.' value='NONE'/> </parameter> <parameter condition="$PLASTER_PARAM_ReadtheDocs -eq 'READTHEDOCS'" name='RTDTheme' type='choice' default='0' store='text' prompt='Which theme would you like to use for Read the Docs?'> <choice label='&Default readthedocs theme' help='Creates Read the Docs integration with default readthedocs theme.' value='READTHEDOCSTHEME'/> <choice label='&Material theme' help='Creates Read the Docs integration with the material theme.' value='MATERIALTHEME'/> </parameter> <!-- Coding Style --> <parameter name='CodingStyle' type='choice' default='0' store='text' prompt='Would you like to specify a coding style for the project?'> <choice label='&Stroustrup' help='Sets Stroustrup as the preferred coding style.' value='Stroustrup'/> <choice label='&OTBS' help='Sets OTBS as the preferred coding style.' value='OTBS'/> <choice label='&Allman' help='Sets Allman as the preferred coding style.' value='Allman'/> <choice label='&None' help='No coding style is set for the project.' value='NONE'/> </parameter> <!-- PlatyPS Help --> <parameter name='Help' type='choice' default='0' store='text' prompt='Would you like to use platyPS to generate documentation files and external xml help for your project?'> <choice label='&Yes' help='platyPS will generate MarkDown help and external xml help' value='Yes'/> <choice label='&No' help='No help files will be generated.' value='No'/> </parameter> <!-- Pester --> <parameter name='Pester' type='choice' default='0' store='text' prompt='Which version of Pester would you like to use?'> <choice label='&5' help='Pester version 5' value='5'/> <choice label='&4' help='Pester version 4' value='4'/> </parameter> </parameters> <!-- Content --> <content> <!-- Intro Messages --> <message> Scaffolding your PowerShell Module module project with the following options: 	CICD: '$PLASTER_PARAM_CICD' 	Repo: '$PLASTER_PARAM_RepoType' 	CodingStyle: '$PLASTER_PARAM_CodingStyle' 	Help: '$PLASTER_PARAM_Help' 	Pester: '$PLASTER_PARAM_Pester' </message> <!-- Create destination folder structure --> <file source='' destination='docs'/> <file source='' destination='media'/> <file source='' destination='src'/> <file condition="$PLASTER_PARAM_CICD -eq 'CODEBUILD'" source='' destination='CloudFormation'/> <file source='' destination='src\Archive'/> <file source='' destination='src\Artifacts'/> <file source='' destination='src\Tests'/> <file source='' destination='src\Tests\Integration'/> <file source='' destination='src\Tests\Unit'/> <file source='' destination='src\Tests\Unit\Public'/> <file source='' destination='src\Tests\Unit\Private'/> <file source='' destination='src\${PLASTER_PARAM_ModuleName}'/> <file source='' destination='src\${PLASTER_PARAM_ModuleName}\Public'/> <file source='' destination='src\${PLASTER_PARAM_ModuleName}\Private'/> <!-- Module Files --> <templateFile source='..\Module\src\Module\Private\Get-Day.ps1' destination='src\${PLASTER_PARAM_ModuleName}\Private\Get-Day.ps1' /> <templateFile source='..\Module\src\Module\Public\Get-HelloWorld.ps1' destination='src\${PLASTER_PARAM_ModuleName}\Public\Get-HelloWorld.ps1' /> <templateFile source='..\Module\src\PSModule.build.ps1' destination='src\${PLASTER_PARAM_ModuleName}.build.ps1'/> <file source='..\Module\src\PSModule.Settings.ps1' destination='src\${PLASTER_PARAM_ModuleName}.Settings.ps1'/> <file source='..\Module\src\PSScriptAnalyzerSettings.psd1' destination='src\PSScriptAnalyzerSettings.psd1'/> <file condition="$PLASTER_PARAM_Help -eq 'Yes'" source='..\Module\src\MarkdownRepair.ps1' destination='src\MarkdownRepair.ps1' /> <!-- VSCode files --> <templateFile source='..\Editor\VSCode\tasks.json' destination='.vscode\tasks.json' /> <file source='..\Editor\VSCode\extensions.json' destination='.vscode\extensions.json' /> <templateFile source='..\Editor\VSCode\settings.json' destination='.vscode\settings.json' /> <!-- Pester --> <templateFile condition="$PLASTER_PARAM_Pester -eq '4'" source='..\Module\src\Tests\v4\Unit\PSModule-Module.Tests.ps1' destination='src\Tests\Unit\${PLASTER_PARAM_ModuleName}-Module.Tests.ps1' /> <templateFile condition="$PLASTER_PARAM_Pester -eq '4'" source='..\Module\src\Tests\v4\Unit\ExportedFunctions.Tests.ps1' destination='src\Tests\Unit\ExportedFunctions.Tests.ps1' /> <templateFile condition="$PLASTER_PARAM_Pester -eq '4'" source='..\Module\src\Tests\v4\Unit\Private\Private-Function.Tests.ps1' destination='src\Tests\Unit\Private\Get-Day.Tests.ps1' /> <templateFile condition="$PLASTER_PARAM_Pester -eq '4'" source='..\Module\src\Tests\v4\Unit\Public\Public-Function.Tests.ps1' destination='src\Tests\Unit\Public\Get-HelloWorld.Tests.ps1' /> <templateFile condition="$PLASTER_PARAM_Pester -eq '4'" source='..\Module\src\Tests\v4\Integration\SampleIntegrationTest.Tests.ps1' destination='src\Tests\Integration\SampleIntegrationTest.Tests.ps1' /> <templateFile condition="$PLASTER_PARAM_Pester -eq '5'" source='..\Module\src\Tests\v5\Unit\PSModule-Module.Tests.ps1' destination='src\Tests\Unit\${PLASTER_PARAM_ModuleName}-Module.Tests.ps1' /> <templateFile condition="$PLASTER_PARAM_Pester -eq '5'" source='..\Module\src\Tests\v5\Unit\ExportedFunctions.Tests.ps1' destination='src\Tests\Unit\ExportedFunctions.Tests.ps1' /> <templateFile condition="$PLASTER_PARAM_Pester -eq '5'" source='..\Module\src\Tests\v5\Unit\Private\Private-Function.Tests.ps1' destination='src\Tests\Unit\Private\Get-Day.Tests.ps1' /> <templateFile condition="$PLASTER_PARAM_Pester -eq '5'" source='..\Module\src\Tests\v5\Unit\Public\Public-Function.Tests.ps1' destination='src\Tests\Unit\Public\Get-HelloWorld.Tests.ps1' /> <templateFile condition="$PLASTER_PARAM_Pester -eq '5'" source='..\Module\src\Tests\v5\Integration\SampleIntegrationTest.Tests.ps1' destination='src\Tests\Integration\SampleIntegrationTest.Tests.ps1' /> <!-- Repo --> <!-- _________gitignore --> <file condition="$PLASTER_PARAM_RepoType -ne 'NONE'" source='..\RepoFiles\agitignore' destination='.gitignore' /> <!-- _________README --> <templateFile condition="$PLASTER_PARAM_RepoType -ne 'NONE'" source='..\RepoFiles\README.md' destination='README.md' /> <!-- _________LICENSE --> <templateFile condition="$PLASTER_PARAM_License -eq 'MIT'" source='..\RepoFiles\Licences\MITLICENSE' destination='LICENSE' /> <templateFile condition="$PLASTER_PARAM_License -eq 'Apache'" source='..\RepoFiles\Licences\APACHELICENSE' destination='LICENSE' /> <templateFile condition="$PLASTER_PARAM_License -eq 'GNU'" source='..\RepoFiles\Licences\GNULICENSE' destination='LICENSE' /> <templateFile condition="$PLASTER_PARAM_License -eq 'ISC'" source='..\RepoFiles\Licences\ISCLICENSE' destination='LICENSE' /> <!-- _________CHANGELOG --> <templateFile condition="$PLASTER_PARAM_Changelog -eq 'CHANGELOG'" source='..\RepoFiles\CHANGELOG.md' destination='docs\CHANGELOG.md' /> <!-- _________CodeCommit --> <!-- ________________________Code of Conduct --> <file condition="$PLASTER_PARAM_RepoType -eq 'CODECOMMIT' -and $PLASTER_PARAM_COC -eq 'CONDUCT'" source='..\RepoFiles\CODE_OF_CONDUCT.md' destination='CODE_OF_CONDUCT.md' /> <!-- ________________________Contribute --> <templateFile condition="$PLASTER_PARAM_RepoType -eq 'CODECOMMIT' -and $PLASTER_PARAM_Contribute -eq 'CONTRIBUTING'" source='..\RepoFiles\CONTRIBUTING.md' destination='CONTRIBUTING.md' /> <!-- ________________________Security --> <templateFile condition="$PLASTER_PARAM_RepoType -eq 'CODECOMMIT' -and $PLASTER_PARAM_Security -eq 'SECURITY'" source='..\RepoFiles\SECURITY.md' destination='SECURITY.md' /> <!-- ________________________Templates --> <!-- //N/A _______________________________ --> <!-- _________GitHub --> <!-- ________________________Code of Conduct --> <file condition="$PLASTER_PARAM_RepoType -eq 'GITHUB' -and $PLASTER_PARAM_COC -eq 'CONDUCT'" source='..\RepoFiles\CODE_OF_CONDUCT.md' destination='.github\CODE_OF_CONDUCT.md' /> <!-- ________________________Contribute --> <templateFile condition="$PLASTER_PARAM_RepoType -eq 'GITHUB' -and $PLASTER_PARAM_Contribute -eq 'CONTRIBUTING'" source='..\RepoFiles\CONTRIBUTING.md' destination='.github\CONTRIBUTING.md' /> <!-- ________________________Security --> <templateFile condition="$PLASTER_PARAM_RepoType -eq 'GITHUB' -and $PLASTER_PARAM_Security -eq 'SECURITY'" source='..\RepoFiles\SECURITY.md' destination='.github\SECURITY.md' /> <!-- ________________________Templates --> <file condition="$PLASTER_PARAM_RepoType -eq 'GITHUB'" source='..\GitHubFiles\PULL_REQUEST_TEMPLATE.md' destination='.github\PULL_REQUEST_TEMPLATE.md'/> <file condition="$PLASTER_PARAM_RepoType -eq 'GITHUB'" source='..\GitHubFiles\ISSUE_TEMPLATE\bug-report.md' destination='.github\ISSUE_TEMPLATE\bug-report.md'/> <file condition="$PLASTER_PARAM_RepoType -eq 'GITHUB'" source='..\GitHubFiles\ISSUE_TEMPLATE\feature_request.md' destination='.github\ISSUE_TEMPLATE\feature_request.md'/> <!-- _________Azure Repos --> <!-- ________________________Code of Conduct --> <file condition="$PLASTER_PARAM_RepoType -eq 'AZURE' -and $PLASTER_PARAM_COC -eq 'CONDUCT'" source='..\RepoFiles\CODE_OF_CONDUCT.md' destination='CODE_OF_CONDUCT.md' /> <!-- ________________________Contribute --> <templateFile condition="$PLASTER_PARAM_RepoType -eq 'AZURE' -and $PLASTER_PARAM_Contribute -eq 'CONTRIBUTING'" source='..\RepoFiles\CONTRIBUTING.md' destination='CONTRIBUTING.md' /> <!-- ________________________Security --> <templateFile condition="$PLASTER_PARAM_RepoType -eq 'AZURE' -and $PLASTER_PARAM_Security -eq 'SECURITY'" source='..\RepoFiles\SECURITY.md' destination='SECURITY.md' /> <!-- ________________________Templates --> <file condition="$PLASTER_PARAM_RepoType -eq 'AZURE'" source='..\AzureRepoFiles\pull_request_template.md' destination='.azuredevops\pull_request_template.md' /> <!-- _________BitBucket --> <!-- ________________________Code of Conduct --> <file condition="$PLASTER_PARAM_RepoType -eq 'BITBUCKET' -and $PLASTER_PARAM_COC -eq 'CONDUCT'" source='..\RepoFiles\CODE_OF_CONDUCT.md' destination='CODE_OF_CONDUCT.md' /> <!-- ________________________Contribute --> <templateFile condition="$PLASTER_PARAM_RepoType -eq 'BITBUCKET' -and $PLASTER_PARAM_Contribute -eq 'CONTRIBUTING'" source='..\RepoFiles\CONTRIBUTING.md' destination='CONTRIBUTING.md' /> <!-- ________________________Security --> <templateFile condition="$PLASTER_PARAM_RepoType -eq 'BITBUCKET' -and $PLASTER_PARAM_Security -eq 'SECURITY'" source='..\RepoFiles\SECURITY.md' destination='SECURITY.md' /> <!-- ________________________Templates --> <!-- //N/A _______________________________ --> <!-- _________GitLab --> <!-- ________________________Code of Conduct --> <file condition="$PLASTER_PARAM_RepoType -eq 'GITLAB' -and $PLASTER_PARAM_COC -eq 'CONDUCT'" source='..\RepoFiles\CODE_OF_CONDUCT.md' destination='CODE_OF_CONDUCT.md' /> <!-- ________________________Contribute --> <templateFile condition="$PLASTER_PARAM_RepoType -eq 'GITLAB' -and $PLASTER_PARAM_Contribute -eq 'CONTRIBUTING'" source='..\RepoFiles\CONTRIBUTING.md' destination='CONTRIBUTING.md' /> <!-- ________________________Security --> <templateFile condition="$PLASTER_PARAM_RepoType -eq 'GITLAB' -and $PLASTER_PARAM_Security -eq 'SECURITY'" source='..\RepoFiles\SECURITY.md' destination='SECURITY.md' /> <!-- ________________________Templates --> <file condition="$PLASTER_PARAM_RepoType -eq 'GITLAB'" source='..\GitLabFiles\issue_templates\bug-report.md' destination='.gitlab\issue_templates\bug-report.md'/> <file condition="$PLASTER_PARAM_RepoType -eq 'GITLAB'" source='..\GitLabFiles\issue_templates\feature-request.md' destination='.gitlab\issue_templates\feature-request.md'/> <file condition="$PLASTER_PARAM_RepoType -eq 'GITLAB'" source='..\GitLabFiles\merge_request_templates\Default.md' destination='.gitlab\merge_request_templates\Default.md'/> <!-- _________Read the Docs --> <templateFile condition="$PLASTER_PARAM_ReadtheDocs -eq 'READTHEDOCS'" source='..\Read_the_Docs\index.md' destination='docs\index.md' /> <file condition="$PLASTER_PARAM_ReadtheDocs -eq 'READTHEDOCS'" source='..\Read_the_Docs\.readthedocs.yaml' destination='.readthedocs.yaml' /> <file condition="$PLASTER_PARAM_RTDTheme -eq 'READTHEDOCSTHEME'" source='..\Read_the_Docs\readthedocs\requirements.txt' destination='docs\requirements.txt' /> <templateFile condition="$PLASTER_PARAM_RTDTheme -eq 'READTHEDOCSTHEME'" source='..\Read_the_Docs\readthedocs\mkdocs.yml' destination='mkdocs.yml' /> <file condition="$PLASTER_PARAM_RTDTheme -eq 'MATERIALTHEME'" source='..\Read_the_Docs\material\requirements.txt' destination='docs\requirements.txt' /> <templateFile condition="$PLASTER_PARAM_RTDTheme -eq 'MATERIALTHEME'" source='..\Read_the_Docs\material\mkdocs.yml' destination='mkdocs.yml' /> <!-- CI\CD --> <!-- _________GitHub Actions --> <templateFile condition="$PLASTER_PARAM_CICD -eq 'GITHUB' -and $PLASTER_PARAM_GitHubAOptions -eq 'windows'" source='..\GitHubActions\workflows\wf_Windows.yml' destination='.github\workflows\wf_Windows.yml' /> <templateFile condition="$PLASTER_PARAM_CICD -eq 'GITHUB' -and $PLASTER_PARAM_GitHubAOptions -eq 'pwshcore'" source='..\GitHubActions\workflows\wf_Windows_Core.yml' destination='.github\workflows\wf_Windows_Core.yml' /> <templateFile condition="$PLASTER_PARAM_CICD -eq 'GITHUB' -and $PLASTER_PARAM_GitHubAOptions -eq 'linux'" source='..\GitHubActions\workflows\wf_Linux.yml' destination='.github\workflows\wf_Linux.yml' /> <templateFile condition="$PLASTER_PARAM_CICD -eq 'GITHUB' -and $PLASTER_PARAM_GitHubAOptions -eq 'macos'" source='..\GitHubActions\workflows\wf_MacOS.yml' destination='.github\workflows\wf_MacOS.yml' /> <templateFile condition="$PLASTER_PARAM_CICD -eq 'GITHUB'" source='..\GitHubActions\actions_bootstrap.ps1' destination='actions_bootstrap.ps1'/> <!-- _________AWS --> <file condition="$PLASTER_PARAM_CICD -eq 'CODEBUILD'" source='..\AWS\configure_aws_credential.ps1' destination='configure_aws_credential.ps1'/> <templateFile condition="$PLASTER_PARAM_CICD -eq 'CODEBUILD' -and $PLASTER_PARAM_AWSOptions -eq 'ps'" source='..\AWS\buildspec_powershell_windows.yml' destination='buildspec_powershell_windows.yml' /> <templateFile condition="$PLASTER_PARAM_CICD -eq 'CODEBUILD' -and $PLASTER_PARAM_AWSOptions -eq 'pwshcore'" source='..\AWS\buildspec_pwsh_windows.yml' destination='buildspec_pwsh_windows.yml' /> <templateFile condition="$PLASTER_PARAM_CICD -eq 'CODEBUILD' -and $PLASTER_PARAM_AWSOptions -eq 'pwsh'" source='..\AWS\buildspec_pwsh_linux.yml' destination='buildspec_pwsh_linux.yml' /> <templateFile condition="$PLASTER_PARAM_CICD -eq 'CODEBUILD'" source='..\AWS\install_modules.ps1' destination='install_modules.ps1'/> <templateFile condition="$PLASTER_PARAM_CICD -eq 'CODEBUILD' -and $PLASTER_PARAM_RepoType -eq 'GITHUB'" source='..\AWS\CloudFormation\PowerShellCodeBuildGit.yml' destination='CloudFormation\PowerShellCodeBuildGit.yml'/> <templateFile condition="$PLASTER_PARAM_CICD -eq 'CODEBUILD' -and $PLASTER_PARAM_RepoType -eq 'BITBUCKET'" source='..\AWS\CloudFormation\PowerShellCodeBuildGit.yml' destination='CloudFormation\PowerShellCodeBuildGit.yml'/> <templateFile condition="$PLASTER_PARAM_CICD -eq 'CODEBUILD' -and $PLASTER_PARAM_RepoType -eq 'CODECOMMIT'" source='..\AWS\CloudFormation\PowerShellCodeBuildCC.yml' destination='CloudFormation\PowerShellCodeBuildCC.yml'/> <!-- _________Appveyor --> <templateFile condition="$PLASTER_PARAM_CICD -eq 'APPVEYOR'" source='..\AppVeyor\actions_bootstrap.ps1' destination='actions_bootstrap.ps1'/> <templateFile condition="$PLASTER_PARAM_CICD -eq 'APPVEYOR'" source='..\AppVeyor\appveyor.yml' destination='appveyor.yml' /> <!-- _________GitLab CI/CD --> <templateFile condition="$PLASTER_PARAM_CICD -eq 'GITLAB'" source='..\GitLab\actions_bootstrap.ps1' destination='actions_bootstrap.ps1'/> <templateFile condition="$PLASTER_PARAM_CICD -eq 'GITLAB'" source='..\GitLab\.gitlab-ci.yml' destination='.gitlab-ci.yml' /> <!-- _________Bitbucket Pipelines --> <templateFile condition="$PLASTER_PARAM_CICD -eq 'BITBUCKET'" source='..\Bitbucket\actions_bootstrap.ps1' destination='actions_bootstrap.ps1'/> <templateFile condition="$PLASTER_PARAM_CICD -eq 'BITBUCKET'" source='..\Bitbucket\bitbucket-pipelines.yml' destination='bitbucket-pipelines.yml' /> <!-- _________Azure Pipelines --> <templateFile condition="$PLASTER_PARAM_CICD -eq 'AZURE'" source='..\Azure\actions_bootstrap.ps1' destination='actions_bootstrap.ps1'/> <templateFile condition="$PLASTER_PARAM_CICD -eq 'AZURE'" source='..\Azure\azure-pipelines.yml' destination='azure-pipelines.yml' /> <!-- Manifest --> <newModuleManifest destination='src\${PLASTER_PARAM_ModuleName}\${PLASTER_PARAM_ModuleName}.psd1' moduleVersion='$PLASTER_PARAM_Version' rootModule='${PLASTER_PARAM_ModuleName}.psm1' encoding='UTF8-NoBOM' openInEditor="true" author='$PLASTER_PARAM_FN' description='$PLASTER_PARAM_description'/> <file source='..\Module\src\Module\Imports.ps1' destination='src\${PLASTER_PARAM_ModuleName}\Imports.ps1'/> <file source='..\Module\src\Module\Module.psm1' destination='src\${PLASTER_PARAM_ModuleName}\${PLASTER_PARAM_ModuleName}.psm1' openInEditor="true"/> <!-- Required modules --> <requireModule condition="$PLASTER_PARAM_Pester -eq '4'" name='Pester' minimumVersion='4.7.2' message='Without Pester, you will not be able to run the provided Pester test to validate your module manifest file.`nWithout version 4.5.0, VS Code will not display Pester warnings and errors in the Problems panel.'/> <requireModule condition="$PLASTER_PARAM_Pester -eq '5'" name='Pester' minimumVersion='5.2.2' message='Without Pester, you will not be able to run the provided Pester test to validate your module manifest file.'/> <requireModule name='InvokeBuild' minimumVersion='5.8.0' message='Without InvokeBuild, you will not be able to run local builds.'/> <requireModule name='platyPS' requiredVersion ='0.12.0' message='This template requires platyPS v0.12.0 module to properly generate help.'/> <!-- Outro Messages --> <message> Your new PowerShell module project '$PLASTER_PARAM_ModuleName' has been created. </message> <message condition="$PLASTER_PARAM_CICD -eq 'CODEBUILD'"> CloudFormation files have been generated for this project. You can find these in the CloudFormation folder. You can login to your AWS account and utilize these file to quickly create a stack for your project build. More information: https://github.com/techthoughts2/Catesta/blob/main/docs/Catesta-AWS.md </message> </content> </plasterManifest> |