Skip to content

Commit

Permalink
packages http,otel,memcached (#185)
Browse files Browse the repository at this point in the history
  • Loading branch information
chris-martin authored Aug 9, 2024
1 parent e4a9a63 commit 29659d4
Show file tree
Hide file tree
Showing 69 changed files with 1,412 additions and 277 deletions.
3 changes: 3 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,9 @@ jobs:
- freckle-app
- freckle-env
- freckle-kafka
- freckle-http
- freckle-memcached
- freckle-otel

steps:
- uses: actions/checkout@v4
Expand Down
2 changes: 1 addition & 1 deletion cabal.project
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
packages: freckle-app
packages: */*.cabal
allow-newer: hs-opentelemetry-propagator-datadog:text

documentation: True
Expand Down
4 changes: 3 additions & 1 deletion fourmolu.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -12,4 +12,6 @@ in-style: left-align
single-constraint-parens: never # ignored until v12 / ghc-9.6
unicode: never # default
respectful: true # default
fixities: [] # default
fixities:
- infixl 1 &
- infixr 4 <>~, .~
16 changes: 16 additions & 0 deletions freckle-app/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,21 @@
## [_Unreleased_](https://github.com/freckle/freckle-app/compare/freckle-app-v1.19.0.0...main)

## [v1.12.0.0](https://github.com/freckle/freckle-app/compare/freckle-app-v1.19.0.0...freckle-app-v1.20.0.0)

Changes affecting users:

- Removed `Freckle.App.Memcached(.*)`; these modules have moved into the
`freckle-memcached` package.

Changes that do not have to affect users:

- Modules `Freckle.App(.Test?).Http(.*)` are now re-exports from the
`freckle-http` package.
- Modules `Freckle.App.OpenTelementry(.*)` are now re-exports from the
`freckle-otel` package.
- Module `Freckle.App.Dotenv` is now a re-export from the `freckle-env`
package.

## [v1.19.0.0](https://github.com/freckle/freckle-app/compare/freckle-app-v1.18.2.0...freckle-app-v1.19.0.0)

- Removed `Freckle.App.Kafka(.*)`; this is now available from the `freckle-kafka`
Expand Down
68 changes: 16 additions & 52 deletions freckle-app/freckle-app.cabal
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ cabal-version: 1.22
-- see: https://github.com/sol/hpack

name: freckle-app
version: 1.19.0.0
version: 1.20.0.0
synopsis: Haskell application toolkit used at Freckle
description: Please see README.md
category: Utils
Expand Down Expand Up @@ -35,7 +35,6 @@ library
Freckle.App.Bugsnag.SqlError
Freckle.App.Csv
Freckle.App.Database
Freckle.App.Dotenv
Freckle.App.Ecs
Freckle.App.Exception
Freckle.App.Exception.MonadThrow
Expand All @@ -44,25 +43,7 @@ library
Freckle.App.Faktory.ProducerPool
Freckle.App.Ghci
Freckle.App.GlobalCache
Freckle.App.Http
Freckle.App.Http.Cache
Freckle.App.Http.Cache.Gzip
Freckle.App.Http.Cache.Memcached
Freckle.App.Http.Cache.State
Freckle.App.Http.Header
Freckle.App.Http.Paginate
Freckle.App.Http.Retry
Freckle.App.Json.Empty
Freckle.App.Memcached
Freckle.App.Memcached.CacheKey
Freckle.App.Memcached.CacheTTL
Freckle.App.Memcached.Client
Freckle.App.Memcached.MD5
Freckle.App.Memcached.Servers
Freckle.App.OpenTelemetry
Freckle.App.OpenTelemetry.Context
Freckle.App.OpenTelemetry.Http
Freckle.App.OpenTelemetry.ThreadContext
Freckle.App.Prelude
Freckle.App.Random
Freckle.App.Scientist
Expand All @@ -71,8 +52,6 @@ library
Freckle.App.Test
Freckle.App.Test.DocTest
Freckle.App.Test.Hspec.Runner
Freckle.App.Test.Http
Freckle.App.Test.Http.MatchRequest
Freckle.App.Test.Properties.JSON
Freckle.App.Test.Properties.PathPiece
Freckle.App.Test.Properties.PersistValue
Expand All @@ -86,7 +65,19 @@ library
other-modules:
Paths_freckle_app
reexported-modules:
Freckle.App.Env
Freckle.App.Dotenv
, Freckle.App.Env
, Freckle.App.Http
, Freckle.App.Http.Cache
, Freckle.App.Http.Cache.Gzip
, Freckle.App.Http.Cache.Memcached
, Freckle.App.Http.Cache.State
, Freckle.App.Http.Header
, Freckle.App.Http.Paginate
, Freckle.App.Http.Retry
, Freckle.App.HttpSpec
, Freckle.App.Test.Http
, Freckle.App.Test.Http.MatchRequest
hs-source-dirs:
library
default-extensions:
Expand Down Expand Up @@ -123,16 +114,14 @@ library
, containers
, cookie
, datadog
, directory
, doctest
, dotenv
, ekg-core
, errors
, exceptions
, extra
, faktory
, filepath
, freckle-env
, freckle-http
, freckle-otel
, hashable
, hs-opentelemetry-api
, hs-opentelemetry-instrumentation-persistent
Expand All @@ -143,33 +132,25 @@ library
, hspec-expectations-lifted
, hspec-junit-formatter >=1.1.1.0
, http-client
, http-conduit >=2.3.5
, http-link-header
, http-types
, immortal
, lens
, memcache
, monad-control
, monad-logger
, monad-logger-aeson
, monad-validate
, mtl
, network-uri
, nonempty-containers
, openapi3
, path-pieces
, persistent
, persistent-postgresql
, postgresql-simple
, primitive
, pureMD5
, resource-pool >=0.4.0.0
, resourcet
, retry >=0.8.1.0
, safe
, scientist
, semigroupoids
, serialise
, template-haskell
, text
, time
Expand Down Expand Up @@ -223,11 +204,6 @@ test-suite spec
Freckle.App.Bugsnag.MetaDataSpec
Freckle.App.BugsnagSpec
Freckle.App.CsvSpec
Freckle.App.Http.CacheSpec
Freckle.App.HttpSpec
Freckle.App.Memcached.ServersSpec
Freckle.App.MemcachedSpec
Freckle.App.OpenTelemetry.ContextSpec
Freckle.App.Test.Http.MatchRequestSpec
Freckle.App.Test.Properties.JSONSpec
Freckle.App.Test.Properties.PathPieceSpec
Expand Down Expand Up @@ -260,28 +236,16 @@ test-suite spec
, bytestring
, cassava
, conduit
, errors
, freckle-app
, freckle-env
, hs-opentelemetry-api
, hspec
, hspec-expectations-json
, hspec-expectations-lifted
, http-types
, lens
, lens-aeson
, memcache
, monad-validate
, mtl
, nonempty-containers
, postgresql-simple
, text
, time
, unordered-containers
, vector
, wai
, wai-extra
, zlib
default-language: GHC2021
if impl(ghc >= 9.8)
ghc-options: -Wno-missing-role-annotations -Wno-missing-poly-kind-signatures
4 changes: 2 additions & 2 deletions freckle-app/library/Freckle/App/Test/Hspec/Runner.hs
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,8 @@ import Test.Hspec.JUnit.Config
, setJUnitConfigSourcePathPrefix
)
import Test.Hspec.JUnit.Config.Env (envJUnitConfig)
import qualified Test.Hspec.JUnit.Formatter as JUnit (add)
import qualified Test.Hspec.JUnit.Formatter.Env as JUnit (whenEnabled)
import Test.Hspec.JUnit.Formatter qualified as JUnit (add)
import Test.Hspec.JUnit.Formatter.Env qualified as JUnit (whenEnabled)
import Test.Hspec.Runner
( Config
, Path
Expand Down
40 changes: 15 additions & 25 deletions freckle-app/package.yaml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
name: freckle-app
version: 1.19.0.0
version: 1.20.0.0
maintainer: Freckle Education
category: Utils
github: freckle/freckle-app
Expand Down Expand Up @@ -55,7 +55,19 @@ default-extensions:
library:
source-dirs: library
reexported-modules:
- Freckle.App.Dotenv
- Freckle.App.Env
- Freckle.App.Http
- Freckle.App.Http.Cache
- Freckle.App.Http.Cache.Gzip
- Freckle.App.Http.Cache.Memcached
- Freckle.App.Http.Cache.State
- Freckle.App.Http.Header
- Freckle.App.Http.Paginate
- Freckle.App.Http.Retry
- Freckle.App.HttpSpec
- Freckle.App.Test.Http
- Freckle.App.Test.Http.MatchRequest
dependencies:
- Blammo >= 2.0.0.0
- Blammo-wai
Expand All @@ -76,16 +88,14 @@ library:
- containers
- cookie
- datadog
- directory
- doctest
- dotenv
- ekg-core
- errors
- exceptions
- extra
- faktory
- filepath
- freckle-env
- freckle-http
- freckle-otel
- hashable
- hs-opentelemetry-api
- hs-opentelemetry-instrumentation-persistent
Expand All @@ -96,33 +106,25 @@ library:
- hspec-expectations-lifted
- hspec-junit-formatter >= 1.1.1.0 # Test.Hspec.JUnit.Formatter
- http-client
- http-conduit >= 2.3.5 # addToRequestQueryString
- http-link-header
- http-types
- immortal
- lens
- memcache
- monad-control
- monad-logger
- monad-logger-aeson
- monad-validate
- mtl
- network-uri
- nonempty-containers
- openapi3
- path-pieces
- persistent
- persistent-postgresql
- postgresql-simple
- primitive
- pureMD5
- resource-pool >= 0.4.0.0 # defaultPoolConfig, etc
- resourcet
- retry >= 0.8.1.0 # retryingDynamic
- safe
- scientist
- semigroupoids
- serialise
- template-haskell
- text
- time
Expand Down Expand Up @@ -152,28 +154,16 @@ tests:
- bytestring
- cassava
- conduit
- errors
- freckle-app
- freckle-env
- hs-opentelemetry-api
- hspec
- hspec-expectations-json
- hspec-expectations-lifted
- http-types
- lens
- lens-aeson
- memcache
- monad-validate
- mtl
- nonempty-containers
- postgresql-simple
- text
- time
- unordered-containers
- vector
- wai
- wai-extra
- zlib

doctest:
main: Main.hs
Expand Down
10 changes: 9 additions & 1 deletion freckle-env/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,12 @@
## [_Unreleased_](https://github.com/freckle/freckle-app/compare/freckle-env-v0.0.0.0...main)
## [_Unreleased_](https://github.com/freckle/freckle-app/compare/freckle-env-v0.0.1.1...main)

## [v0.0.1.1](https://github.com/freckle/freckle-app/compare/freckle-env-v0.0.1.0...freckle-env-v0.0.1.1)

Drop `relude` dependency

## [v0.0.1.0](https://github.com/freckle/freckle-app/compare/freckle-env-v0.0.0.0...freckle-env-v0.0.1.0)

Added module `Freckle.App.Dotenv` (moved from `freckle-app-1.19.0.0`).

## [v0.0.0.0](https://github.com/freckle/freckle-app/tree/freckle-env-v0.0.0.0/freckle-env)

Expand Down
7 changes: 5 additions & 2 deletions freckle-env/freckle-env.cabal
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ cabal-version: 1.18
-- see: https://github.com/sol/hpack

name: freckle-env
version: 0.0.0.0
version: 0.0.1.1
synopsis: Some extension to the envparse library
description: Please see README.md
category: Environment, System
Expand All @@ -27,6 +27,7 @@ source-repository head

library
exposed-modules:
Freckle.App.Dotenv
Freckle.App.Env
other-modules:
Paths_freckle_env
Expand All @@ -46,11 +47,13 @@ library
ghc-options: -fignore-optim-changes -fwrite-ide-info -Weverything -Wno-all-missed-specialisations -Wno-missing-exported-signatures -Wno-missing-import-lists -Wno-missing-kind-signatures -Wno-missing-local-signatures -Wno-missing-safe-haskell-mode -Wno-monomorphism-restriction -Wno-prepositive-qualified-module -Wno-safe -Wno-unsafe
build-depends:
base <5
, dotenv
, envparse
, errors
, relude
, filepath
, text
, time
, unliftio
default-language: GHC2021
if impl(ghc >= 9.8)
ghc-options: -Wno-missing-role-annotations -Wno-missing-poly-kind-signatures
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,12 @@ module Freckle.App.Dotenv
, loadFile
) where

import Freckle.App.Prelude
import Prelude

import Configuration.Dotenv qualified as Dotenv
import Control.Monad ((<=<))
import Data.Foldable (traverse_)
import Data.Functor (void)
import System.FilePath (takeDirectory, (</>))
import UnliftIO.Directory (doesFileExist, getCurrentDirectory)

Expand Down
Loading

0 comments on commit 29659d4

Please sign in to comment.