Templates/Sampler/plasterManifest.xml

<?xml version="1.0" encoding="utf-8"?>
<plasterManifest
  schemaVersion="1.0" xmlns="http://www.microsoft.com/schemas/PowerShell/Plaster/v1">
  <metadata>
    <name>Sampler</name>
    <id>01ff2349-1b77-46dd-a247-ce056aae043c</id>
    <version>0.0.1</version>
    <title>Sampler Module Template</title>
    <description>Sampler Module Template with bootstrap</description>
    <author>Gael Colas</author>
    <tags>Sampler,Template, Build, Module</tags>
  </metadata>
  <parameters>
      <parameter name="ModuleType" type="choice" default='1' prompt="Select the type of Module you would like to create:">
            <choice label='Simple &amp;Module Without Build'
                  help="Creates a simple module without the build automation."
                  value="SimpleModule_NoBuild"/>
 
            <choice label='&amp;Simple Module with build automation'
                  help="Creates a simple module with minimal structure and build scripts."
                  value="SimpleModule"/>
 
            <choice label='Cherry-pick &amp;features...'
                  help="Will prompt you for more details as to what you'd like to scaffold."
                  value="CustomModule"/>
 
            <choice label='&amp;Complete Module Sample'
                  help="Creates a module with complete structure and example files."
                  value="CompleteSample"/>
 
            <choice label='&amp;DSC Community Module'
                  help="Creates a DSC module according to the DSC Community baseline with a pipeline for build, test, and release automation."
                  value="dsccommunity"/>
      </parameter>
 
      <parameter name="Features" type="multichoice" prompt="What feature would you like to add to your project?" default="0" condition='$PLASTER_PARAM_ModuleType -eq "CustomModule"' >
            <choice label='&amp;*All'
                  help="Adds all features below."
                  value="All"/>
 
            <choice label='&amp;Enum'
                  help="Adds enum folders and an example."
                  value="Enum"/>
 
            <choice label='&amp;Classes'
                  help="Adds PSv5+ Classes folders and an example."
                  value="Classes"/>
 
            <choice label='&amp;DSC Resources'
                  help="Adds DSCResources folders and an example."
                  value="DSCResources"/>
 
            <choice label='&amp;Sample Scripts'
                  help="Adds Sample scripts in folders."
                  value="SampleScripts"/>
 
            <choice label='&amp;Git for source control'
                  help="Adds project .gitignore and other git configuration files."
                  value="git"/>
            <choice label='gitversion for automatic &amp;versioning'
                  help="Adds GitVersion configuration files for automatic versioning."
                  value="gitversion"/>
 
            <choice label='&amp;Unit Tests'
                  help="Adds Tests folders and example with your features."
                  value="UnitTests"/>
 
            <choice label='&amp;Quality tests'
                  help="Adds the Module quality verifying Unit tests, help and code coverage."
                  value="ModuleQuality"/>
 
            <choice label='&amp;Build'
                  help="Adds Build folders and an scripts."
                  value="Build"/>
 
            <choice label='&amp;AppVeyor'
                  help="Adds AppVeyor folders and an example."
                  value="AppVeyor"/>
            <choice label='Azure &amp;Pipelines'
                  help="Adds Azure Pipelines configuration files."
                  value="azurepipelines"/>
            <choice label='&amp;GitHub configuration'
                  help="Adds GitHub configuration (issue / PR templates and CODE_OF_CONDUCT)."
                  value="github"/>
            <choice label='&amp;CodeCov.io coverage reporting'
                  help="Adds a codecov.yml configuration file."
                  value="codecov"/>
            <choice label='Visual Studio &amp;Code'
                  help="Adds Visual Studio Code configuration files."
                  value="vscode"/>
            <choice label='Test&amp;Kitchen'
                  help="Adds TestKitchen folders, yaml and an example."
                  value="TestKitchen"/>
      </parameter>
      <parameter name="ModuleAuthor" store="text" type="text" prompt="Author's name" default="$Env:Username" />
      <parameter name="ModuleName" store="text" type="text" prompt="Name of your module" />
      <parameter name="ModuleDescription" type="text" prompt="Description of this module" />
      <parameter name="CustomRepo" default="PSGallery" type="text" prompt="Do you pull from default repository (PSGallery) or a custom repository?" />
      <parameter name="ModuleVersion" type="text" prompt="Module version" default="0.0.1" />
 
      <!-- UseGit prompts only for ModuleTypes that don't decide it implicitly. CustomModule expresses Git via the 'git' Feature. -->
      <parameter name="UseGit" type="choice"
                  default="1"
                  prompt="Will you use Git for source control?"
                  condition="$PLASTER_PARAM_ModuleType -notin @('SimpleModule_NoBuild', 'dsccommunity', 'CompleteSample', 'CustomModule')" >
            <choice label='&amp;Yes' value='true' />
            <choice label='&amp;No' value='false' />
      </parameter>
 
      <parameter name="MainGitBranch" type="text"
                  default="main"
                  store="text"
                  prompt="Name of your default branch"
                  condition="$PLASTER_PARAM_UseGit -eq 'true' -or $PLASTER_PARAM_ModuleType -in @('CompleteSample', 'CustomModule')"/>
 
      <parameter name="UseGitVersion" type="choice"
                  prompt="Do you want to add configuration for GitVersion to handle automatic versioning for your project?"
                  default="0"
                  condition="$PLASTER_PARAM_UseGit -eq 'true' -and $PLASTER_PARAM_ModuleType -notin @('CustomModule')" >
            <choice label='&amp;Yes' value='true' />
            <choice label='&amp;No' value='false' />
      </parameter>
 
      <parameter name="UseCodeCovIo" type="choice"
                  default="1"
                  prompt="Do you want to use the service CodeCov.io for code coverage reporting?"
                  condition="$PLASTER_PARAM_UseGit -eq 'true' -and $PLASTER_PARAM_ModuleType -notin @('CustomModule')" >
            <choice label='&amp;Yes' value='true' />
            <choice label='&amp;No' value='false' />
      </parameter>
 
      <parameter name="UseGitHub" type="choice"
                  default="1"
                  prompt="Will you use GitHub.com as the collaboration platform for the project?"
                  condition="$PLASTER_PARAM_UseGit -eq 'true' -and $PLASTER_PARAM_ModuleType -notin @('SimpleModule_NoBuild', 'dsccommunity', 'CustomModule')" >
            <choice label='&amp;Yes' value='true' />
            <choice label='&amp;No' value='false' />
      </parameter>
 
      <parameter name="UseAzurePipelines" type="choice"
                  default="1"
                  prompt="Do you want to use Azure Pipelines to run the the build, test and or deploy pipeline?"
                  condition="$PLASTER_PARAM_ModuleType -notin @('SimpleModule_NoBuild', 'dsccommunity', 'CompleteSample', 'CustomModule')" >
            <choice label='&amp;Yes' value='true' />
            <choice label='&amp;No' value='false' />
      </parameter>
 
      <parameter name="GitHubOwner" type="text"
                  default="MyOrgName"
                  prompt="What is the name of the GitHub owner (personal or organization account) that will publish the module?"
                  condition="($PLASTER_PARAM_ModuleType -eq 'CustomModule' -and ($PLASTER_PARAM_Features -contains 'github' -or $PLASTER_PARAM_Features -contains 'All')) -or ($PLASTER_PARAM_UseGitHub -eq 'true' -and $PLASTER_PARAM_ModuleType -notin @('dsccommunity', 'SimpleModule_NoBuild', 'CustomModule')) -or $PLASTER_PARAM_ModuleType -in @('CompleteSample')" />
 
      <parameter name="GitHubOwnerDscCommunity" type="text"
                  default="dsccommunity"
                  prompt="What is the name of the GitHub owner (personal or organization account) that will publish the module?"
                  condition="$PLASTER_PARAM_ModuleType -in @('dsccommunity')" />
 
      <parameter name="UseVSCode" type="choice"
                  default="1"
                  prompt="Will you use Visual Studio Code as the code editor for the project?"
                  condition="$PLASTER_PARAM_ModuleType -notin @('CompleteSample', 'SimpleModule_NoBuild', 'dsccommunity', 'CustomModule')" >
            <choice label='&amp;Yes' value='true' />
            <choice label='&amp;No' value='false' />
      </parameter>
 
      <parameter name="License" type="choice"
                  default="1"
                  store="text"
                  prompt="Do you want to include a License to your project?"
                  condition='$PLASTER_PARAM_ModuleType -eq "CustomModule"' >
            <choice label='&amp;Yes' value='true' />
            <choice label='&amp;No' value='false' />
      </parameter>
 
      <parameter name="LicenseType" type="choice"
                  store="text"
                  default="2"
                  prompt="What license do you want?"
                  condition='$PLASTER_PARAM_License -eq "true" -and $PLASTER_PARAM_ModuleType -eq "CustomModule"' >
            <choice label='&amp;Apache'
                        help="Adds an Apache license file."
                        value="Apache" />
 
            <choice label='&amp;MIT'
                        help="Adds an MIT license file."
                        value="MIT" />
 
            <choice label='&amp;None'
                        help="No license specified."
                        value="None" />
      </parameter>
 
      <parameter name="SourceDirectory" type="choice"
                  default="2"
                  store="text"
                  prompt="What name do you give your source folder?"
                  >
            <choice label="&amp;The Module's name (${PLASTER_PARAM_ModuleName})" value="${PLASTER_PARAM_ModuleName}" />
            <choice label="&amp;source" value="source" />
            <choice label="s&amp;rc" value="src" />
      </parameter>
 
  </parameters>
    <!--
      condition=''
      ${PLASTER_PARAM_ModuleType} SimpleModule CustomModule CompleteSample SimpleModule_NoBuild
      -in @("SimpleModule","CustomModule","CompleteSample","SimpleModule_NoBuild")
      ${PLASTER_PARAM_ModuleAuthor}
      ${PLASTER_PARAM_ModuleName}
      ${PLASTER_PARAM_ModuleDescription}
      ${PLASTER_PARAM_ModuleVersion}
      ${PLASTER_PARAM_License} true false
      ${PLASTER_PARAM_LicenseType} Apache MIT None
      ${PLASTER_PARAM_Features} All UnitTests ModuleQuality AppVeyor TestKitchen DSCResources Enum Classes SampleScripts git
 
     -->
  <content>
    <!-- MODULES FOLDER SCAFFOLDING -->
    <!-- SOURCE MAIN Folder -->
    <file source=''
          destination='${PLASTER_PARAM_ModuleName}/${PLASTER_PARAM_SourceDirectory}'
    />
 
    <!-- CLASSES Folder-->
    <file source=''
          destination='${PLASTER_PARAM_ModuleName}/${PLASTER_PARAM_SourceDirectory}/Classes'
          condition='(${PLASTER_PARAM_Features} -contains "All" -or ${PLASTER_PARAM_Features} -contains "Classes") -or ${PLASTER_PARAM_ModuleType} -in @("dsccommunity","CompleteSample")'
    />
 
    <!-- Enum Folder-->
    <file source=''
          destination='${PLASTER_PARAM_ModuleName}/${PLASTER_PARAM_SourceDirectory}/Enum'
          condition='(${PLASTER_PARAM_Features} -contains "All" -or ${PLASTER_PARAM_Features} -contains "Enum") -or ${PLASTER_PARAM_ModuleType} -in @("dsccommunity","CompleteSample")'
    />
 
    <!-- PRIVATE FUNCTIONS Folder-->
    <file source=''
          destination='${PLASTER_PARAM_ModuleName}/${PLASTER_PARAM_SourceDirectory}/Private'
    />
 
    <!-- PUBLIC FUNCTIONS Folder -->
    <file source=''
          destination='${PLASTER_PARAM_ModuleName}/${PLASTER_PARAM_SourceDirectory}/Public'
    />
 
    <!-- PESTER MAIN FOLDER -->
    <file source=''
          destination='${PLASTER_PARAM_ModuleName}/tests'
          condition='${PLASTER_PARAM_ModuleType} -in @("dsccommunity","SimpleModule","CompleteSample","SimpleModule_NoBuild") -or ${PLASTER_PARAM_Features} -contains "All" -or ${PLASTER_PARAM_Features} -contains "UnitTests" -or ${PLASTER_PARAM_Features} -contains "ModuleQuality" -or ${PLASTER_PARAM_Features} -contains "TestKitchen"'
    />
 
    <!-- UNIT TESTS Private Functions folder -->
    <file source=''
          destination='${PLASTER_PARAM_ModuleName}/tests/Unit/Private'
          condition='${PLASTER_PARAM_ModuleType} -in @("dsccommunity","CompleteSample","SimpleModule") -or (${PLASTER_PARAM_Features} -Contains "All" -or (${PLASTER_PARAM_Features} -Contains "UnitTests" -and ${PLASTER_PARAM_Features} -contains "SampleScripts"))'
    />
 
    <!-- UNIT TESTS Public folder -->
    <file source=''
          destination='${PLASTER_PARAM_ModuleName}/tests/Unit/Public'
          condition='${PLASTER_PARAM_ModuleType} -in @("dsccommunity","CompleteSample","SimpleModule") -or (${PLASTER_PARAM_Features} -Contains "All" -or (${PLASTER_PARAM_Features} -Contains "UnitTests" -and ${PLASTER_PARAM_Features} -contains "SampleScripts"))'
    />
 
    <!-- UNIT TESTS Classes Sample Files -->
    <file source='../Classes/tests/Unit/Classes/class1.tests.ps1'
          destination='${PLASTER_PARAM_ModuleName}/tests/Unit/Classes/class1.tests.ps1'
          condition='${PLASTER_PARAM_ModuleType} -in @("CompleteSample") -or ${PLASTER_PARAM_Features} -contains "All" -or (${PLASTER_PARAM_Features} -Contains "UnitTests" -and ${PLASTER_PARAM_Features} -Contains "Classes")'
    />
    <file source='../Classes/tests/Unit/Classes/class2.tests.ps1'
          destination='${PLASTER_PARAM_ModuleName}/tests/Unit/Classes/class2.tests.ps1'
          condition='${PLASTER_PARAM_ModuleType} -in @("CompleteSample") -or ${PLASTER_PARAM_Features} -contains "All" -or (${PLASTER_PARAM_Features} -Contains "UnitTests" -and ${PLASTER_PARAM_Features} -Contains "Classes")'
    />
    <file source='../Classes/tests/Unit/Classes/class11.tests.ps1'
          destination='${PLASTER_PARAM_ModuleName}/tests/Unit/Classes/class11.tests.ps1'
          condition='${PLASTER_PARAM_ModuleType} -in @("CompleteSample") -or ${PLASTER_PARAM_Features} -contains "All" -or (${PLASTER_PARAM_Features} -Contains "UnitTests" -and ${PLASTER_PARAM_Features} -Contains "Classes")'
    />
    <file source='../Classes/tests/Unit/Classes/class12.tests.ps1'
          destination='${PLASTER_PARAM_ModuleName}/tests/Unit/Classes/class12.tests.ps1'
          condition='${PLASTER_PARAM_ModuleType} -in @("CompleteSample") -or ${PLASTER_PARAM_Features} -contains "All" -or (${PLASTER_PARAM_Features} -Contains "UnitTests" -and ${PLASTER_PARAM_Features} -Contains "Classes")'
    />
 
    <!-- UNIT TESTS Private Functions Sample Files -->
    <templateFile source='Get-PrivateFunction.tests.ps1.template'
          destination='${PLASTER_PARAM_ModuleName}/tests/Unit/Private/Get-PrivateFunction.tests.ps1'
          condition='${PLASTER_PARAM_ModuleType} -in @("CompleteSample","SimpleModule") -or (${PLASTER_PARAM_Features} -Contains "All" -or (${PLASTER_PARAM_Features} -Contains "UnitTests" -and ${PLASTER_PARAM_Features} -contains "SampleScripts"))'
    />
 
    <!-- UNIT TESTS Public Functions Sample Files -->
    <templateFile source='Get-Something.tests.ps1.template'
          destination='${PLASTER_PARAM_ModuleName}/tests/Unit/Public/Get-Something.tests.ps1'
          condition='${PLASTER_PARAM_ModuleType} -in @("CompleteSample","SimpleModule") -or (${PLASTER_PARAM_Features} -Contains "All" -or (${PLASTER_PARAM_Features} -Contains "UnitTests" -and ${PLASTER_PARAM_Features} -contains "SampleScripts"))'
    />
 
    <!-- UNIT TESTS DSC Resources folder -->
    <file source=''
          destination='${PLASTER_PARAM_ModuleName}/tests/Unit/Modules'
          condition='${PLASTER_PARAM_ModuleType} -in @("") -or (${PLASTER_PARAM_Features} -Contains "All" -or (${PLASTER_PARAM_Features} -Contains "UnitTests" -and ${PLASTER_PARAM_Features} -contains "DSCResources"))'
    />
 
      <!-- UNIT TESTS DSC module sample file -->
    <file source='../MofResource/tests/Unit/Modules/Folder.Common.tests.ps1'
      destination='${PLASTER_PARAM_ModuleName}/tests/Unit/Modules/Folder.Common.tests.ps1'
      condition='${PLASTER_PARAM_ModuleType} -in @("") -or (${PLASTER_PARAM_Features} -Contains "All" -or (${PLASTER_PARAM_Features} -Contains "UnitTests" -and ${PLASTER_PARAM_Features} -contains "DSCResources"))'
    />
 
    <file source=''
          destination='${PLASTER_PARAM_ModuleName}/tests/Unit/DSCResources'
          condition='${PLASTER_PARAM_ModuleType} -in @("") -or (${PLASTER_PARAM_Features} -Contains "All" -or (${PLASTER_PARAM_Features} -Contains "UnitTests" -and ${PLASTER_PARAM_Features} -contains "DSCResources"))'
    />
 
    <templateFile source='../MofResource/tests/Unit/DSCResources/DSC_Folder.tests.ps1.template'
          destination='${PLASTER_PARAM_ModuleName}/tests/Unit/DSCResources/DSC_Folder.tests.ps1'
          condition='${PLASTER_PARAM_ModuleType} -in @("") -or (${PLASTER_PARAM_Features} -Contains "All" -or (${PLASTER_PARAM_Features} -Contains "UnitTests" -and ${PLASTER_PARAM_Features} -contains "DSCResources"))'
    />
 
    <!-- QUALITY TESTS for Module -->
    <templateFile source='module.tests.ps1.template'
          destination='${PLASTER_PARAM_ModuleName}/tests/QA/module.tests.ps1'
          condition='${PLASTER_PARAM_ModuleType} -in @("SimpleModule","SimpleModule_NoBuild","CompleteSample") -or (${PLASTER_PARAM_Features} -Contains ("ModuleQuality") -or ${PLASTER_PARAM_Features} -contains "All")'
    />
 
    <!-- PUBLIC FUNCTION Sample -->
    <file source='Get-Something.ps1'
          destination='${PLASTER_PARAM_ModuleName}/${PLASTER_PARAM_SourceDirectory}/Public/Get-Something.ps1'
          condition='(${PLASTER_PARAM_ModuleType} -in @("CompleteSample","SimpleModule") -or ${PLASTER_PARAM_Features} -Contains "All" -or ${PLASTER_PARAM_Features} -Contains "SampleScripts")'
    />
 
    <!-- PRIVATE FUNCTION Sample -->
    <file source='Get-PrivateFunction.ps1'
          destination='${PLASTER_PARAM_ModuleName}/${PLASTER_PARAM_SourceDirectory}/Private/Get-PrivateFunction.ps1'
          condition='(${PLASTER_PARAM_ModuleType} -in @("CompleteSample","SimpleModule") -or ${PLASTER_PARAM_Features} -Contains ("All") -or ${PLASTER_PARAM_Features} -Contains ("SampleScripts"))'
    />
 
    <!-- CLASSES Samples Folder -->
    <file source=''
          destination='${PLASTER_PARAM_ModuleName}/${PLASTER_PARAM_SourceDirectory}/Classes/'
          condition='${PLASTER_PARAM_Features} -Contains "All" -or (${PLASTER_PARAM_Features} -Contains "Classes" -and ${PLASTER_PARAM_Features} -Contains "SampleScripts") -or ${PLASTER_PARAM_ModuleType} -in @("dsccommunity","CompleteSample")'
    />
    <!-- CLASSES Samples Files -->
    <file source='../Classes/Classes/1.class1.ps1'
          destination='${PLASTER_PARAM_ModuleName}/${PLASTER_PARAM_SourceDirectory}/Classes/1.class1.ps1'
          condition='${PLASTER_PARAM_Features} -Contains "All" -or (${PLASTER_PARAM_Features} -Contains "Classes" -and ${PLASTER_PARAM_Features} -Contains "SampleScripts") -or ${PLASTER_PARAM_ModuleType} -in @("CompleteSample")'
    />
    <file source='../Classes/Classes/2.class2.ps1'
          destination='${PLASTER_PARAM_ModuleName}/${PLASTER_PARAM_SourceDirectory}/Classes/2.class2.ps1'
          condition='${PLASTER_PARAM_Features} -Contains "All" -or (${PLASTER_PARAM_Features} -Contains "Classes" -and ${PLASTER_PARAM_Features} -Contains "SampleScripts") -or ${PLASTER_PARAM_ModuleType} -in @("CompleteSample")'
    />
    <file source='../Classes/Classes/3.class11.ps1'
          destination='${PLASTER_PARAM_ModuleName}/${PLASTER_PARAM_SourceDirectory}/Classes/3.class11.ps1'
          condition='${PLASTER_PARAM_Features} -Contains "All" -or (${PLASTER_PARAM_Features} -Contains "Classes" -and ${PLASTER_PARAM_Features} -Contains "SampleScripts") -or ${PLASTER_PARAM_ModuleType} -in @("CompleteSample")'
    />
    <file source='../Classes/Classes/4.class12.ps1'
          destination='${PLASTER_PARAM_ModuleName}/${PLASTER_PARAM_SourceDirectory}/Classes/4.class12.ps1'
          condition='${PLASTER_PARAM_Features} -Contains "All" -or (${PLASTER_PARAM_Features} -Contains "Classes" -and ${PLASTER_PARAM_Features} -Contains "SampleScripts") -or ${PLASTER_PARAM_ModuleType} -in @("CompleteSample")'
    />
 
    <!-- OUTPUT FOLDER -->
    <file source=''
          destination='${PLASTER_PARAM_ModuleName}/output'
          condition='${PLASTER_PARAM_Features} -Contains "All" -or ${PLASTER_PARAM_Features} -Contains "build" -or ${PLASTER_PARAM_ModuleType} -in @("dsccommunity","CompleteSample","SimpleModule")'
    />
    <!-- REQUIRED MODULES FOLDER -->
    <file source=''
          destination='${PLASTER_PARAM_ModuleName}/output/RequiredModules'
          condition='${PLASTER_PARAM_Features} -Contains "All" -or ${PLASTER_PARAM_Features} -Contains "build" -or ${PLASTER_PARAM_ModuleType} -in @("dsccommunity","CompleteSample","SimpleModule")'
    />
    <!-- WikiSource FOLDER -->
    <file source=''
          destination='${PLASTER_PARAM_ModuleName}/${PLASTER_PARAM_SourceDirectory}/WikiSource'
          condition='${PLASTER_PARAM_Features} -Contains "All" -or ${PLASTER_PARAM_ModuleType} -in @("dsccommunity","CompleteSample")'
    />
    <!-- END OF MODULES FOLDER SCAFFOLDING -->
 
    <!-- REPOSITORY Files -->
    <!-- GITIGNORE -->
    <file source='../Git/gitignore'
          destination='${PLASTER_PARAM_ModuleName}/.gitignore'
          condition='${PLASTER_PARAM_Features} -Contains "All" -or $PLASTER_PARAM_UseGit -eq "true" -or ${PLASTER_PARAM_Features} -Contains "git" -or ${PLASTER_PARAM_ModuleType} -in @("dsccommunity","CompleteSample")'
    />
 
    <!-- GITATTRIBUTES -->
    <file source='../Git/gitattributes'
          destination='${PLASTER_PARAM_ModuleName}/.gitattributes'
          condition='${PLASTER_PARAM_Features} -Contains "All" -or $PLASTER_PARAM_UseGit -eq "true" -or ${PLASTER_PARAM_Features} -Contains "git" -or ${PLASTER_PARAM_ModuleType} -in @("dsccommunity","CompleteSample")'
    />
 
    <!-- KITCHEN YAML Sample -->
    <templateFile source='kitchen.yml.template'
                  destination='${PLASTER_PARAM_ModuleName}/.kitchen.yml'
                  condition='${PLASTER_PARAM_Features} -Contains "All" -or ${PLASTER_PARAM_Features} -Contains "TestKitchen"'
    />
 
    <!-- BUILD SCRIPTS -->
    <!-- BUILD.ps1 (ENTRY POINT) -->
    <file source='../Build/build.ps1'
          destination='${PLASTER_PARAM_ModuleName}/build.ps1'
          condition='${PLASTER_PARAM_Features} -Contains "All" -or ${PLASTER_PARAM_Features} -Contains ("Build") -or ${PLASTER_PARAM_ModuleType} -in @("dsccommunity","SimpleModule","CompleteSample")'
    />
 
    <!-- REQUIRED MODULES MANIFEST -->
 
    <templateFile source='../Build/RequiredModules.psd1.template'
          destination='${PLASTER_PARAM_ModuleName}/RequiredModules.psd1'
          condition='${PLASTER_PARAM_ModuleType} -in @("dsccommunity","SimpleModule","CompleteSample") -or ${PLASTER_PARAM_Features} -Contains ("All") -or ${PLASTER_PARAM_Features} -Contains ("Build")'
    />
 
    <!-- RESOLVE DEPENDENCY Script (used in build.ps1) -->
    <file source='../Build/Resolve-Dependency.ps1'
          destination='${PLASTER_PARAM_ModuleName}/Resolve-Dependency.ps1'
          condition='${PLASTER_PARAM_ModuleType} -in @("dsccommunity","SimpleModule","CompleteSample") -or ${PLASTER_PARAM_Features} -Contains ("All") -or ${PLASTER_PARAM_Features} -Contains ("Build")'
    />
 
    <templateFile source='../Build/Resolve-Dependency.psd1.template'
          destination='${PLASTER_PARAM_ModuleName}/Resolve-Dependency.psd1'
          condition='${PLASTER_PARAM_ModuleType} -in @("dsccommunity","SimpleModule","CompleteSample") -or ${PLASTER_PARAM_Features} -Contains ("All") -or ${PLASTER_PARAM_Features} -Contains ("Build")'
    />
 
    <!-- BUILD YAML CONFIGURATION -->
    <templateFile source='../Build/build.yaml.template'
          destination='${PLASTER_PARAM_ModuleName}/build.yaml'
          condition='${PLASTER_PARAM_ModuleType} -in @("dsccommunity","SimpleModule","CompleteSample") -or ${PLASTER_PARAM_Features} -Contains ("All") -or ${PLASTER_PARAM_Features} -Contains ("Build")'
    />
 
    <!-- APPVEYOR -->
    <file source='appveyor.yml'
          destination='${PLASTER_PARAM_ModuleName}/appveyor.yml'
          condition='${PLASTER_PARAM_Features} -Contains ("AppVeyor")'
    />
 
    <!-- AZURE PIPELINES -->
    <templateFile source='azure-pipelines.yml.template'
          destination='${PLASTER_PARAM_ModuleName}/azure-pipelines.yml'
          condition='${PLASTER_PARAM_ModuleType} -in @("CompleteSample") -or $PLASTER_PARAM_UseAzurePipelines -eq "true" -or ${PLASTER_PARAM_Features} -contains "All" -or ${PLASTER_PARAM_Features} -contains "azurepipelines"'
    />
 
    <templateFile source='azure-pipelines_dsccommunity.yml.template'
          destination='${PLASTER_PARAM_ModuleName}/azure-pipelines.yml'
          condition='${PLASTER_PARAM_ModuleType} -in @("dsccommunity")'
    />
    <!-- END OF BUILD SCRIPTS -->
 
    <!-- DSC RESOURCES files and folders -->
    <!-- DSCResources -->
      <file source=''
          destination='${PLASTER_PARAM_ModuleName}/${PLASTER_PARAM_SourceDirectory}/DSCResources'
          condition='${PLASTER_PARAM_ModuleType} -in @("") -or ${PLASTER_PARAM_Features} -Contains ("All") -or ${PLASTER_PARAM_Features} -Contains ("DSCResources")'
    />
 
    <!-- Examples -->
 
    <file source=''
          destination='${PLASTER_PARAM_ModuleName}/${PLASTER_PARAM_SourceDirectory}/Examples'
          condition='${PLASTER_PARAM_ModuleType} -in @("CompleteSample") -or ${PLASTER_PARAM_Features} -Contains ("All") -or ${PLASTER_PARAM_Features} -Contains ("DSCResources")'
    />
 
    <!-- Modules helpers for DSC resource -->
    <file source=''
          destination='${PLASTER_PARAM_ModuleName}/${PLASTER_PARAM_SourceDirectory}/Modules'
          condition='${PLASTER_PARAM_ModuleType} -in @("CompleteSample") -or ${PLASTER_PARAM_Features} -Contains ("All") -or ${PLASTER_PARAM_Features} -Contains ("DSCResources")'
    />
 
    <file source=''
          destination='${PLASTER_PARAM_ModuleName}/${PLASTER_PARAM_SourceDirectory}/Modules/Folder.Common'
          condition='${PLASTER_PARAM_ModuleType} -in @("") -or ${PLASTER_PARAM_Features} -Contains ("All") -or ${PLASTER_PARAM_Features} -Contains ("DSCResources")'
    />
 
    <file source='../MofResource/Modules/Folder.Common/Folder.Common.psm1'
          destination='${PLASTER_PARAM_ModuleName}/${PLASTER_PARAM_SourceDirectory}/Modules/Folder.Common/Folder.Common.psm1'
          condition='${PLASTER_PARAM_ModuleType} -in @("") -or ${PLASTER_PARAM_Features} -Contains ("All") -or (${PLASTER_PARAM_Features} -Contains ("DSCResources") -and ${PLASTER_PARAM_Features} -Contains ("SampleScripts"))'
    />
 
    <!-- DSCResource Sample Files -->
    <file source=''
          destination='${PLASTER_PARAM_ModuleName}/${PLASTER_PARAM_SourceDirectory}/DSCResources/DSC_Folder/'
          condition='${PLASTER_PARAM_ModuleType} -in @("") -or ${PLASTER_PARAM_Features} -Contains ("All") -or (${PLASTER_PARAM_Features} -Contains ("DSCResources") -and ${PLASTER_PARAM_Features} -Contains ("SampleScripts"))'
    />
 
    <file source='../MofResource/DSC_Folder/DSC_Folder.schema.mof'
          destination='${PLASTER_PARAM_ModuleName}/${PLASTER_PARAM_SourceDirectory}/DSCResources/DSC_Folder/DSC_Folder.schema.mof'
          condition='${PLASTER_PARAM_ModuleType} -in @("") -or ${PLASTER_PARAM_Features} -Contains ("All") -or (${PLASTER_PARAM_Features} -Contains ("DSCResources") -and ${PLASTER_PARAM_Features} -Contains ("SampleScripts"))'
    />
 
    <file source='../MofResource/DSC_Folder/DSC_Folder.psm1'
          destination='${PLASTER_PARAM_ModuleName}/${PLASTER_PARAM_SourceDirectory}/DSCResources/DSC_Folder/DSC_Folder.psm1'
          condition='${PLASTER_PARAM_ModuleType} -in @("") -or ${PLASTER_PARAM_Features} -Contains ("All") -or (${PLASTER_PARAM_Features} -Contains ("DSCResources") -and ${PLASTER_PARAM_Features} -Contains ("SampleScripts"))'
    />
 
    <file source=''
          destination='${PLASTER_PARAM_ModuleName}/${PLASTER_PARAM_SourceDirectory}/DSCResources/DSC_Folder/en-US'
          condition='${PLASTER_PARAM_ModuleType} -in @("") -or ${PLASTER_PARAM_Features} -Contains ("All") -or (${PLASTER_PARAM_Features} -Contains ("DSCResources") -and ${PLASTER_PARAM_Features} -Contains ("SampleScripts"))'
    />
 
    <file source='../MofResource/DSC_Folder/en-US/DSC_Folder.strings.psd1'
          destination='${PLASTER_PARAM_ModuleName}/${PLASTER_PARAM_SourceDirectory}/DSCResources/DSC_Folder/en-US/DSC_Folder.strings.psd1'
          condition='${PLASTER_PARAM_ModuleType} -in @("") -or ${PLASTER_PARAM_Features} -Contains ("All") -or (${PLASTER_PARAM_Features} -Contains ("DSCResources") -and ${PLASTER_PARAM_Features} -Contains ("SampleScripts"))'
    />
 
    <!-- DSCResource Examples Sample Files -->
    <file source=''
          destination='${PLASTER_PARAM_ModuleName}/${PLASTER_PARAM_SourceDirectory}/Examples/Resources/'
          condition='${PLASTER_PARAM_ModuleType} -in @("") -or ${PLASTER_PARAM_Features} -Contains ("All") -or (${PLASTER_PARAM_Features} -Contains ("DSCResources") -and ${PLASTER_PARAM_Features} -Contains ("SampleScripts"))'
    />
 
    <file source='../Examples/README.md'
          destination='${PLASTER_PARAM_ModuleName}/${PLASTER_PARAM_SourceDirectory}/Examples/README.md'
          condition='${PLASTER_PARAM_ModuleType} -in @("") -or ${PLASTER_PARAM_Features} -Contains ("All") -or (${PLASTER_PARAM_Features} -Contains ("DSCResources") -and ${PLASTER_PARAM_Features} -Contains ("SampleScripts"))'
    />
 
    <file source=''
          destination='${PLASTER_PARAM_ModuleName}/${PLASTER_PARAM_SourceDirectory}/Examples/Resources/Folder/'
          condition='${PLASTER_PARAM_ModuleType} -in @("") -or ${PLASTER_PARAM_Features} -Contains ("All") -or (${PLASTER_PARAM_Features} -Contains ("DSCResources") -and ${PLASTER_PARAM_Features} -Contains ("SampleScripts"))'
    />
    <file source='../Examples/Resources/Folder/1-DscResourceTemplate_CreateFolderAsSystemConfig.ps1'
          destination='${PLASTER_PARAM_ModuleName}/${PLASTER_PARAM_SourceDirectory}/Examples/Resources/Folder/1-DscResourceTemplate_CreateFolderAsSystemConfig.ps1'
          condition='${PLASTER_PARAM_ModuleType} -in @("") -or ${PLASTER_PARAM_Features} -Contains ("All") -or (${PLASTER_PARAM_Features} -Contains ("DSCResources") -and ${PLASTER_PARAM_Features} -Contains ("SampleScripts"))'
    />
    <file source='../Examples/Resources/Folder/2-DscResourceTemplate_CreateFolderAsUserConfig.ps1'
          destination='${PLASTER_PARAM_ModuleName}/${PLASTER_PARAM_SourceDirectory}/Examples/Resources/Folder/2-DscResourceTemplate_CreateFolderAsUserConfig.ps1'
          condition='${PLASTER_PARAM_ModuleType} -in @("") -or ${PLASTER_PARAM_Features} -Contains ("All") -or (${PLASTER_PARAM_Features} -Contains ("DSCResources") -and ${PLASTER_PARAM_Features} -Contains ("SampleScripts"))'
    />
    <file source='../Examples/Resources/Folder/3-DscResourceTemplate_RemoveFolderConfig.ps1'
          destination='${PLASTER_PARAM_ModuleName}/${PLASTER_PARAM_SourceDirectory}/Examples/Resources/Folder/3-DscResourceTemplate_RemoveFolderConfig.ps1'
          condition='${PLASTER_PARAM_ModuleType} -in @("") -or ${PLASTER_PARAM_Features} -Contains ("All") -or (${PLASTER_PARAM_Features} -Contains ("DSCResources") -and ${PLASTER_PARAM_Features} -Contains ("SampleScripts"))'
    />
    <!-- END OF DSCResources files and folders -->
 
    <!-- MODULE MANIFEST -->
    <newModuleManifest destination='${PLASTER_PARAM_ModuleName}/${PLASTER_PARAM_SourceDirectory}/${PLASTER_PARAM_ModuleName}.psd1'
        moduleVersion='$PLASTER_PARAM_ModuleVersion'
        author='$PLASTER_PARAM_ModuleAuthor'
        companyName='$PLASTER_PARAM_ModuleAuthor'
        description='$PLASTER_PARAM_ModuleDescription'
        rootModule='$PLASTER_PARAM_ModuleName.psm1'
        condition='-not (Test-Path "${PLASTER_PARAM_ModuleName}/${PLASTER_PARAM_SourceDirectory}/${PLASTER_PARAM_ModuleName}.psd1")'
    />
 
    <!-- Add Prerelease property if it does not exist -->
    <modify path='${PLASTER_PARAM_ModuleName}/${PLASTER_PARAM_SourceDirectory}/${PLASTER_PARAM_ModuleName}.psd1'
        condition='(Test-Path "${PLASTER_PARAM_ModuleName}/${PLASTER_PARAM_SourceDirectory}/${PLASTER_PARAM_ModuleName}.psd1")'>
            <replace condition="$PLASTER_FileContent -notmatch 'Prerelease\s*='">
                  <original><![CDATA[(?mi)^(?<psdata>(?<newline>\s*)PSData \= @\{\r\n)(?<end>.*)]]></original>
                  <substitute>${psdata}${newline} # Prerelease = ''${end}</substitute>
            </replace>
    </modify>
 
    <!-- Make sure Prerelease property is not commented -->
    <modify path='${PLASTER_PARAM_ModuleName}/${PLASTER_PARAM_SourceDirectory}/${PLASTER_PARAM_ModuleName}.psd1'
        condition='(Test-Path "${PLASTER_PARAM_ModuleName}/${PLASTER_PARAM_SourceDirectory}/${PLASTER_PARAM_ModuleName}.psd1")'>
            <replace condition="$PLASTER_FileContent -match '\#\s*Prerelease\s='">
                  <original><![CDATA[\#\s*Prerelease\s=]]></original>
                  <substitute>Prerelease = </substitute>
            </replace>
    </modify>
 
     <!-- Make sure ReleaseNotes property is not commented -->
    <modify path='${PLASTER_PARAM_ModuleName}/${PLASTER_PARAM_SourceDirectory}/${PLASTER_PARAM_ModuleName}.psd1'
        condition='(Test-Path "${PLASTER_PARAM_ModuleName}/${PLASTER_PARAM_SourceDirectory}/${PLASTER_PARAM_ModuleName}.psd1")'>
            <replace condition="$PLASTER_FileContent -match '#\s*ReleaseNotes\s*=\s*'">
                  <original><![CDATA[#\s*ReleaseNotes\s*=\s*]]></original>
                  <substitute>ReleaseNotes = </substitute>
            </replace>
    </modify>
 
    <!-- Set FunctionsToExport property to recommended value -->
    <modify path='${PLASTER_PARAM_ModuleName}/${PLASTER_PARAM_SourceDirectory}/${PLASTER_PARAM_ModuleName}.psd1'
        condition='(Test-Path "${PLASTER_PARAM_ModuleName}/${PLASTER_PARAM_SourceDirectory}/${PLASTER_PARAM_ModuleName}.psd1")'>
            <replace condition="$PLASTER_FileContent -match 'FunctionsToExport\s*=\s*''\*'''">
                  <original><![CDATA[FunctionsToExport\s*=\s*'\*']]></original>
                  <substitute>FunctionsToExport = @()</substitute>
            </replace>
    </modify>
 
    <!-- Set CmdletsToExport property to recommended value -->
    <modify path='${PLASTER_PARAM_ModuleName}/${PLASTER_PARAM_SourceDirectory}/${PLASTER_PARAM_ModuleName}.psd1'
        condition='(Test-Path "${PLASTER_PARAM_ModuleName}/${PLASTER_PARAM_SourceDirectory}/${PLASTER_PARAM_ModuleName}.psd1")'>
            <replace condition="$PLASTER_FileContent -match 'CmdletsToExport\s*=\s*''\*'''">
                  <original><![CDATA[CmdletsToExport\s*=\s*'\*']]></original>
                  <substitute>CmdletsToExport = @()</substitute>
            </replace>
    </modify>
 
    <!-- Set VariablesToExport property to recommended value -->
    <modify path='${PLASTER_PARAM_ModuleName}/${PLASTER_PARAM_SourceDirectory}/${PLASTER_PARAM_ModuleName}.psd1'
        condition='(Test-Path "${PLASTER_PARAM_ModuleName}/${PLASTER_PARAM_SourceDirectory}/${PLASTER_PARAM_ModuleName}.psd1")'>
            <replace condition="$PLASTER_FileContent -match 'VariablesToExport\s*=\s*''\*'''">
                  <original><![CDATA[VariablesToExport\s*=\s*'\*']]></original>
                  <substitute>VariablesToExport = @()</substitute>
            </replace>
    </modify>
 
    <!-- Set AliasesToExport property to recommended value -->
    <modify path='${PLASTER_PARAM_ModuleName}/${PLASTER_PARAM_SourceDirectory}/${PLASTER_PARAM_ModuleName}.psd1'
        condition='(Test-Path "${PLASTER_PARAM_ModuleName}/${PLASTER_PARAM_SourceDirectory}/${PLASTER_PARAM_ModuleName}.psd1")'>
            <replace condition="$PLASTER_FileContent -match 'AliasesToExport\s*=\s*''\*'''">
                  <original><![CDATA[AliasesToExport\s*=\s*'\*']]></original>
                  <substitute>AliasesToExport = @()</substitute>
            </replace>
    </modify>
 
    <!-- Set DscResourcesToExport property to recommended value -->
    <modify path='${PLASTER_PARAM_ModuleName}/${PLASTER_PARAM_SourceDirectory}/${PLASTER_PARAM_ModuleName}.psd1'
        condition='(Test-Path "${PLASTER_PARAM_ModuleName}/${PLASTER_PARAM_SourceDirectory}/${PLASTER_PARAM_ModuleName}.psd1")'>
            <replace condition="$PLASTER_FileContent -match '#\s*DscResourcesToExport\s*=\s*@\(\s*\)'">
                  <original><![CDATA[#\s*DscResourcesToExport\s*=\s*@\(\s*\)]]></original>
                  <substitute>DscResourcesToExport = @()</substitute>
            </replace>
    </modify>
 
    <!-- Set PowerShellVersion property to 5.0 -->
    <modify path='${PLASTER_PARAM_ModuleName}/${PLASTER_PARAM_SourceDirectory}/${PLASTER_PARAM_ModuleName}.psd1'
        condition='(Test-Path "${PLASTER_PARAM_ModuleName}/${PLASTER_PARAM_SourceDirectory}/${PLASTER_PARAM_ModuleName}.psd1")'>
            <replace condition="$PLASTER_FileContent -match '#\s*PowerShellVersion\s*=\s*'''''">
                  <original><![CDATA[#\s*PowerShellVersion\s*=\s*'']]></original>
                  <substitute>PowerShellVersion = '5.0'</substitute>
            </replace>
    </modify>
 
    <!-- Set RequiredModules property to recommended value -->
    <modify path='${PLASTER_PARAM_ModuleName}/${PLASTER_PARAM_SourceDirectory}/${PLASTER_PARAM_ModuleName}.psd1'
        condition='(Test-Path "${PLASTER_PARAM_ModuleName}/${PLASTER_PARAM_SourceDirectory}/${PLASTER_PARAM_ModuleName}.psd1")'>
            <replace condition="$PLASTER_FileContent -match '#\s*RequiredModules\s*=\s*@\(\s*\)'">
                  <original><![CDATA[#\s*RequiredModules\s*=\s*@\(\s*\)]]></original>
                  <substitute>RequiredModules = @()</substitute>
            </replace>
    </modify>
 
    <!-- Remove blank lines from end of module manifest (seems to be a bug using <modify> that generates additional blank lines at end of file) -->
    <modify path='${PLASTER_PARAM_ModuleName}/${PLASTER_PARAM_SourceDirectory}/${PLASTER_PARAM_ModuleName}.psd1'
        condition='(Test-Path "${PLASTER_PARAM_ModuleName}/${PLASTER_PARAM_SourceDirectory}/${PLASTER_PARAM_ModuleName}.psd1")'>
            <replace>
                  <original><![CDATA[}\n*$]]></original>
                  <substitute>}</substitute>
            </replace>
    </modify>
 
    <templateFile
        source='module.template'
        destination='${PLASTER_PARAM_ModuleName}/${PLASTER_PARAM_SourceDirectory}/${PLASTER_PARAM_ModuleName}.psm1'
        condition='-not (Test-Path "${PLASTER_PARAM_ModuleName}/${PLASTER_PARAM_SourceDirectory}/${PLASTER_PARAM_ModuleName}.psm1")'
    />
 
    <!-- LICENSE based on type of license MIT/Apache2/CC...-->
    <!-- MIT License -->
    <templateFile source='LICENSES/LICENSE.MIT.template'
                  destination='${PLASTER_PARAM_ModuleName}/LICENSE'
                  condition='${PLASTER_PARAM_ModuleType} -in @("dsccommunity") -or (${PLASTER_PARAM_License} -eq "true" -and ${PLASTER_PARAM_LicenseType} -eq "MIT")'
    />
 
    <!-- APACHE License -->
    <templateFile source='LICENSES/LICENSE.Apache.template'
                  destination='${PLASTER_PARAM_ModuleName}/LICENSE'
                  condition='${PLASTER_PARAM_License} -eq "true" -and ${PLASTER_PARAM_LicenseType} -eq "Apache"'
    />
 
    <!-- END OF LICENSE based on type of license MIT/Apache2/CC...-->
 
    <!-- Add Markup help files -->
    <templateFile source='README.md.template'
                  destination='${PLASTER_PARAM_ModuleName}/README.md'
    />
 
    <templateFile source='README_dsccommunity.md.template'
                  destination='${PLASTER_PARAM_ModuleName}/README.md'
                  condition='${PLASTER_PARAM_ModuleType} -in @("dsccommunity")'
    />
    <!-- ABOUT MODULE help text file -->
    <templateFile source='about_ModuleName.help.template'
                  destination='${PLASTER_PARAM_ModuleName}/${PLASTER_PARAM_SourceDirectory}/en-US/about_${PLASTER_PARAM_ModuleName}.help.txt'
                  condition='-not (Test-Path "${PLASTER_PARAM_ModuleName}/${PLASTER_PARAM_SourceDirectory}/en-US/about_${PLASTER_PARAM_ModuleName}.help.txt")'
    />
 
   <!-- CONTRIBUTING MD -->
   <file source='CONTRIBUTING.md'
          destination='${PLASTER_PARAM_ModuleName}/CONTRIBUTING.md'
          condition='${PLASTER_PARAM_ModuleType} -in @("dsccommunity","CompleteSample") -or ${PLASTER_PARAM_Features} -Contains ("All")'
    />
 
   <!-- CODE OF CONDUCT MD -->
   <file source='CODE_OF_CONDUCT.md'
          destination='${PLASTER_PARAM_ModuleName}/CODE_OF_CONDUCT.md'
          condition='${PLASTER_PARAM_ModuleType} -in @("dsccommunity","CompleteSample") -or ${PLASTER_PARAM_Features} -Contains ("All") -or ${PLASTER_PARAM_Features} -Contains ("git")'
    />
 
   <!-- SECURITY MD DSC COMMUNITY -->
   <file source='../Build/SECURITY.dsccommunity.md'
          destination='${PLASTER_PARAM_ModuleName}/SECURITY.md'
          condition='${PLASTER_PARAM_ModuleType} -in @("dsccommunity")'
    />
 
   <!-- SECURITY MD GENERIC -->
   <file source='../Build/SECURITY.generic.md'
          destination='${PLASTER_PARAM_ModuleName}/SECURITY.md'
          condition='${PLASTER_PARAM_ModuleType} -in @("CompleteSample") -or ${PLASTER_PARAM_Features} -Contains ("All") -or ${PLASTER_PARAM_Features} -Contains ("git") -or ${PLASTER_PARAM_Features} -Contains ("github")'
    />
 
   <!-- CHANGELOG MD -->
   <templateFile source='CHANGELOG.md.template'
          destination='${PLASTER_PARAM_ModuleName}/CHANGELOG.md'
          condition='${PLASTER_PARAM_ModuleType} -in @("dsccommunity","CompleteSample","SimpleModule") -or ${PLASTER_PARAM_Features} -Contains ("All") -or ${PLASTER_PARAM_Features} -Contains ("git")'
   />
 
   <!-- GITVERSION CONFIG YAML -->
   <templateFile source='../Git/GitVersion.yml.template'
          destination='${PLASTER_PARAM_ModuleName}/GitVersion.yml'
          condition='(${PLASTER_PARAM_UseGitVersion} -eq $true -or ${PLASTER_PARAM_ModuleType} -in @("dsccommunity","CompleteSample")) -or ${PLASTER_PARAM_Features} -Contains ("All") -or ${PLASTER_PARAM_Features} -Contains ("gitversion")'
    />
 
   <!-- MARKDOWN LINT -->
   <file source='markdownlint.json'
          destination='${PLASTER_PARAM_ModuleName}/.markdownlint.json'
          condition='${PLASTER_PARAM_ModuleType} -in @("dsccommunity","CompleteSample") -or ${PLASTER_PARAM_Features} -Contains ("All") -or ${PLASTER_PARAM_Features} -Contains ("vscode")'
    />
 
   <!-- VSCODE SETTINGS -->
   <file source='../VscodeConfig/settings.json'
          destination='${PLASTER_PARAM_ModuleName}/.vscode/settings.json'
          condition='${PLASTER_PARAM_ModuleType} -in @("dsccommunity","CompleteSample") -or ${PLASTER_PARAM_Features} -Contains ("All") -or ${PLASTER_PARAM_Features} -Contains ("vscode")'
    />
 
    <!-- PSScriptAnalyzer VSCODE CONFIG -->
    <file source='../VscodeConfig/analyzersettings.psd1'
          destination='${PLASTER_PARAM_ModuleName}/.vscode/analyzersettings.psd1'
          condition='${PLASTER_PARAM_ModuleType} -in @("dsccommunity","CompleteSample") -or ${PLASTER_PARAM_Features} -Contains ("All") -or ${PLASTER_PARAM_Features} -Contains ("vscode")'
    />
 
    <!-- VSCODE SETTINGS -->
    <file source='../VscodeConfig/extensions.json'
          destination='${PLASTER_PARAM_ModuleName}/.vscode/extensions.json'
          condition='${PLASTER_PARAM_ModuleType} -in @("dsccommunity","CompleteSample") -or ${PLASTER_PARAM_Features} -Contains ("All") -or ${PLASTER_PARAM_Features} -Contains ("vscode")'
    />
 
    <!-- VSCODE SETTINGS -->
    <file source='../VscodeConfig/tasks.json'
          destination='${PLASTER_PARAM_ModuleName}/.vscode/tasks.json'
          condition='${PLASTER_PARAM_UseVSCode} -eq $true -or ${PLASTER_PARAM_ModuleType} -in @("dsccommunity","CompleteSample") -or ${PLASTER_PARAM_Features} -Contains ("All") -or ${PLASTER_PARAM_Features} -Contains ("vscode")'
    />
 
   <!-- GITHUB TEMPLATES -->
   <file source=''
          destination='${PLASTER_PARAM_ModuleName}/.github'
          condition='${PLASTER_PARAM_ModuleType} -in @("dsccommunity","CompleteSample") -or ${PLASTER_PARAM_Features} -Contains ("All") -or ${PLASTER_PARAM_Features} -Contains ("github")'
    />
 
    <file source='../GithubConfig/PULL_REQUEST_TEMPLATE.md'
          destination='${PLASTER_PARAM_ModuleName}/.github/PULL_REQUEST_TEMPLATE.md'
          condition='${PLASTER_PARAM_ModuleType} -in @("CompleteSample") -or ${PLASTER_PARAM_Features} -Contains ("All") -or ${PLASTER_PARAM_Features} -Contains ("github")'
    />
 
    <file source='../GithubConfig/PULL_REQUEST_TEMPLATE_dsccommunity.md'
          destination='${PLASTER_PARAM_ModuleName}/.github/PULL_REQUEST_TEMPLATE.md'
          condition='${PLASTER_PARAM_ModuleType} -in @("dsccommunity")'
    />
 
    <file source=''
          destination='${PLASTER_PARAM_ModuleName}/.github/ISSUE_TEMPLATE'
          condition='${PLASTER_PARAM_ModuleType} -in @("dsccommunity","CompleteSample") -or ${PLASTER_PARAM_Features} -Contains ("All") -or ${PLASTER_PARAM_Features} -Contains ("github")'
    />
 
    <templateFile source='../GithubConfig/ISSUE_TEMPLATE/config.yml.template'
          destination='${PLASTER_PARAM_ModuleName}/.github/ISSUE_TEMPLATE/config.yml'
          condition='${PLASTER_PARAM_ModuleType} -in @("dsccommunity","CompleteSample") -or ${PLASTER_PARAM_Features} -Contains ("All") -or ${PLASTER_PARAM_Features} -Contains ("github")'
    />
 
    <file source='../GithubConfig/ISSUE_TEMPLATE/General.md'
          destination='${PLASTER_PARAM_ModuleName}/.github/ISSUE_TEMPLATE/General.md'
          condition='${PLASTER_PARAM_ModuleType} -in @("dsccommunity","CompleteSample") -or ${PLASTER_PARAM_Features} -Contains ("All") -or ${PLASTER_PARAM_Features} -Contains ("github")'
    />
 
    <templateFile source='../GithubConfig/ISSUE_TEMPLATE/Problem_with_module.yml.template'
          destination='${PLASTER_PARAM_ModuleName}/.github/ISSUE_TEMPLATE/Problem_with_module.yml'
          condition='${PLASTER_PARAM_ModuleType} -in @("CompleteSample") -or ${PLASTER_PARAM_Features} -Contains ("All") -or ${PLASTER_PARAM_Features} -Contains ("github")'
    />
 
    <templateFile source='../GithubConfig/ISSUE_TEMPLATE/Problem_with_resource.yml.template'
          destination='${PLASTER_PARAM_ModuleName}/.github/ISSUE_TEMPLATE/Problem_with_resource.yml'
          condition='${PLASTER_PARAM_ModuleType} -in @("dsccommunity","CompleteSample") -or ${PLASTER_PARAM_Features} -Contains ("All") -or ${PLASTER_PARAM_Features} -Contains ("github")'
    />
 
    <file source='../GithubConfig/ISSUE_TEMPLATE/Resource_proposal.yml'
          destination='${PLASTER_PARAM_ModuleName}/.github/ISSUE_TEMPLATE/Resource_proposal.yml'
          condition='${PLASTER_PARAM_ModuleType} -in @("dsccommunity","CompleteSample") -or ${PLASTER_PARAM_Features} -Contains ("All") -or ${PLASTER_PARAM_Features} -Contains ("github")'
    />
 
   <!-- Codecov.io -->
    <templateFile source='codecov.yml.template'
          destination='${PLASTER_PARAM_ModuleName}/codecov.yml'
          condition='(${PLASTER_PARAM_UseCodeCovIo} -eq $true -or ${PLASTER_PARAM_ModuleType} -in @("dsccommunity", "CompleteSample")) -or ${PLASTER_PARAM_Features} -Contains ("All") -or ${PLASTER_PARAM_Features} -Contains ("codecov")'
    />
  </content>
</plasterManifest>