packages feed

hercules-ci-api-agent-0.5.1.0: hercules-ci-api-agent.cabal

cabal-version:      1.12
name:               hercules-ci-api-agent
version:            0.5.1.0
synopsis:
  API definition for Hercules CI Agent to talk to hercules-ci.com or Hercules CI Enterprise

category:           API, CI, Testing, DevOps, Nix
homepage:           https://github.com/hercules-ci/hercules-ci-agent#readme
bug-reports:        https://github.com/hercules-ci/hercules-ci-agent/issues
author:             Hercules CI contributors
maintainer:         info@hercules-ci.com
copyright:          2018-2021 Hercules CI
license:            Apache-2.0
build-type:         Simple
extra-source-files: CHANGELOG.md

source-repository head
  type:     git
  location: https://github.com/hercules-ci/hercules-ci

library
  exposed-modules:
    Hercules.API.Agent
    Hercules.API.Agent.Build
    Hercules.API.Agent.Build.BuildEvent
    Hercules.API.Agent.Build.BuildEvent.Pushed
    Hercules.API.Agent.Build.BuildTask
    Hercules.API.Agent.Effect.EffectTask
    Hercules.API.Agent.Evaluate
    Hercules.API.Agent.Evaluate.DerivationStatus
    Hercules.API.Agent.Evaluate.EvaluateEvent
    Hercules.API.Agent.Evaluate.EvaluateEvent.AttributeEffectEvent
    Hercules.API.Agent.Evaluate.EvaluateEvent.AttributeErrorEvent
    Hercules.API.Agent.Evaluate.EvaluateEvent.AttributeEvent
    Hercules.API.Agent.Evaluate.EvaluateEvent.AttributeIFDEvent
    Hercules.API.Agent.Evaluate.EvaluateEvent.BuildRequest
    Hercules.API.Agent.Evaluate.EvaluateEvent.BuildRequired
    Hercules.API.Agent.Evaluate.EvaluateEvent.DerivationInfo
    Hercules.API.Agent.Evaluate.EvaluateEvent.InputDeclaration
    Hercules.API.Agent.Evaluate.EvaluateEvent.SubstitutionQueryResult
    Hercules.API.Agent.Evaluate.EvaluateEvent.JobConfig
    Hercules.API.Agent.Evaluate.EvaluateEvent.Message
    Hercules.API.Agent.Evaluate.EvaluateEvent.OnPushHandlerEvent
    Hercules.API.Agent.Evaluate.EvaluateEvent.OnScheduleHandlerEvent
    Hercules.API.Agent.Evaluate.EvaluateEvent.PushedAll
    Hercules.API.Agent.Evaluate.EvaluateTask
    Hercules.API.Agent.Evaluate.EvaluateTask.OnPush
    Hercules.API.Agent.Evaluate.EvaluateTask.OnSchedule
    Hercules.API.Agent.Evaluate.ImmutableGitInput
    Hercules.API.Agent.Evaluate.ImmutableInput
    Hercules.API.Agent.LifeCycle
    Hercules.API.Agent.LifeCycle.AgentInfo
    Hercules.API.Agent.LifeCycle.CreateAgentSession
    Hercules.API.Agent.LifeCycle.CreateAgentSession_V2
    Hercules.API.Agent.LifeCycle.ServiceInfo
    Hercules.API.Agent.LifeCycle.StartInfo
    Hercules.API.Agent.OutputInfo
    Hercules.API.Agent.Socket.AgentPayload
    Hercules.API.Agent.Socket.Frame
    Hercules.API.Agent.Socket.ServicePayload
    Hercules.API.Agent.State
    Hercules.API.Agent.Tasks
    Hercules.API.Logs
    Hercules.API.Logs.LogEntry
    Hercules.API.Logs.LogHello
    Hercules.API.Logs.LogMessage
    Hercules.API.Task
    Hercules.API.TaskStatus
    Hercules.Formats.CachixCache
    Hercules.Formats.Common
    Hercules.Formats.Mountable
    Hercules.Formats.NixCache
    Hercules.Formats.Secret

  hs-source-dirs:     src
  default-extensions:
    NoImplicitPrelude
    DeriveGeneric
    DeriveTraversable
    DerivingStrategies
    DisambiguateRecordFields
    FlexibleContexts
    InstanceSigs
    LambdaCase
    MultiParamTypeClasses
    OverloadedStrings
    RankNTypes
    TupleSections
    TypeApplications
    TypeOperators

  ghc-options:
    -Wall -fwarn-tabs -fwarn-unused-imports -fwarn-missing-signatures
    -fwarn-name-shadowing -fwarn-incomplete-patterns

  build-depends:
      aeson                   >=2
    , base                    >=4.7    && <5
    , base64-bytestring-type
    , bytestring
    , containers
    , cookie
    , deepseq
    , exceptions
    , hashable
    , hercules-ci-api-core
    , http-api-data
    , http-media
    , lens
    , lens-aeson
    , memory
    , servant                 >=0.14.1
    , servant-auth
    , string-conv
    , swagger2
    , text
    , time
    , unordered-containers
    , uuid
    , vector

  default-language:   Haskell2010

test-suite hercules-ci-api-agent-unit-tests
  type:               exitcode-stdio-1.0
  main-is:            Main.hs
  other-modules:
    AesonSupport
    Hercules.API.Agent.Effect.EffectTaskSpec
    Hercules.API.Agent.Evaluate.EvaluateEvent.AttributeEffectEventSpec
    Hercules.API.Agent.Evaluate.EvaluateEvent.DerivationInfoSpec
    Hercules.API.Agent.LifeCycle.AgentInfoSpec
    Hercules.Formats.CachixCacheSpec
    Hercules.Formats.SecretSpec
    Hercules.Formats.MountableSpec
    Spec

  hs-source-dirs:     test
  default-extensions:
    NoImplicitPrelude
    DeriveGeneric
    DeriveTraversable
    DisambiguateRecordFields
    FlexibleContexts
    InstanceSigs
    LambdaCase
    MultiParamTypeClasses
    OverloadedStrings
    RankNTypes
    TupleSections
    TypeApplications
    TypeOperators

  ghc-options:
    -Wall -fwarn-tabs -fwarn-unused-imports -fwarn-missing-signatures
    -fwarn-name-shadowing -fwarn-incomplete-patterns -threaded -rtsopts
    -with-rtsopts=-N

  build-depends:
      aeson
    , base
    , bytestring
    , containers
    , cookie
    , exceptions
    , hashable
    , hercules-ci-api-agent
    , hercules-ci-api-core
    , hspec
    , http-api-data
    , http-media
    , lens
    , memory
    , network-uri
    , profunctors
    , QuickCheck
    , quickcheck-classes
    , servant                >=0.14.1
    , servant-auth
    , string-conv
    , swagger2
    , text
    , time
    , uuid
    , vector

  default-language:   Haskell2010