packages feed

hix-0.9.0: lib/Hix/Managed/Handlers/Revision/Prod.hs

module Hix.Managed.Handlers.Revision.Prod where

import Hix.Data.Monad (M)
import Hix.Http (httpManager)
import Hix.Managed.Cabal.Data.Config (CabalConfig, HackagePurpose (ForPublish))
import Hix.Managed.Data.RevisionConfig (RevisionConfig (..))
import qualified Hix.Managed.Handlers.HackageClient.Prod as HackageClient
import Hix.Managed.Handlers.Revision (RevisionHandlers (..))
import Hix.Managed.Maint.Git (gitApiRevisionHermetic, gitApiRevisionProd)

handlersProd ::
  RevisionConfig ->
  CabalConfig ->
  M RevisionHandlers
handlersProd config cabal = do
  manager <- httpManager
  publishHackages <- HackageClient.handlersProdFor (Just manager) ForPublish cabal
  pure RevisionHandlers {
    git = (if config.globalGit then gitApiRevisionProd else gitApiRevisionHermetic) config,
    publishHackages
  }