Resources/Vault/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 --> <metadata> <name>Catesta</name> <id>d531e058-52b8-4dd2-8162-01c95d1eb8f7</id> <version>2.0.0</version> <title>Catesta</title> <description>Scaffolds a new PowerShell SecretManagement extension vault module project</description> <author>Jake Morrison</author> <tags>PowerShell,Template,SecretManagement,VaultExtension,Secret,module</tags> </metadata> <!-- Parameters --> <parameters> <!-- Module differentiator --> <parameter name='VAULT' type='text' prompt='VAULT'/> <!-- Standard Parameter Prompts --> <parameter name='ModuleName' type='text' prompt='Enter the name of the extension vault project. (It is a community best practice that vault project names start with: SecretManagement. Example: SecretManagement.MyVault)'/> <parameter name='Description' type='text' prompt='Enter a description for the extension vault project'/> <parameter name='Version' type='text' prompt='Enter the version number of the extension vault project' default='0.0.1'/> <parameter name='FN' type='user-fullname' store='text' prompt='Enter your full name'/> <!-- CI/CD --> <!-- 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. Vault 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 project 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 project 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 project 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 project 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> <!-- 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 SecretManagement extension vault project with the following options: 	CICD: '$PLASTER_PARAM_CICD' 	Repo: '$PLASTER_PARAM_RepoType' 	CodingStyle: '$PLASTER_PARAM_CodingStyle' 	Pester: '$PLASTER_PARAM_Pester' </message> <!-- Create destination folder structure --> <file source='' destination='docs'/> <file source='' destination='media'/> <file source='' destination='src'/> <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\${PLASTER_PARAM_ModuleName}'/> <!-- Vault Files --> <templateFile source='..\Vault\src\PSVault\PSVault.Extension\PSVault.Extension.psd1' destination='src\${PLASTER_PARAM_ModuleName}\${PLASTER_PARAM_ModuleName}.Extension\${PLASTER_PARAM_ModuleName}.Extension.psd1' /> <file source='..\Vault\src\PSVault\PSVault.Extension\PSVault.Extension.psm1' destination='src\${PLASTER_PARAM_ModuleName}\${PLASTER_PARAM_ModuleName}.Extension\${PLASTER_PARAM_ModuleName}.Extension.psm1' /> <templateFile source='..\Vault\src\PSVault.build.ps1' destination='src\${PLASTER_PARAM_ModuleName}.build.ps1'/> <file source='..\Vault\src\PSVault.Settings.ps1' destination='src\${PLASTER_PARAM_ModuleName}.Settings.ps1'/> <file source='..\Vault\src\PSScriptAnalyzerSettings.psd1' destination='src\PSScriptAnalyzerSettings.psd1'/> <templateFile source='..\Vault\src\PSVault\PSVault.psm1' destination='src\${PLASTER_PARAM_ModuleName}\${PLASTER_PARAM_ModuleName}.psm1'/> <!-- 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='..\Vault\src\Tests\v4\Unit\PSVault-Module.Tests.ps1' destination='src\Tests\Unit\${PLASTER_PARAM_ModuleName}-Module.Tests.ps1' /> <templateFile condition="$PLASTER_PARAM_Pester -eq '4'" source='..\Vault\src\Tests\v4\Unit\ExportedFunctions.Tests.ps1' destination='src\Tests\Unit\ExportedFunctions.Tests.ps1' /> <templateFile condition="$PLASTER_PARAM_Pester -eq '4'" source='..\Vault\src\Tests\v4\Unit\Module-Function.Tests.ps1' destination='src\Tests\Unit\${PLASTER_PARAM_ModuleName}-Function.Tests.ps1' /> <templateFile condition="$PLASTER_PARAM_Pester -eq '5'" source='..\Vault\src\Tests\v5\Unit\PSVault-Module.Tests.ps1' destination='src\Tests\Unit\${PLASTER_PARAM_ModuleName}-Module.Tests.ps1' /> <templateFile condition="$PLASTER_PARAM_Pester -eq '5'" source='..\Vault\src\Tests\v5\Unit\ExportedFunctions.Tests.ps1' destination='src\Tests\Unit\ExportedFunctions.Tests.ps1' /> <templateFile condition="$PLASTER_PARAM_Pester -eq '5'" source='..\Vault\src\Tests\v5\Unit\Module-Function.Tests.ps1' destination='src\Tests\Unit\${PLASTER_PARAM_ModuleName}-Function.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' encoding='UTF8-NoBOM' openInEditor="true" author='$PLASTER_PARAM_FN' description='$PLASTER_PARAM_description' nestedModules='./${PLASTER_PARAM_ModuleName}.Extension' /> <!-- 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."/> <requireModule name="Microsoft.PowerShell.SecretManagement" minimumVersion ="1.1.2" message="Without the PowerShell SecretManagement you will not be able to properly test your extension."/> <!-- Outro Messages --> <message> Your new SecretManagement extension vault project 'SecretManagement.$PLASTER_PARAM_ModuleName' has been created. </message> <message> Read more about SecretManagement extension vault module: https://github.com/techthoughts2/Catesta/blob/main/docs/Catesta-Vault-Extension.md </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> |