diff --git a/.gitattributes b/.gitattributes index ef41ffcb..96c2e0d3 100644 --- a/.gitattributes +++ b/.gitattributes @@ -8,13 +8,8 @@ # Ensure any exe files are treated as binary *.exe binary *.jpg binary - -# Allow Excel files in examples to be saved as binary files *.xl* binary - -# Allow test .PFX files to be saved as binary files *.pfx binary - *.png binary *.dll binary *.so binary diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index e9f674de..8c6462ea 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -1,32 +1,28 @@ #### Pull Request (PR) description #### This Pull Request (PR) fixes the following issues -- [ ] Added an entry to the change log under the Unreleased section of the - file CHANGELOG.md. Entry should say what was changed and how that - affects users (if applicable), and reference the issue being resolved - (if applicable). +- [ ] Added an entry to the change log under the Unreleased section of the file CHANGELOG.md. + Entry should say what was changed and how that affects users (if applicable), and + reference the issue being resolved (if applicable). - [ ] Resource documentation added/updated in README.md. -- [ ] Resource parameter descriptions added/updated in README.md, schema.mof - and comment-based help. +- [ ] Resource parameter descriptions added/updated in README.md, schema.mof and comment-based + help. - [ ] Comment-based help added/updated. - [ ] Localization strings added/updated in all localization files as appropriate. - [ ] Examples appropriately added/updated. diff --git a/.gitignore b/.gitignore index ff2de5d7..41a28ddb 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,18 @@ +output/ + +**.bak +*.local.* +!**/README.md +.kitchen/ + +*.nupkg +*.suo +*.user +*.coverage .vs .vscode -output/ +.psproj +.sln +markdownissues.txt +node_modules +package-lock.json diff --git a/CHANGELOG.md b/CHANGELOG.md index a7c869df..a39ad070 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,10 +1,15 @@ -# Change log for xExchange +# Changelog for xExchange The format is based on and uses the types of changes according to [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). ## [Unreleased] +### Changed + +- xExchange + - Update the pipeline files from the latest template in Sampler. + ## [1.33.0] - 2021-10-31 ### Changed diff --git a/GitVersion.yml b/GitVersion.yml index 35741492..cbcaca76 100644 --- a/GitVersion.yml +++ b/GitVersion.yml @@ -1,5 +1,5 @@ mode: ContinuousDelivery -next-version: 1.31.0 +next-version: 0.0.1 major-version-bump-message: '(breaking\schange|breaking|major)\b' minor-version-bump-message: '(adds?|features?|minor)\b' patch-version-bump-message: '\s?(fix|patch)' diff --git a/README.md b/README.md index d7c3cd95..cf9e7499 100644 --- a/README.md +++ b/README.md @@ -29,40 +29,10 @@ Please check out common DSC Community [contributing guidelines](https://dsccommu A full list of changes in each version can be found in the [change log](CHANGELOG.md). -## Installation +## Documentation -To manually install the module, -download the source code and unzip the contents -of the '\Modules\xExchange' directory to the -'\$env:ProgramFiles\WindowsPowerShell\Modules' folder. - -To install from the PowerShell gallery using PowerShellGet (in PowerShell 5.0) -run the following command: - -```powershell -Find-Module -Name xExchange -Repository PSGallery | Install-Module -``` - -To confirm installation, run the below command and ensure you see the SQL Server -DSC resources available: - -```powershell -Get-DscResource -Module xExchange -``` - -## Requirements - -The minimum Windows Management Framework (PowerShell) version required is 4.0, -which ships with Windows Server 2012 and Windows Server 2012 R2, but can also -be installed on Windows 2008 R2 (the minimum supported OS version for Exchange -Server 2013). - -Note that while the xExchange module may work with newer releases of -PowerShell, the Microsoft Exchange Product Group does not support running -Microsoft Exchange Server with versions of PowerShell newer than the one that -shipped with the Windows Server version that Exchange is installed on. See the -**Windows PowerShell** section of the [Exchange Server Supportability Matrix]() -for more information. +The documentation can be found in the [xExchange Wiki](https://github.com/dsccommunity/xExchange/wiki). +The resource documentation can be found below. ## Examples diff --git a/Resolve-Dependency.ps1 b/Resolve-Dependency.ps1 index a8c6b4d1..294cb687 100644 --- a/Resolve-Dependency.ps1 +++ b/Resolve-Dependency.ps1 @@ -388,10 +388,6 @@ try { Write-Verbose "PowerShell-Yaml is already available" } - - Write-Progress -Activity 'Bootstrap:' -PercentComplete 88 -CurrentOperation 'Importing PowerShell module PowerShell-Yaml' - - Import-Module -Name 'PowerShell-Yaml' -ErrorAction 'Stop' } Write-Progress -Activity 'Bootstrap:' -PercentComplete 90 -CurrentOperation 'Invoke PSDepend' diff --git a/azure-pipelines.yml b/azure-pipelines.yml index b6af9b90..db44986a 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -25,14 +25,17 @@ stages: - job: Package_Module displayName: 'Package Module' pool: - vmImage: 'ubuntu 18.04' + vmImage: 'ubuntu-latest' steps: - - task: GitVersion@5 - name: gitVersion - displayName: 'Evaluate Next Version' - inputs: - runtime: 'core' - configFilePath: 'GitVersion.yml' + - pwsh: | + dotnet tool install --global GitVersion.Tool + $gitVersionObject = dotnet-gitversion | ConvertFrom-Json + $gitVersionObject.PSObject.Properties.ForEach{ + Write-Host -Object "Setting Task Variable '$($_.Name)' with value '$($_.Value)'." + Write-Host -Object "##vso[task.setvariable variable=$($_.Name);]$($_.Value)" + } + Write-Host -Object "##vso[build.updatebuildnumber]$($gitVersionObject.FullSemVer)" + displayName: Calculate ModuleVersion (GitVersion) - task: PowerShell@2 name: package displayName: 'Build & Package Module' @@ -41,7 +44,7 @@ stages: arguments: '-ResolveDependency -tasks pack' pwsh: true env: - ModuleVersion: $(gitVersion.NuGetVersionV2) + ModuleVersion: $(NuGetVersionV2) - task: PublishPipelineArtifact@1 displayName: 'Publish Build Artifact' inputs: @@ -56,7 +59,7 @@ stages: - job: Test_HQRM displayName: 'HQRM' pool: - vmImage: 'windows-2019' + vmImage: 'windows-latest' timeoutInMinutes: 0 steps: - task: DownloadPipelineArtifact@2 @@ -83,7 +86,7 @@ stages: - job: Test_Unit displayName: 'Unit' pool: - vmImage: 'windows-2019' + vmImage: 'windows-latest' timeoutInMinutes: 0 steps: - task: DownloadPipelineArtifact@2 @@ -120,7 +123,7 @@ stages: displayName: 'Publish Code Coverage' dependsOn: Test_Unit pool: - vmImage: 'ubuntu 18.04' + vmImage: 'ubuntu-latest' timeoutInMinutes: 0 steps: - pwsh: | @@ -168,7 +171,7 @@ stages: - job: Deploy_Module displayName: 'Deploy Module' pool: - vmImage: 'ubuntu 18.04' + vmImage: 'ubuntu-latest' steps: - task: DownloadPipelineArtifact@2 displayName: 'Download Pipeline Artifact' diff --git a/build.ps1 b/build.ps1 index 19da5e42..5579df10 100644 --- a/build.ps1 +++ b/build.ps1 @@ -466,7 +466,7 @@ Begin # The parameter has been explicitly used for calling the .build.ps1 if ($MyInvocation.BoundParameters.ContainsKey($cmdParameter)) { - $paramValue = $MyInvocation.BoundParameters.ContainsKey($cmdParameter) + $paramValue = $MyInvocation.BoundParameters.Item($cmdParameter) Write-Debug " adding $cmdParameter :: $paramValue [from user-provided parameters to Build.ps1]" diff --git a/build.yaml b/build.yaml index 2ec1c0d0..f172c1b4 100644 --- a/build.yaml +++ b/build.yaml @@ -11,7 +11,7 @@ Encoding: UTF8 VersionedOutputDirectory: true #################################################### -# xExchange Pipeline Configuration # +# Sampler Pipeline Configuration # #################################################### BuildWorkflow: '.': @@ -41,7 +41,6 @@ BuildWorkflow: - publish_module_to_gallery - Publish_Release_To_GitHub - Publish_GitHub_Wiki_Content - - Create_ChangeLog_GitHub_PR #################################################### # PESTER Configuration # diff --git a/source/WikiSource/Home.md b/source/WikiSource/Home.md index 27112703..d358cb72 100644 --- a/source/WikiSource/Home.md +++ b/source/WikiSource/Home.md @@ -40,6 +40,20 @@ or higher, which ships with Windows 10 or Windows Server 2016, but can also be installed on Windows 7 SP1, Windows 8.1, Windows Server 2012, and Windows Server 2012 R2. +## Requirements + +The minimum Windows Management Framework (PowerShell) version required is 4.0, +which ships with Windows Server 2012 and Windows Server 2012 R2, but can also +be installed on Windows 2008 R2 (the minimum supported OS version for Exchange +Server 2013). + +Note that while the xExchange module may work with newer releases of +PowerShell, the Microsoft Exchange Product Group does not support running +Microsoft Exchange Server with versions of PowerShell newer than the one that +shipped with the Windows Server version that Exchange is installed on. See the +**Windows PowerShell** section of the [Exchange Server Supportability Matrix]() +for more information. + ## Change log A full list of changes in each version can be found in the [change log](https://github.com/dsccommunity/xExchange/blob/main/CHANGELOG.md). diff --git a/source/xExchange.psm1 b/source/xExchange.psm1 new file mode 100644 index 00000000..81d556e2 --- /dev/null +++ b/source/xExchange.psm1 @@ -0,0 +1,4 @@ +<# + This file is intentionally left empty. It is must be left here for the module + manifest to refer to. It is recreated during the build process. +#>