diff --git a/CHANGELOG.md b/CHANGELOG.md index 9ba0457..613a940 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,10 @@ All notable changes to this project will be documented in this file. +## [1.3.0] - 2025-09-23 + +- Added support for `ps1xml1` format data. Place it in resources folder with `Name.format.ps1xml` to be automatically added as format file and imported in module manifest + ## [1.2.0] - 2025-09-17 ### Added diff --git a/project.json b/project.json index a31658c..c400f70 100644 --- a/project.json +++ b/project.json @@ -1,7 +1,7 @@ { "ProjectName": "ModuleTools", "Description": "ModuleTools is a versatile, standalone PowerShell module builder. Create anything from simple to robust modules with ease. Built for CICD and Automation.", - "Version": "1.2.1", + "Version": "1.3.0", "copyResourcesToModuleRoot": false, "Manifest": { "Author": "Manjunath Beli", diff --git a/src/private/Build-Module.ps1 b/src/private/Build-Module.ps1 index ba8b304..52af5ab 100644 --- a/src/private/Build-Module.ps1 +++ b/src/private/Build-Module.ps1 @@ -1,6 +1,8 @@ function Build-Module { - Write-Verbose 'Buidling module psm1 file' $data = Get-MTProjectInfo + $MTBuildVersion = (Get-Command Invoke-MTBuild).Version + Write-Verbose "Running ModuleTols Version: $MTBuildVersion" + Write-Verbose 'Buidling module psm1 file' Test-ProjectSchema -Schema Build | Out-Null $sb = [System.Text.StringBuilder]::new() diff --git a/src/private/Build.Manifest.ps1 b/src/private/Build.Manifest.ps1 index 956be1b..c127374 100644 --- a/src/private/Build.Manifest.ps1 +++ b/src/private/Build.Manifest.ps1 @@ -12,6 +12,16 @@ function Build-Manifest { $aliasToExport += Get-AliasInFunctionFromFile -filePath $_ } + ## Import Formatting (if any) + $FormatsToProcess = @() + Get-ChildItem -Path $data.ResourcesDir -File -Filter '*.ps1xml' -ErrorAction SilentlyContinue | ForEach-Object { + if ($data.copyResourcesToModuleRoot) { + $FormatsToProcess += $_.Name + } else { + $FormatsToProcess += Join-Path -Path 'resources' -ChildPath $_.Name + } + } + $ManfiestAllowedParams = (Get-Command New-ModuleManifest).Parameters.Keys $sv = [semver]$data.Version $ParmsManifest = @{ @@ -21,8 +31,10 @@ function Build-Manifest { AliasesToExport = $aliasToExport RootModule = "$($data.ProjectName).psm1" ModuleVersion = [version]$sv + FormatsToProcess = $FormatsToProcess } - + + ## Release lable if ($sv.PreReleaseLabel) { $ParmsManifest['Prerelease'] = $sv.PreReleaseLabel } diff --git a/src/public/GetMTProjectInfo.ps1 b/src/public/GetMTProjectInfo.ps1 index e41247a..23c9f88 100644 --- a/src/public/GetMTProjectInfo.ps1 +++ b/src/public/GetMTProjectInfo.ps1 @@ -42,5 +42,6 @@ function Get-MTProjectInfo { $Out['ModuleFilePSM1'] = [System.IO.Path]::Join($Out.OutputModuleDir, "$ProjectName.psm1") $Out['ManifestFilePSD1'] = [System.IO.Path]::Join($Out.OutputModuleDir, "$ProjectName.psd1") - return $Out + $Output = [pscustomobject]$Out | Add-Member -TypeName MTProjectInfo -PassThru + return $Output } \ No newline at end of file