packages feed

hercules-ci-api-0.8.2.0: hercules-ci-api.cabal

cabal-version:      2.2
name:               hercules-ci-api
version:            0.8.2.0
synopsis:           Hercules CI API definition with Servant
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

common defaults
  default-language:   Haskell2010
  default-extensions:
    NoImplicitPrelude
    DeriveGeneric
    DeriveTraversable
    DerivingStrategies
    DisambiguateRecordFields
    FlexibleContexts
    ImportQualifiedPost
    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

common defaults-exe
  ghc-options: -threaded -rtsopts -with-rtsopts=-N

library
  import:          defaults
  exposed-modules:
    Hercules.API
    Hercules.API.Accounts
    Hercules.API.Accounts.Account
    Hercules.API.Accounts.AccountInstallationStatus
    Hercules.API.Accounts.AccountSettings
    Hercules.API.Accounts.AccountSettingsPatch
    Hercules.API.Accounts.CLIAuthorizationRequest
    Hercules.API.Accounts.CLIAuthorizationRequestCreate
    Hercules.API.Accounts.CLIAuthorizationRequestCreateResponse
    Hercules.API.Accounts.CLIAuthorizationRequestStatus
    Hercules.API.Accounts.CLIToken
    Hercules.API.Accounts.CLITokensResponse
    Hercules.API.Accounts.NotificationSettings
    Hercules.API.Accounts.NotificationSettingsPatch
    Hercules.API.Accounts.SimpleAccount
    Hercules.API.Agents
    Hercules.API.Agents.AgentInfo
    Hercules.API.Agents.AgentSession
    Hercules.API.Agents.ClusterJoinToken
    Hercules.API.Agents.CreateClusterJoinToken
    Hercules.API.Agents.FullClusterJoinToken
    Hercules.API.Attribute
    Hercules.API.Auth
    Hercules.API.BillingStatus
    Hercules.API.Build
    Hercules.API.Build.AgentRequirements
    Hercules.API.Build.DerivationEvent
    Hercules.API.Build.DerivationEvent.BuiltOutput
    Hercules.API.Build.DerivationInfo
    Hercules.API.Build.DerivationInfo.DerivationInput
    Hercules.API.Build.DerivationInfo.DerivationOutput
    Hercules.API.Build.EvaluationDependency
    Hercules.API.Build.EvaluationDetail
    Hercules.API.Build.EvaluationDiff
    Hercules.API.Build.FailureGraph
    Hercules.API.Build.Log
    Hercules.API.Build.LogLine
    Hercules.API.ClientInfo
    Hercules.API.ClientInfo.ClientInfo
    Hercules.API.Derivation
    Hercules.API.Effects
    Hercules.API.Effects.EffectEvent
    Hercules.API.Effects.EffectInfo
    Hercules.API.Effects.EffectReference
    Hercules.API.Error
    Hercules.API.Evaluation.AttributeError
    Hercules.API.Evaluation.Evaluation
    Hercules.API.Forge
    Hercules.API.Forge.Forge
    Hercules.API.Forge.SimpleForge
    Hercules.API.GitLab
    Hercules.API.GitLab.CreateInstallationBuilderRequest
    Hercules.API.GitLab.InstallationBuilder
    Hercules.API.GitLab.PatchInstallationBuilder
    Hercules.API.Health
    Hercules.API.Inputs.ImmutableGitInput
    Hercules.API.Inputs.ImmutableInput
    Hercules.API.Labels
    Hercules.API.Message
    Hercules.API.Organizations
    Hercules.API.Organizations.BillingInfo
    Hercules.API.Organizations.CreateOrganization
    Hercules.API.Organizations.Organization
    Hercules.API.Organizations.PaymentLink
    Hercules.API.Orphans
    Hercules.API.Paging
    Hercules.API.Projects
    Hercules.API.Projects.CreateProject
    Hercules.API.Projects.CreateUserEffectTokenResponse
    Hercules.API.Projects.Job
    Hercules.API.Projects.JobHandlers
    Hercules.API.Projects.JobHandlers.OnPushHandler
    Hercules.API.Projects.JobHandlers.OnScheduleHandler
    Hercules.API.Projects.LegacySimpleJob
    Hercules.API.Projects.PatchProject
    Hercules.API.Projects.Project
    Hercules.API.Projects.SimpleJob
    Hercules.API.Projects.SimpleProject
    Hercules.API.Repos
    Hercules.API.Repos.Repo
    Hercules.API.Repos.RepoKey
    Hercules.API.Repos.SimpleRepo
    Hercules.API.Result
    Hercules.API.Servant.Status
    Hercules.API.SimpleAttribute
    Hercules.API.State
    Hercules.API.State.ProjectState
    Hercules.API.State.StateFile
    Hercules.API.State.StateLockAcquireRequest
    Hercules.API.State.StateLockAcquireResponse
    Hercules.API.State.StateLockLease
    Hercules.API.State.StateLockUpdateRequest
    Hercules.API.State.StateVersion
    Hercules.Frontend

  hs-source-dirs:  src
  build-depends:
    , aeson                    >=2
    , base                     >=4.7    && <5
    , bytestring
    , containers
    , cookie
    , exceptions
    , hashable
    , hercules-ci-api-core
    , http-api-data
    , http-media
    , lens
    , lens-aeson
    , memory
    , network-uri
    , openapi3
    , profunctors
    , servant                  >=0.14.1
    , servant-openapi3
    , servant-auth
    , servant-auth-swagger
    , servant-swagger
    , servant-swagger-ui-core
    , string-conv
    , swagger2
    , text
    , time
    , uuid

executable hercules-gen-swagger
  import:         defaults, defaults-exe
  main-is:        Main.hs
  hs-source-dirs: hercules-gen-swagger
  build-depends:
    , aeson
    , base                     >=4.7    && <5
    , bytestring
    , containers
    , cookie
    , exceptions
    , hashable
    , hercules-ci-api
    , http-api-data
    , http-media
    , lens
    , memory
    , network-uri
    , openapi3
    , profunctors
    , servant                  >=0.14.1
    , servant-auth
    , servant-auth-swagger
    , servant-openapi3
    , servant-swagger
    , servant-swagger-ui-core
    , string-conv
    , swagger2
    , text
    , time
    , uuid

test-suite hercules-ci-api-unit-tests
  import:           defaults, defaults-exe
  type:             exitcode-stdio-1.0
  main-is:          Main.hs
  other-modules:
    Hercules.API.AttributeSpec
    Spec

  hs-source-dirs:   test
  build-depends:
    , aeson
    , base
    , bytestring
    , containers
    , exceptions
    , hashable
    , hercules-ci-api
    , hercules-ci-api-core
    , hspec
    , http-api-data
    , http-media
    , protolude
    , QuickCheck
    , quickcheck-classes
    , servant               >=0.14.1
    , servant-auth
    , string-conv
    , text
    , time
    , uuid
    , vector

  default-language: Haskell2010