@@ -95,49 +95,50 @@ During the module manifest build process the following steps are performed:
95951 . ` ExternalModuleDependencies ` is not automated. If specified in the source manifest, that value is used.
96961 . ` HelpInfoURI ` is not automated. If specified in the source manifest, that value is used.
97971 . Create a new manifest file in the output folder with the gathered information, which also generates a new ` GUID ` for the module.
98- 1 . Format the manifest file using the ` Set-ModuleManifest ` function from the [ Utilities] ( https://github.com/PSModule/Utilities ) module.
9998
100- Linking the description to the module manifest file might show more how this works:
99+ ### Sources for properties in the manifest file
100+
101+ Below is a list of properties in the module manifest file and their sources:
101102
102103``` powershell
103104@{
104- RootModule = 'Utilities.psm1' # Generated from the module name, <moduleName>.psm1
105- ModuleVersion = '0.0.1' # Set during release using Publish- PSModule.
106- CompatiblePSEditions = @() # Get from source files, requires -PSEdition <PSEdition-Name>, null if not provided .
107- GUID = '<GUID>' # Generated when saving the manifest using New-ModuleManifest .
108- Author = 'PSModule' # Derived from the GitHub Owner, unless specified in the source manifest.
109- CompanyName = 'PSModule' # Derived from the GitHub Owner, unless specified in the source manifest.
110- Copyright = '(c) 2024 PSModule. All rights reserved.'
105+ RootModule = 'Utilities.psm1' # Generated as <ModuleName>.psm1 from the module name; can be overridden in the source manifest.
106+ ModuleVersion = '0.0.1' # Temporary version set during the build; updated by Publish‑ PSModule during the release process .
107+ CompatiblePSEditions = @() # Determined from #Requires -PSEdition statements in source files.; defaults to @('Core','Desktop') if none found .
108+ GUID = '<GUID>' # New GUID generated by New‑ModuleManifest when the manifest is created .
109+ Author = 'PSModule' # Derived from the GitHub owner unless specified in the source manifest.
110+ CompanyName = 'PSModule' # Derived from the GitHub owner unless specified in the source manifest.
111+ Copyright = '(c) 2024 PSModule. All rights reserved.' # Default template; overridden if specified in the source manifest.
111112 Description = 'This is a module.' # Taken from the repository description or the source manifest.
112- PowerShellVersion = '' # Derived from source files, requires -Version <N>[.<n>], null if not provided .
113- PowerShellHostName = '' # Taken from the manifest file, null if not provided.
114- PowerShellHostVersion = '' # Taken from the manifest file, null if not provided.
115- DotNetFrameworkVersion = '' # Taken from the manifest file, null if not provided.
116- ClrVersion = '' # Taken from the manifest file, null if not provided.
117- ProcessorArchitecture = '' # Taken from the manifest file, null if not provided.
118- RequiredModules = @() # Derived from source files, ensuring required modules are installed .
119- RequiredAssemblies = @() # Collected from assemblies\ *.dll and modules\ *.dll.
120- ScriptsToProcess = @() # Collected from scripts\ *.ps1 and classes\*.ps1 ordered by name .
121- TypesToProcess = @() # Collected from *.Types.ps1xml files in the source folder.
122- FormatsToProcess = @() # Collected from *.Format.ps1xml files in the source folder.
123- NestedModules = @() # Collected from modules\* .psm1, modules\* .ps1, and modules\* .dll.
124- FunctionsToExport = @() # Collected from public\ *.ps1 files.
125- CmdletsToExport = @() # Taken from the manifest file, or empty if not provided .
126- VariablesToExport = @() # Collected from variables\ public\ *.ps1.
127- AliasesToExport = '*' # Derived from functions\ public\ *.ps1.
128- DscResourcesToExport = @() # Collected from resources\ *.psm1.
129- ModuleList = @() # A listing of all .\ *.psm1 files (informational only) .
130- FileList = @() # A listing of all .\* files (informational only) .
113+ PowerShellVersion = '' # Derived from #Requires -Version statements in source files; blank if none .
114+ PowerShellHostName = '' # Preserved from the source manifest if provided; otherwise omitted .
115+ PowerShellHostVersion = '' # Preserved from the source manifest if provided; otherwise omitted .
116+ DotNetFrameworkVersion = '' # Preserved from the source manifest if provided; otherwise omitted .
117+ ClrVersion = '' # Preserved from the source manifest if provided; otherwise omitted .
118+ ProcessorArchitecture = '' # Preserved from the source manifest if provided; otherwise omitted .
119+ RequiredModules = @() # Gathered from #Requires -Modules statements in source files .
120+ RequiredAssemblies = @() # Collected from assemblies/ *.dll and modules/ *.dll (depth = 1) .
121+ ScriptsToProcess = @() # Collected from scripts/ *.ps1, loaded alphabetically into the caller session .
122+ TypesToProcess = @() # Collected from *.Types.ps1xml files anywhere in the source folder.
123+ FormatsToProcess = @() # Collected from *.Format.ps1xml files anywhere in the source folder.
124+ NestedModules = @() # Collected from modules/* ( .psm1, .ps1 or .dll one level down) .
125+ FunctionsToExport = @() # Collected from functions/ public/ *.ps1 files.
126+ CmdletsToExport = @() # Preserved from the source manifest if provided; empty otherwise .
127+ VariablesToExport = @() # Collected from variables/ public/ *.ps1 files .
128+ AliasesToExport = '*' # Generated from functions/ public/ *.ps1.
129+ DscResourcesToExport = @() # Collected from resources/ *.psm1 files .
130+ ModuleList = @() # Informational list of all additional *.psm1 files in the module .
131+ FileList = @() # Informational list of all files in the module source folder .
131132 PrivateData = @{
132133 PSData = @{
133- Tags = @() # Derived from repository topics and compatibility tags.
134- LicenseUri = '' # Generated public link to .\ LICENSE.
135- ProjectUri = '' # Generated public link to the GitHub Repository .
136- IconUri = '' # Derived from .\ icon\icon.png.
137- ReleaseNotes = '' # To be updated during release.
138- Prerelease = '' # Normalized version of the branch name, updated during release.
139- RequireLicenseAcceptance = $false
140- ExternalModuleDependencies = @()
134+ Tags = @() # Generated from repository topics plus compatibility tags.
135+ LicenseUri = '' # Public link to LICENSE file (or value from source manifest) .
136+ ProjectUri = '' # Public link to the GitHub repository (or value from source manifest) .
137+ IconUri = '' # Public link to icon\icon.png (or value from source manifest) .
138+ ReleaseNotes = '' # Not automated; supply via PR or release description .
139+ Prerelease = '' # Managed by Publish‑PSModule; populated during release.
140+ RequireLicenseAcceptance = $false # Defaults to $false unless specified in the source manifest.
141+ ExternalModuleDependencies = @() # Not automated; preserved if present in the source manifest.
141142 ExperimentalFeatures = @(
142143 @{
143144 Name = "SomeExperimentalFeature"
@@ -147,8 +148,8 @@ Linking the description to the module manifest file might show more how this wor
147148 }
148149 OtherKeys = @{}
149150 }
150- HelpInfoURI = '' # Taken from the source manifest if provided .
151- DefaultCommandPrefix = '' # Taken from the source manifest if provided .
151+ HelpInfoURI = '' # Not automated; preserved if provided in the source manifest.
152+ DefaultCommandPrefix = '' # Not automated; preserved if provided in the source manifest.
152153}
153154```
154155
0 commit comments