ALOpsV3.Module.psd1

@{
    # Entry script — loaded after NestedModules, calls Initialize-ALOpsV3Module
    RootModule           = 'ALOpsV3.Module.psm1'
    # Binary module loaded first so its cmdlets are available when psm1 runs
    NestedModules        = @('ALOpsV3.Module.dll')
    ModuleVersion        = '0.1.10858'
    CompatiblePSEditions = @('Core')
    GUID                 = 'a3f1c2e4-7b8d-4f5a-9c0e-2d6b8f3a1e7c'
    Author               = 'Bart Bourgeois'
    CompanyName          = 'Hodor NV'
    Copyright            = '(c) Bart Bourgeois. All rights reserved.'
    Description          = 'ALOps Evergreen — CI/CD for Business Central (Alpha)'
    PowerShellVersion    = '7.0'
    # Step functions loaded by Initialize-ALOpsV3Module into module scope
    FunctionsToExport    = @(
        # ── Step functions ────────────────────────────────────────────────
        'Run-ALOpsInfoV3Step'
        'Run-ALOpsAppCompilerV3Step'
        'Run-ALOpsNuGetDownloadV3Step'
        'Get-ALOpsBCVersionMatrix'

        # ── ConvertTo-ALOpsV3BCLog.ps1 ───────────────────────────────────
        'ConvertTo-ALOpsV3BCLog'

        # ── Calculate-ALOpsV3AppVersion.ps1 ──────────────────────────────
        'Calculate-ALOpsV3AppVersion'

        # ── Common-ALOpsV3Helpers.ps1 ────────────────────────────────────
        'Get-ALOpsV3DepAppId'
        'Get-ALOpsV3AppManifestFromPackage'
        'Get-ALOpsV3CachedAppIndex'
        'Format-ALOpsV3AppFileName'
        'Resolve-ALOpsV3AssemblyProbingPaths'
        'Test-ALOpsV3MissingSymbols'

        # ── Get-ALOpsV3MSSymbols.ps1 ─────────────────────────────────────
        'Invoke-ALOpsV3MSNuGetRest'
        'Invoke-ALOpsV3MSNuGetWeb'
        'Get-ALOpsV3MSServiceIndex'
        'Get-ALOpsV3MSPackageVersions'
        'Select-ALOpsV3MSNuGetVersion'
        'Get-ALOpsV3MSDepVersionFilter'
        'Expand-ALOpsV3MSNuGetPackage'
        'Invoke-ALOpsV3MSNuGetPackageDownload'
        'Get-ALOpsV3MSNuGetCandidateIds'
        'Find-ALOpsV3MissingMSSymbols'
        'Resolve-ALOpsV3MSSymbols'

        # ── Get-ALOpsV3AppSourceSymbols.ps1 ──────────────────────────────
        'Get-ALOpsV3AppSourceSearchUrl'
        'Find-ALOpsV3AppSourcePackageId'
        'Resolve-ALOpsV3AppSourceSymbols'

        # ── BCArtifactsV3 ────────────────────────────────────────────────
        'Get-ALOpsV3CDNUrl'
        'Get-ALOpsV3ArtifactsFromIndex'
        'Get-ALOpsV3BCArtifactUrl'
        'Save-ALOpsV3File'
        'Expand-ALOpsV3Archive'
        'Save-ALOpsV3BCArtifacts'
        'Invoke-ALOpsV3BuildCache'

        # ── Process-ALOpsV3CompileResults.ps1 ────────────────────────────
        'Process-ALOpsV3CompileResults'

        # ── Get-ALOpsV3NuGetApp.ps1 ──────────────────────────────────────
        'Get-ALOpsV3NuGetAuthHeaders'
        'Invoke-ALOpsV3NuGetRest'
        'Invoke-ALOpsV3NuGetWeb'
        'Get-ALOpsV3NuGetFeedInfo'
        'Resolve-ALOpsV3NuGetV3FeedInfo'
        'Get-ALOpsV3NuGetPackageVersionsV3'
        'Get-ALOpsV3NuGetPackageVersionsV2'
        'Select-ALOpsV3NuGetVersionMatch'
        'Get-ALOpsV3NuGetDepVersionFilter'
        'Expand-ALOpsV3NuGetPackage'
        'Get-ALOpsV3NuGetApp'

        # ── Get-ALOpsV3AppOrder.ps1 ──────────────────────────────────────
        'Get-ALOpsV3AppOrder'

        # ── Update-ALOpsV3AppManifest.ps1 ────────────────────────────────
        'Update-ALOpsV3AppManifest'
        'Test-ALOpsV3PublisherAllowList'

        # ── New-ALOpsV3Compilation.ps1 ───────────────────────────────────
        'New-ALOpsV3Compilation'
        'Resolve-ALOpsV3RuleSet'
    )
    CmdletsToExport      = @(
        'Initialize-ALOpsV3Module',
        'Register-ALOpsPlatform',
        'Write-ALOpsInfo', 'Write-ALOpsDebug', 'Write-ALOpsWarning',
        'Write-ALOpsError', 'Write-ALOpsGroup',
        'Set-ALOpsVariable', 'Get-ALOpsVariable',
        'Set-ALOpsOutput',
        'Protect-ALOpsSecret',
        'Update-ALOpsBuildNumber', 'Add-ALOpsBuildTag',
        'Publish-ALOpsArtifact',
        'Set-ALOpsResult',
        'Get-ALOpsPlatform',
        # New cmdlets
        'Install-ALToolPackageV3',
        'Import-ALOpsV3JsonContent',
        'Resolve-ALOpsPathV3'
    )
    AliasesToExport      = @(
        'Load-ALOpsV3JsonContent',
        'Resolve-ALOpsPath'
    )
    PrivateData          = @{
        PSData = @{
            Tags       = @('ALOps', 'BusinessCentral', 'CI', 'CD', 'AzureDevOps', 'GitHubActions')
            Prerelease = 'alpha'
        }
    }
}