The format is based on and uses the types of changes according to Keep a Changelog, and this project adheres to Semantic Versioning.
- Added private functions:
Get-ClassAst
- Returns the AST for a single or all classes.Get-ClassResourceAst
- Returns the AST for a single or all DSC class resources.Get-ClassResourceProperty
- Returns DSC class resource properties from the provided class or classes.Format-Text
- Format a string according to predefined options.Get-TemporaryPath
- returns the appropriate temp path for the OS.Get-ConfigurationAst
- Returns the AST for a single or all configurations.Get-CompositeSchemaObject
- Returns an object containing the parameters and other properties related to a composite resource. The object that is returned is different format to a MOF or class-based object and the property names are aligned to a configuration parameter block rather than MOF.Get-CompositeResourceParameterState
- Determines the parameter state of a composite resource parameter. This is a meta attribute that will either beRequired
orWrite
.Get-CompositeResourceParameterValidateSet
- Returns the array of values contained in the ValidateSet parameter attributes if it exists.
- Added QA test to do some quality checks on the module code and change log.
New-DscResourceWikiPage
- If a class-based resource has a parent class that contains DSC resource properties they will now also be returned as part of the DSC resource parameters (issue #62).
- Refactored to split into two private functions
New-DscMofResourceWikiPage
andNew-DscClassResourceWikiPage
.
Get-MofSchemaObject
- Refactored to reduce code duplication when adding functions for supporting composite resources.
Get-ClassResourceCommentBasedHelp
- Renamed this function to
Get-CommentBasedHelp
so that it made sense to use with composite DSC resources. - Enabled the function to extract the comment block if it is not at the top of the script file to support composite resources.
- Renamed this function to
- Updated code to pass newly added quality checks.
Invoke-Git
- Converted to public function.
- Updated to use
System.Diagnostics.Process
for improved error handling. - Returns object, allowing caller to process result.
git
commands no longer use--quiet
to populate returned object.
Publish_GitHub_Wiki_Content
- Output message if
$GitHubToken
not specified which skips this task. Fixes Issue 75
- Output message if
Invoke-Git
- Set
$TimeOut
to Milliseconds Fixes Issue 84
- Set
- DscResource.DocGenerator
- Adding uploading coverage to Codecov.io.
- DscResource.DocGenerator
- Fixed formatting in the code through out.
- Minor change in code comment.
- Fixed the Tasks to support BuiltModuleDirectory and use new Sampler functions.
- Updated tasks to use the Sampler functions
Get-SamplerProjectName
andGet-SamplerSourcePath
. - Made Sampler a required Modules.
- Updated the
build.yaml
&RequiredModules.psd1
to useSampler.GitHubTasks
for automation.
- Added a new private function
Get-ClassResourceCommentBasedHelp
to get comment-based help from a PowerShell script file. - Added a new private function
Get-ClassResourcePropertyState
to get named attribute argument (from the attribute[DscProperty()]
) for a class-based resource parameter and return the corresponding name used by MOF-based resources. - Added a new private function
Get-ResourceExampleAsMarkdown
that helps to return examples as markdown, and to reduce code duplication. - Added a test helper module
DscResource.DocGenerator.TestHelper.psm1
that contain helper functions for tests.- Added helper function
Out-Diff
that outputs two text strings in hex side-by-side (thanks to @johanringman for help with this one).
- Added helper function
Split-ModuleVersion
- This cmdlet is now exported as a public function because it is required
by the build task
Generate_Wiki_Content
.
- This cmdlet is now exported as a public function because it is required
by the build task
Generate_Wiki_Content
- The Build task
Generate_Wiki_Content
was changed to call the cmdletNew-DscResourceWikiPage
with the correct parameters to support generating documentation for class-based resource (issue #52).
- The Build task
New-DscResourceWikiPage
- Now supports generating wiki documentation for class-based resources (issue #52).
- BREAKING CHANGE: To support class-based resource the parameters were renamed to better recognize what path goes where.
- Each values that are in a
ValueMap
of a MOF schema parameter, or in aValidateSet()
of a class-based resource parameter, will be outputted as markdown inline code.
Get-ResourceExampleAsText
- Comment-based help was updated to reflect the correct parameters.
New-DscResourcePowerShellHelp
- Fixed unit tests to support new private function
Get-ClassResourceCommentBasedHelp
and use the test helper moduleDscResource.DocGenerator.TestHelper.psm1
. - It no longer uses
Recurse
when looking for the module's PowerShell script files. It could potentially lead to that it found resources that are part of common modules in theModules
folder. - Made use of private functions to reduce duplicate code.
- Fixed unit tests to support new private function
Get-DscResourceSchemaPropertyContent
- Fixed the private function so that the description property no longer output an extra whitespace in some circumstances.
- Conceptual help for MOF-based resource works again (broken in v0.7.3) (issue #55).
- Support conceptual help for class-based resources (issue #51).
- Renamed default branch to
main
(issue #49).
- New-WikiFooter
- Fixed
Encoding
, parameter value passed toOut-File
to useascii
rather than[System.Text.Encoding]::ASCII
(issue #45).
- Fixed
- New-WikiSidebar
- Fixed
Encoding
, parameter value passed toOut-File
to useascii
rather than[System.Text.Encoding]::ASCII
(issue #45).
- Fixed
- Set-WikiModuleVersion
- Fixed
Encoding
, parameter value passed toOut-File
to useascii
rather than[System.Text.Encoding]::ASCII
(issue #45).
- Fixed
- Fix the tests for the tasks that recently started failing. The tests
tried to dot-source the task scripts but that is not possible because
they need to be run within the scope of
Invoke-Build
. Instead a new test was added to make sure the task alias is pointing to an existing task script.
- New-DscResourcePowerShellHelp
- Fixed so the cmdlet is case-insensitive when it looks for the README.md file in a resource source folder (issue #42).
- The build task
Generate_Conceptual_Help
can now remove markdown code from the schema MOF parameter descriptions if markdown code is used to improve the Wiki documentation.
- Update README.md with the correct build task name; 'Publish_GitHub_Wiki_Content'.
- Fixed wiki generation to correctly describe embedded instances in parameters and made new section for each embedded instances with their parameters (issue #37).
- The regular expression for
minor-version-bump-message
in the fileGitVersion.yml
was changed to only raise minor version when the commit message contain the wordadd
,adds
,minor
,feature
, orfeatures
.
- Added cmdlet
Publish-WikiContent
that publishes the Wiki content generated by the cmdletNew-DscResourceWikiPage
. - Added build task
Publish_GitHub_Wiki_Content
that can publish content to a GitHub Wiki repository. This task runs the cmdletPublish-WikiContent
. - Added a markdown page
Home.md
to the foldersource/WikiSource
that will be published to the GitHub Wiki for each PR that is merged. The module version number will be updated prior to pushing to the Wiki. This is done by the the build taskPublish_GitHub_Wiki_Content
.
- The parameter
WikiSourcePath
was removed from the functionCopy-WikiFolder
. - The parameter
WikiSourcePath
was removed from the functionPublish-WikiContent
. - The parameter
WikiSourceFolderName
was removed from the build taskPublish_GitHub_Wiki_Content
. - The function
Publish-WikiContent
will no longer call the functionSet-WikiModuleVersion
(it is now done by the taskGenerate_Wiki_Content
).
- Update the documentation style in the README.md.
- The repository is using the latest version of the module ModuleBuilder.
- The repository was pinned to use version 4.10.1 of the module Pester since this repository does not support Pester 5 tests yet.
- Updated
build.ps1
to be able to dogfood build tasks. - Moved the Wiki source logic from
Publish-WikiContent
to the build taskGenerate_Wiki_Content
to align with the other tasks that creates a build artifact that should be deployed.Publish-WikiContent
no longer changes the build artifact during publishing. The build taskGenerate_Wiki_Content
now first generates documentation for any existing DSC resources. Secondly if the Wiki source folder (defaults toWikiSource
) exists in the source folder then the content of that folder will be copied to the Wiki output folder (defaults tooutput/WikiOutput
). If there is a markdown file calledHome.md
then any module version placeholders (#.#.#
) will be replaced by the built module version. - The
Set-WikiModuleVersion
was made a public function to be able to use it in the build taskGenerate_Wiki_Content
.
- Fixed issue with
New-DscResourceWikiPage
where Test-Path was case sensitive on Linux machines and therefore didn't find some Readme.md files. - Minor style and documentation updates to the build tasks
Generate_Wiki_Content
andGenerate_Conceptual_Help
. - Fixed example in comment-based help form cmdlet
New-DscResourceWikiPage
. - Fixed a problem in the build task
Publish_GitHub_Wiki_Content
that made the Wiki output path to not shown correctly.
- Added helper function
Split-ModuleVersion
that is required by the helper functionGet-BuiltModuleVersion
.
- Replaced the helper function
Get-ModuleVersion
with the helper functionGet-BuiltModuleVersion
.
- Fix missing documentation in the README.md for the cmdlet
New-DscResourceWikiPage
and the build taskGenerate_Wiki_Content
(issue #20). - The function
Get-MofSchemaObject
did not correctly create the temporary schema file depending on the formatting of the schema.
- Added build tasks
Generate_Wiki_Content
(that runs the cmdletNew-DscResourceWikiPage
). The build task is primarily meant to be run by the project Sampler'sbuild.ps1
. To make the task available forInvoke-Build
in a repository that is based on Sampler add this module to required modules, and then in thebuild.yaml
add the following.ModuleBuildTasks: DscResource.DocGenerator: - 'Task.*'
- Fixes the build task
Generate_Conceptual_Help
to use the correct module version folder name for the built module path (issue #17). - Fixes the build task
Generate_Conceptual_Help
to correctly evaluate the module version (issue #21).
- Added build tasks
Generate_Conceptual_Help
(that runs the cmdletNew-DscResourcePowerShellHelp
). The build task is primarily meant to be run by the project Sampler'sbuild.ps1
. To make the task available forInvoke-Build
in a repository that is based on Sampler add this module to required modules, and then in thebuild.yaml
add the following.ModuleBuildTasks: DscResource.DocGenerator: - 'Task.*'
- Fix the description in the README.md.
- New-DscResourcePowerShellHelp
- Add new parameter
DestinationModulePath
to be able to set the path to a built module (for example) (issue #9).
- Add new parameter
- New-DscResourcePowerShellHelp
- Fixed comment-based help for the parameter
OutputPath
(issue #8).
- Fixed comment-based help for the parameter
- Add cmdlet
New-DscResourcePowerShellHelp
to generate conceptual help for DSC resources. This was moved from repo PowerShell/DscResource.Tests.
- Fixed unit tests to work cross platform.
- Fix status badges in README.md.
- Fix the description in the README.md.