Factor out storeFile, unstoreFile, and verifyFile into a MTL style class. This class can provide its own Id type, and never returns FilePaths directly, which should allow a memory-only variant for testing purposes later. Control of storage ids now belongs to MonadFileStore. It was not really the place of the data layer (which is currently a set of SQL queries) to suddenly do one arbitrary file IO operation.
74 lines
1.2 KiB
YAML
74 lines
1.2 KiB
YAML
name: ca-store
|
|
version: 0.0.0
|
|
license: GPL-3.0-or-later
|
|
category: Text
|
|
|
|
language: GHC2021
|
|
|
|
default-extensions:
|
|
- LambdaCase
|
|
- DeriveAnyClass
|
|
- DeriveGeneric
|
|
- DerivingStrategies
|
|
- DerivingVia
|
|
- ScopedTypeVariables
|
|
- TypeApplications
|
|
- TypeFamilies
|
|
|
|
ghc-options:
|
|
- -Wall
|
|
- -Wcompat
|
|
- -Werror
|
|
- -fshow-warning-groups
|
|
- -Wincomplete-record-updates
|
|
- -Wincomplete-uni-patterns
|
|
- -Wredundant-constraints
|
|
- -O2
|
|
- -optc-O3
|
|
- -optc-ffast-math
|
|
- -fexcess-precision
|
|
- -j
|
|
- -fPIC
|
|
|
|
library:
|
|
when:
|
|
- condition: false
|
|
other-modules: Paths_ca_store
|
|
source-dirs: "src"
|
|
dependencies:
|
|
- barbies
|
|
- base
|
|
- bytestring
|
|
- cryptohash
|
|
- directory
|
|
- filepath
|
|
- mtl
|
|
- optparse-applicative
|
|
- recursion-schemes
|
|
- sqlite-simple
|
|
- transformers
|
|
exposed-modules:
|
|
- CAStore.Command
|
|
- CAStore.Command.Autocomplete
|
|
- CAStore.Command.Type
|
|
- CAStore.FileStore
|
|
- CAStore.Config
|
|
- CAStore.Config.CLI
|
|
- CAStore.Config.Type
|
|
- CAStore.Program
|
|
- CAStore.Program.Internal
|
|
- CAStore.Program.IO.Text
|
|
- CAStore.Program.Storage
|
|
- CAStore.Type
|
|
- Data.List.Extra
|
|
|
|
executables:
|
|
ca-store:
|
|
main: "Main.hs"
|
|
source-dirs: "app"
|
|
dependencies:
|
|
- base
|
|
- ca-store
|
|
ghc-options:
|
|
- -threaded
|
|
- -rtsopts=ignoreAll
|