-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathPlasterManifest.xml
More file actions
84 lines (76 loc) · 6.09 KB
/
PlasterManifest.xml
File metadata and controls
84 lines (76 loc) · 6.09 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
<?xml version="1.0" encoding="utf-8"?>
<plasterManifest schemaVersion="1.1" templateType="Project"
xmlns="http://www.microsoft.com/schemas/PowerShell/Plaster/v1">
<metadata>
<name>StructuredPowerShellModulePlasterTemplate</name>
<id>67276fda-08b8-4474-8204-63643243d29a</id>
<version>0.0.1</version>
<title>Structured PowerShell Module Plaster Template</title>
<description></description>
<author>Jon Bullen</author>
<tags></tags>
</metadata>
<parameters>
<parameter name="ModuleName" type="text" prompt="Name of your module" />
<parameter name="ModuleDesc" type="text" prompt="Brief description on this module" />
<parameter name="ModuleVersion" type="text" prompt="Version number" default='0.0.0.1' />
<parameter name="ModuleAuthor" type="user-fullname" prompt="Author"/>
<parameter name="ModuleEmail" type="user-email" prompt="Email"/>
<parameter name="FunctionFolders" type="multichoice" prompt="Please select folders to include" default='0,1,2'>
<choice label="&Public" help="Adds a public folder to module root" value="Public" />
<choice label="P&rivate" help="Adds a private folder to module root" value="Private" />
<choice label="&Classes" help="Adds a classes folder to module root" value="Classes" />
<choice label="&lib" help="Adds a lib folder to module root" value="lib" />
<choice label="&bin" help="Adds a bin folder to module root" value="bin" />
<choice label="&Data" help="Adds a data folder to module root" value="Data" />
</parameter>
<parameter name="Pester" type="choice" prompt="Include Pester Tests?" default='0'>
<choice label="&Yes" help="Adds a pester folder" value="Yes" />
<choice label="&No" help="Does not add a pester folder" value="No" />
</parameter>
<parameter name="Appveyor" type="choice" prompt="Include Appveyor Files?" default='0'>
<choice label="&Yes" help="Adds a Appveyor Files" value="Yes" />
<choice label="&No" help="Does not add a Appveyor Files" value="No" />
</parameter>
<parameter name="Format" type="choice" prompt="Make a Format file?" default='0'>
<choice label="&Yes" help="Adds a Format file" value="Yes" />
<choice label="&No" help="Does not add a Format file" value="No" />
</parameter>
<parameter name="Help" type="choice" prompt="Make a Help file?" default='0'>
<choice label="&Yes" help="Adds a Help file" value="Yes" />
<choice label="&No" help="Does not add a Help file" value="No" />
</parameter>
<parameter name='Editor' type='choice' prompt='Select an editor for editor integration (or None):' default='1' store='text' >
<choice label='&None' help="No editor specified." value="None"/>
<choice label='Visual Studio &Code' help="Your editor is Visual Studio Code." value="VSCode"/>
</parameter>
</parameters>
<content>
<message> Scaffolding your PowerShell Module... </message>
<newModuleManifest destination='${PLASTER_PARAM_ModuleName}\${PLASTER_PARAM_ModuleName}.psd1' moduleVersion='$PLASTER_PARAM_ModuleVersion' rootModule='${PLASTER_PARAM_ModuleName}.psm1' author='$PLASTER_PARAM_ModuleAuthor' description='$PLASTER_PARAM_ModuleDesc'/>
<file source='template.psm1' destination='${PLASTER_PARAM_ModuleName}\${PLASTER_PARAM_ModuleName}.psm1'/>
<message> Creating you folders for module: $PLASTER_PARAM_ModuleName </message>
<file condition='$PLASTER_PARAM_FunctionFolders -contains "Public"' destination='${PLASTER_PARAM_ModuleName}\Public\' source='' />
<file condition='$PLASTER_PARAM_FunctionFolders -contains "Private"' destination='${PLASTER_PARAM_ModuleName}\Private\' source='' />
<file condition='$PLASTER_PARAM_FunctionFolders -contains "Classes"' destination='${PLASTER_PARAM_ModuleName}\Classes\' source='' />
<file condition='$PLASTER_PARAM_FunctionFolders -contains "lib"' destination='${PLASTER_PARAM_ModuleName}\lib\' source='' />
<file condition='$PLASTER_PARAM_FunctionFolders -contains "bin"' destination='${PLASTER_PARAM_ModuleName}\bin\' source='' />
<file condition='$PLASTER_PARAM_FunctionFolders -contains "Data"' destination='${PLASTER_PARAM_ModuleName}\Data\' source='' />
<message condition='$PLASTER_PARAM_Pester -eq "Yes"'>Creating a Tests folder </message>
<file condition='$PLASTER_PARAM_Pester -eq "Yes"' destination='Tests\' source='' />
<templateFile condition='$PLASTER_PARAM_Pester -eq "Yes"' destination='Tests\${PLASTER_PARAM_ModuleName}-basic.tests.ps1' source='basicTest.ps1' />
<templateFile condition='$PLASTER_PARAM_Pester -eq "Yes"' source='Module.T.ps1' destination='Tests\${PLASTER_PARAM_ModuleName}.tests.ps1' />
<message condition='$PLASTER_PARAM_Appveyor -eq "Yes"'>Create appveyor files</message>
<templateFile condition='$PLASTER_PARAM_Appveyor -eq "Yes"' source='appveyor.yml' destination='appveyor.yml' />
<file condition='$PLASTER_PARAM_Appveyor -eq "Yes"' source='appveyor.pester.ps1' destination='appveyor.pester.ps1' />
<message condition='$PLASTER_PARAM_Format -eq "Yes"'>Creating a Format file</message>
<file condition='$PLASTER_PARAM_Format -eq "Yes"' source='format.ps1xml' destination='${PLASTER_PARAM_ModuleName}\${PLASTER_PARAM_ModuleName}.format.ps1xml' />
<message condition='$PLASTER_PARAM_Help -eq "Yes"'>Creating a Help file</message>
<file condition='$PLASTER_PARAM_Help -eq "Yes"' destination='${PLASTER_PARAM_ModuleName}\en-US\' source='' />
<templateFile condition='$PLASTER_PARAM_Help -eq "Yes"' source='about_.help.txt' destination='${PLASTER_PARAM_ModuleName}\en-US\about_${PLASTER_PARAM_ModuleName}.help.txt' />
<message condition="$PLASTER_PARAM_Editor -eq 'VSCode'">Creating a VSCode folder </message>
<file condition="$PLASTER_PARAM_Editor -eq 'VSCode'" source='editor\VSCode\settings.json' destination='.vscode\settings.json' />
<file condition="$PLASTER_PARAM_Editor -eq 'VSCode'" source='editor\VSCode\tasks.json' destination='.vscode\tasks.json' />
<templateFile source='build.ps1' destination='build.ps1' />
</content>
</plasterManifest>