diff --git a/Publish/Manage-Module.ps1 b/Publish/Manage-Module.ps1 new file mode 100644 index 000000000..6f24af236 --- /dev/null +++ b/Publish/Manage-Module.ps1 @@ -0,0 +1,164 @@ +Clear-Host +Import-Module "C:\Support\GitHub\PSPublishModule\PSPublishModule.psm1" -Force + +$Configuration = @{ + Information = @{ + ModuleName = 'O365Essentials' + DirectoryProjects = 'C:\Support\GitHub' + + Manifest = @{ + # Version number of this module. + ModuleVersion = '0.0.1' + # Supported PSEditions + CompatiblePSEditions = @('Desktop', 'Core') + # ID used to uniquely identify this module + GUID = '54ac7896-42b5-4af3-bc4c-2de6ff38b021' + # Author of this module + Author = 'Przemyslaw Klys' + # Company or vendor of this module + CompanyName = 'Evotec' + # Copyright statement for this module + Copyright = 'Przemyslaw Klys. All rights reserved.' + # Description of the functionality provided by this module + Description = 'Module that helps managing some tasks on Office 365/Azure via undocumented API' + # Minimum version of the Windows PowerShell engine required by this module + PowerShellVersion = '5.1' + # Private data to pass to the module specified in RootModule/ModuleToProcess. This may also contain a PSData hashtable with additional module metadata used by PowerShell. + Tags = @('Windows', 'MacOS', 'Linux', 'Office365', 'Graph', 'Azure') + + #IconUri = 'https://evotec.xyz/wp-content/uploads/2018/12/PSWriteHTML.png' + + ProjectUri = 'https://github.com/EvotecIT/O365Essentials' + + RequiredModules = @( + @{ ModuleName = 'PSSharedGoods'; ModuleVersion = "Latest"; Guid = 'ee272aa8-baaa-4edf-9f45-b6d6f7d844fe' } + @{ ModuleName = 'Az.Accounts'; ModuleVersion = "Latest"; Guid = '17a2feff-488b-47f9-8729-e2cec094624c' } + ) + ExternalModuleDependencies = @( + 'Microsoft.PowerShell.Utility' + ) + } + } + Options = @{ + Merge = @{ + Sort = 'None' + FormatCodePSM1 = @{ + Enabled = $true + RemoveComments = $false + FormatterSettings = @{ + IncludeRules = @( + 'PSPlaceOpenBrace', + 'PSPlaceCloseBrace', + 'PSUseConsistentWhitespace', + 'PSUseConsistentIndentation', + 'PSAlignAssignmentStatement', + 'PSUseCorrectCasing' + ) + + Rules = @{ + PSPlaceOpenBrace = @{ + Enable = $true + OnSameLine = $true + NewLineAfter = $true + IgnoreOneLineBlock = $true + } + + PSPlaceCloseBrace = @{ + Enable = $true + NewLineAfter = $false + IgnoreOneLineBlock = $true + NoEmptyLineBefore = $false + } + + PSUseConsistentIndentation = @{ + Enable = $true + Kind = 'space' + PipelineIndentation = 'IncreaseIndentationAfterEveryPipeline' + IndentationSize = 4 + } + + PSUseConsistentWhitespace = @{ + Enable = $true + CheckInnerBrace = $true + CheckOpenBrace = $true + CheckOpenParen = $true + CheckOperator = $true + CheckPipe = $true + CheckSeparator = $true + } + + PSAlignAssignmentStatement = @{ + Enable = $true + CheckHashtable = $true + } + + PSUseCorrectCasing = @{ + Enable = $true + } + } + } + } + FormatCodePSD1 = @{ + Enabled = $true + RemoveComments = $false + } + Integrate = @{ + ApprovedModules = @('PSSharedGoods', 'PSWriteColor', 'Connectimo', 'PSUnifi', 'PSWebToolbox', 'PSMyPassword') + } + } + Standard = @{ + FormatCodePSM1 = @{ + + } + FormatCodePSD1 = @{ + Enabled = $true + #RemoveComments = $true + } + } + ImportModules = @{ + Self = $true + RequiredModules = $false + Verbose = $false + } + PowerShellGallery = @{ + ApiKey = 'C:\Support\Important\PowerShellGalleryAPI.txt' + FromFile = $true + } + GitHub = @{ + ApiKey = 'C:\Support\Important\GithubAPI.txt' + FromFile = $true + UserName = 'EvotecIT' + #RepositoryName = 'PSWriteHTML' + } + Documentation = @{ + Path = 'Docs' + PathReadme = 'Docs\Readme.md' + } + } + Steps = @{ + BuildModule = @{ # requires Enable to be on to process all of that + Enable = $true + DeleteBefore = $false + Merge = $true + MergeMissing = $true + SignMerged = $true + Releases = $true + ReleasesUnpacked = $false + RefreshPSD1Only = $false + } + BuildDocumentation = $false + ImportModules = @{ + Self = $true + RequiredModules = $false + Verbose = $false + } + PublishModule = @{ # requires Enable to be on to process all of that + Enabled = $false + Prerelease = '' + RequireForce = $false + GitHub = $false + } + } +} + +New-PrepareModule -Configuration $Configuration \ No newline at end of file