Build #1 for mergeful-persistent-0.1.0.0
| Package | mergeful-persistent-0.1.0.0 |
|---|
| Install | BuildFailed |
|---|---|
| Docs | NotTried |
| Tests | NotTried |
| Time submitted | 2021-11-21 12:31:08.232455266 UTC |
|---|---|
| Compiler | ghc-8.10.2 |
| OS | linux |
| Arch | x86_64 |
| Dependencies | base-4.14.1.0, containers-0.6.2.1, mergeful-0.2.0.0, microlens-0.4.12.0, mtl-2.2.2, persistent-2.13.2.1 |
| Flags | none |
Code Coverage
No Code Coverage was submitted for this report.
Build log
[view raw]
Resolving dependencies...
Starting base64-bytestring-1.2.1.0
Starting auto-update-0.1.6
Starting base-orphans-0.8.6
Starting base-compat-0.12.1
Building auto-update-0.1.6
Building base-orphans-0.8.6
Building base64-bytestring-1.2.1.0
Building base-compat-0.12.1
Completed auto-update-0.1.6
Starting blaze-builder-0.4.2.2
Building blaze-builder-0.4.2.2
Completed base64-bytestring-1.2.1.0
Starting data-default-class-0.1.2.0
Building data-default-class-0.1.2.0
Completed data-default-class-0.1.2.0
Starting dlist-1.0
Building dlist-1.0
Completed base-orphans-0.8.6
Starting easy-file-0.2.2
Completed blaze-builder-0.4.2.2
Starting hashable-1.3.5.0
Building easy-file-0.2.2
Completed base-compat-0.12.1
Starting indexed-traversable-0.1.2
Building hashable-1.3.5.0
Building indexed-traversable-0.1.2
Completed easy-file-0.2.2
Starting integer-logarithms-1.0.3.1
Completed dlist-1.0
Starting lift-type-0.1.0.1
Building integer-logarithms-1.0.3.1
Building lift-type-0.1.0.1
Completed hashable-1.3.5.0
Starting microlens-0.4.12.0
Completed integer-logarithms-1.0.3.1
Starting monad-loops-0.4.3
Completed lift-type-0.1.0.1
Starting network-3.1.2.5
Building microlens-0.4.12.0
Building monad-loops-0.4.3
Completed indexed-traversable-0.1.2
Starting old-locale-1.0.0.7
Building old-locale-1.0.0.7
Completed monad-loops-0.4.3
Starting path-pieces-0.2.1
Completed old-locale-1.0.0.7
Starting primitive-0.7.3.0
Building path-pieces-0.2.1
Building primitive-0.7.3.0
Building network-3.1.2.5
Completed microlens-0.4.12.0
Starting silently-1.2.5.2
Building silently-1.2.5.2
Completed path-pieces-0.2.1
Starting split-0.2.3.4
Building split-0.2.3.4
Completed silently-1.2.5.2
Starting splitmix-0.1.0.4
Building splitmix-0.1.0.4
Completed split-0.2.3.4
Starting stm-chans-3.0.0.6
Building stm-chans-3.0.0.6
Completed splitmix-0.1.0.4
Starting tagged-0.8.6.1
Building tagged-0.8.6.1
Completed stm-chans-3.0.0.6
Starting th-abstraction-0.4.3.0
Building th-abstraction-0.4.3.0
Completed tagged-0.8.6.1
Starting transformers-compat-0.7.1
Building transformers-compat-0.7.1
Completed network-3.1.2.5
Starting unix-compat-0.5.3
Building unix-compat-0.5.3
Completed th-abstraction-0.4.3.0
Starting unliftio-core-0.2.0.1
Building unliftio-core-0.2.0.1
Completed transformers-compat-0.7.1
Starting validity-0.12.0.0
Completed primitive-0.7.3.0
Starting zlib-0.6.2.3
Building validity-0.12.0.0
Completed unix-compat-0.5.3
Starting cookie-0.4.5
Building zlib-0.6.2.3
Building cookie-0.4.5
Completed unliftio-core-0.2.0.1
Starting blaze-markup-0.8.2.8
Building blaze-markup-0.8.2.8
Completed validity-0.12.0.0
Starting unordered-containers-0.2.15.0
Completed cookie-0.4.5
Starting time-compat-1.9.6.1
Building unordered-containers-0.2.15.0
Building time-compat-1.9.6.1
Completed blaze-markup-0.8.2.8
Starting data-fix-0.3.2
Building data-fix-0.3.2
Completed zlib-0.6.2.3
Starting case-insensitive-1.2.1.0
Building case-insensitive-1.2.1.0
Completed time-compat-1.9.6.1
Starting async-2.2.4
Completed data-fix-0.3.2
Starting OneTuple-0.3.1
Completed case-insensitive-1.2.1.0
Starting old-time-1.1.0.3
Building async-2.2.4
Building OneTuple-0.3.1
Building old-time-1.1.0.3
Completed async-2.2.4
Starting random-1.2.1
Completed OneTuple-0.3.1
Starting distributive-0.6.2.1
Building random-1.2.1
Building distributive-0.6.2.1
Completed old-time-1.1.0.3
Starting th-lift-0.8.2
Completed unordered-containers-0.2.15.0
Starting transformers-base-0.4.6
Building th-lift-0.8.2
Completed distributive-0.6.2.1
Starting vector-0.12.3.1
Building transformers-base-0.4.6
Building vector-0.12.3.1
Completed transformers-base-0.4.6
Starting scientific-0.3.7.0
Completed th-lift-0.8.2
Starting resourcet-1.2.4.3
Building scientific-0.3.7.0
Building resourcet-1.2.4.3
Completed resourcet-1.2.4.3
Starting validity-time-0.4.0.0
Building validity-time-0.4.0.0
Completed random-1.2.1
Starting validity-containers-0.5.0.4
Completed scientific-0.3.7.0
Starting blaze-html-0.9.1.2
Building validity-containers-0.5.0.4
Building blaze-html-0.9.1.2
Completed validity-time-0.4.0.0
Starting http-types-0.12.3
Building http-types-0.12.3
Completed validity-containers-0.5.0.4
Starting unliftio-0.2.20
Building unliftio-0.2.20
Completed http-types-0.12.3
Starting typed-process-0.2.7.0
Building typed-process-0.2.7.0
Completed typed-process-0.2.7.0
Starting base-compat-batteries-0.12.1
Building base-compat-batteries-0.12.1
Completed unliftio-0.2.20
Starting unix-time-0.4.7
Building unix-time-0.4.7
Completed base-compat-batteries-0.12.1
Starting comonad-5.0.8
Building comonad-5.0.8
Completed unix-time-0.4.7
Starting monad-control-1.0.3.1
Building monad-control-1.0.3.1
Completed blaze-html-0.9.1.2
Starting uuid-types-1.0.5
Building uuid-types-1.0.5
Completed monad-control-1.0.3.1
Starting streaming-commons-0.2.2.2
Building streaming-commons-0.2.2.2
Completed comonad-5.0.8
Starting attoparsec-0.14.2
Building attoparsec-0.14.2
Completed uuid-types-1.0.5
Starting fast-logger-3.0.5
Building fast-logger-3.0.5
Completed fast-logger-3.0.5
Starting lifted-base-0.2.3.12
Building lifted-base-0.2.3.12
Completed streaming-commons-0.2.2.2
Starting bifunctors-5.5.11
Building bifunctors-5.5.11
Completed lifted-base-0.2.3.12
Completed attoparsec-0.14.2
Starting attoparsec-iso8601-1.0.2.0
Completed vector-0.12.3.1
Starting th-lift-instances-0.1.18
Starting vector-algorithms-0.8.0.4
Building attoparsec-iso8601-1.0.2.0
Building th-lift-instances-0.1.18
Building vector-algorithms-0.8.0.4
Completed attoparsec-iso8601-1.0.2.0
Starting resource-pool-0.2.3.2
Completed th-lift-instances-0.1.18
Starting http-api-data-0.4.3
Building resource-pool-0.2.3.2
Building http-api-data-0.4.3
Completed resource-pool-0.2.3.2
Completed bifunctors-5.5.11
Starting assoc-1.0.2
Building assoc-1.0.2
Completed http-api-data-0.4.3
Completed vector-algorithms-0.8.0.4
Starting mono-traversable-1.0.15.3
Completed assoc-1.0.2
Starting these-1.1.1.1
Building mono-traversable-1.0.15.3
Building these-1.1.1.1
Completed these-1.1.1.1
Starting strict-0.4.0.1
Building strict-0.4.0.1
Completed strict-0.4.0.1
Starting aeson-1.5.6.0
Building aeson-1.5.6.0
Completed mono-traversable-1.0.15.3
Starting conduit-1.3.4.2
Building conduit-1.3.4.2
Completed conduit-1.3.4.2
Starting conduit-extra-1.3.5
Building conduit-extra-1.3.5
Completed conduit-extra-1.3.5
Starting monad-logger-0.3.36
Building monad-logger-0.3.36
Completed aeson-1.5.6.0
Starting mergeful-0.2.0.0
Building mergeful-0.2.0.0
Completed monad-logger-0.3.36
Starting persistent-2.13.2.1
Building persistent-2.13.2.1
Completed mergeful-0.2.0.0
Completed persistent-2.13.2.1
Downloading mergeful-persistent-0.1.0.0
Downloaded mergeful-persistent-0.1.0.0
Starting mergeful-persistent-0.1.0.0
Building mergeful-persistent-0.1.0.0
Failed to install mergeful-persistent-0.1.0.0
Build log ( /home/builder/.cabal/logs/ghc-8.10.2/mergeful-persistent-0.1.0.0-6bZJGqD4Cg9AI6aEmwTz1X.log ):
cabal: Entering directory '/tmp/cabal-tmp-22250/mergeful-persistent-0.1.0.0'
Configuring mergeful-persistent-0.1.0.0...
Preprocessing library for mergeful-persistent-0.1.0.0..
Building library for mergeful-persistent-0.1.0.0..
[1 of 2] Compiling Data.Mergeful.Persistent ( src/Data/Mergeful/Persistent.hs, dist/build/Data/Mergeful/Persistent.o, dist/build/Data/Mergeful/Persistent.dyn_o )
src/Data/Mergeful/Persistent.hs:207:19: error:
" Constructor ClientSyncProcessor does not have the required strict field(s): clientSyncProcessorSyncMergedConflict
" In the expression: ClientSyncProcessor {..}
In an equation for clientSyncProcessor:
clientSyncProcessor
serverIdField
serverTimeField
changedField
deletedField
makeSyncedClientThing
unmakeSyncedClientThing
recordUpdates
= ClientSyncProcessor {..}
where
clientSyncProcessorQuerySyncedButChangedValues ::
Set sid -> SqlPersistT m (Map sid (Timed a))
clientSyncProcessorQuerySyncedButChangedValues si
= fmap
(M.fromList
. map (\ (Entity _ r) -> unmakeSyncedClientThing r) . catMaybes)
$ forM (S.toList si) $ \ sid -> selectFirst ... []
clientSyncProcessorSyncClientAdded ::
Map (Key record) (ClientAddition sid) -> SqlPersistT m ()
clientSyncProcessorSyncClientAdded m
= forM_ (M.toList m)
$ \ (cid, ClientAddition {..}) -> update cid ...
....
|
207 | recordUpdates = ClientSyncProcessor {..}
| ^^^^^^^^^^^^^^^^^^^^^^^^
src/Data/Mergeful/Persistent.hs:419:26: error:
" Couldn't match type a
-> transformers-0.5.6.2:Control.Monad.Trans.Reader.ReaderT
backend0 m0 (Maybe (Key record))
with transformers-0.5.6.2:Control.Monad.Trans.Reader.ReaderT
SqlBackend m (Key record)
Expected type: a -> SqlPersistT m (Key record)
Actual type: cid
-> a
-> transformers-0.5.6.2:Control.Monad.Trans.Reader.ReaderT
backend0 m0 (Maybe (Key record))
" Probable cause: serverSyncProcessorAddItem is applied to too few arguments
In the serverSyncProcessorAddItem field of a record
In the expression:
ServerSyncProcessor {..} ::
ServerSyncProcessor cid (Key record) a (SqlPersistT m)
In an equation for serverSyncProcessor:
serverSyncProcessor
serverTimeField
filters
unmakeFunc
makeFunc
recordUpdates
= ServerSyncProcessor {..} ::
ServerSyncProcessor cid (Key record) a (SqlPersistT m)
where
serverSyncProcessorRead
= M.fromList . map (\ (Entity i r) -> (i, unmakeFunc r))
<$> selectList filters []
serverSyncProcessorAddItem cid a
= fmap Just $ insert $ makeFunc cid a
serverSyncProcessorChangeItem si st a
= update si $ (serverTimeField =. st) : recordUpdates a
serverSyncProcessorDeleteItem = delete
" Relevant bindings include
serverSyncProcessorRead :: transformers-0.5.6.2:Control.Monad.Trans.Reader.ReaderT
SqlBackend m (Map (Key record) (Timed a))
(bound at src/Data/Mergeful/Persistent.hs:421:7)
serverSyncProcessorAddItem :: cid
-> a
-> transformers-0.5.6.2:Control.Monad.Trans.Reader.ReaderT
backend0 m0 (Maybe (Key record))
(bound at src/Data/Mergeful/Persistent.hs:422:7)
serverSyncProcessorChangeItem :: Key record
-> ServerTime
-> a
-> transformers-0.5.6.2:Control.Monad.Trans.Reader.ReaderT
SqlBackend m ()
(bound at src/Data/Mergeful/Persistent.hs:423:7)
serverSyncProcessorDeleteItem :: Key record
-> transformers-0.5.6.2:Control.Monad.Trans.Reader.ReaderT
SqlBackend m ()
(bound at src/Data/Mergeful/Persistent.hs:424:7)
recordUpdates :: a -> [Update record]
(bound at src/Data/Mergeful/Persistent.hs:418:3)
makeFunc :: cid -> a -> record
(bound at src/Data/Mergeful/Persistent.hs:417:3)
(Some bindings suppressed; use -fmax-relevant-binds=N or -fno-max-relevant-binds)
|
419 | ServerSyncProcessor {..} :: ServerSyncProcessor cid (Key record) a (SqlPersistT m)
| ^^
src/Data/Mergeful/Persistent.hs:506:40: error:
" Couldn't match type a
-> transformers-0.5.6.2:Control.Monad.Trans.Reader.ReaderT
SqlBackend m (Maybe sid)
with transformers-0.5.6.2:Control.Monad.Trans.Reader.ReaderT
SqlBackend m sid
Expected type: a -> SqlPersistT m sid
Actual type: cid
-> a
-> transformers-0.5.6.2:Control.Monad.Trans.Reader.ReaderT
SqlBackend m (Maybe sid)
" Probable cause: serverSyncProcessorAddItem is applied to too few arguments
In the serverSyncProcessorAddItem field of a record
In the expression:
ServerSyncProcessor {..} ::
ServerSyncProcessor cid sid a (SqlPersistT m)
In an equation for serverSyncWithCustomIdProcessor:
serverSyncWithCustomIdProcessor
idField
uuidGen
serverTimeField
filters
unmakeFunc
makeFunc
recordUpdates
= ServerSyncProcessor {..} ::
ServerSyncProcessor cid sid a (SqlPersistT m)
where
serverSyncProcessorRead
= M.fromList . map (\ (Entity _ record) -> unmakeFunc record)
<$> selectList filters []
serverSyncProcessorAddItem cid a
= do uuid <- uuidGen
....
serverSyncProcessorChangeItem si st a
= updateWhere [idField ==. si]
$ (serverTimeField =. st) : recordUpdates a
serverSyncProcessorDeleteItem si = deleteWhere [idField ==. si]
" Relevant bindings include
serverSyncProcessorRead :: transformers-0.5.6.2:Control.Monad.Trans.Reader.ReaderT
SqlBackend m (Map sid (Timed a))
(bound at src/Data/Mergeful/Persistent.hs:508:7)
serverSyncProcessorAddItem :: cid
-> a
-> transformers-0.5.6.2:Control.Monad.Trans.Reader.ReaderT
SqlBackend m (Maybe sid)
(bound at src/Data/Mergeful/Persistent.hs:509:7)
serverSyncProcessorChangeItem :: sid
-> ServerTime
-> a
-> transformers-0.5.6.2:Control.Monad.Trans.Reader.ReaderT
SqlBackend m ()
(bound at src/Data/Mergeful/Persistent.hs:513:7)
serverSyncProcessorDeleteItem :: sid
-> transformers-0.5.6.2:Control.Monad.Trans.Reader.ReaderT
SqlBackend m ()
(bound at src/Data/Mergeful/Persistent.hs:514:7)
recordUpdates :: a -> [Update record]
(bound at src/Data/Mergeful/Persistent.hs:506:3)
makeFunc :: cid -> sid -> a -> record
(bound at src/Data/Mergeful/Persistent.hs:505:3)
(Some bindings suppressed; use -fmax-relevant-binds=N or -fno-max-relevant-binds)
|
506 | recordUpdates = ServerSyncProcessor {..} :: ServerSyncProcessor cid sid a (SqlPersistT m)
| ^^
cabal: Leaving directory '/tmp/cabal-tmp-22250/mergeful-persistent-0.1.0.0'
cabal: Error: some packages failed to install:
mergeful-persistent-0.1.0.0-6bZJGqD4Cg9AI6aEmwTz1X failed during the building
phase. The exception was:
ExitFailure 1
Test log
No test log was submitted for this report.