You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
reference both packages in .cabalwithout specifying the version :
build-depends: base >=4.8 && <4.9
, eta-kafka-client
, eta-kafka-conduit
etlas update
etlas install --dependencies only
Resolving dependencies...
Configuring eta-kafka-conduit-0.5.1...
Building eta-kafka-conduit-0.5.1...
Failed to install eta-kafka-conduit-0.5.1
Build log ( /Users/araga/.etlas/logs/eta-0.0.9.1/eta-kafka-conduit-0.5.1-6voahL7UFAK6qLtkfQzOuM.log ):
etlas: Entering directory '/var/folders/3x/l50y6rts50j_9jqyp0fl7lqh0000gn/T/etlas-tmp-87470'
Configuring eta-kafka-conduit-0.5.1...
Preprocessing library for eta-kafka-conduit-0.5.1..
Building library for eta-kafka-conduit-0.5.1..
[1 of 3] Compiling Kafka.Conduit.Source ( src/Kafka/Conduit/Source.hs, dist/build/Kafka/Conduit/Source.jar )
src/Kafka/Conduit/Source.hs:27:34:
Couldn't match type ‘ghc-prim-0.4.0.0:GHC.CString.JByteArray’
with ‘ByteString’
This happens because etlas correctly chooses the latest version of eta-kafka-conduit (0.5.1), but for kafka-client it solves version 0.5.0 instead of the latest.
I did have 0.5.0 it etlas install'ed before, and I see it in my ~/.etlas/packages/etlas.typelead.com, but version 0.5.1 is not there despite etlas update.
So etlas somehow chooses to ignore newer version in favour of an oldest one.
Expected behaviour
I expected that etlas finds out and uses the latest version of the package when no constraints are specified in .cabal (up to etlas update time).
The default behaviour is to use the latest version that is installed already, as long as it matches the existing constraints. Do you think it may be better to have it automatically upgrade the package instead?
One way to get the behaviour you want is to use the --allow-newer flag when you install. In fact, I really want to make this flag a default since it just makes dependency resolution a whole lot simpler.
State
I have the following packages currently published for
eta
:They are registered in https://github.com/typelead/etlas-index/tree/master/packages
Steps
In a new Eta project (
etlas init
):.cabal
without specifying the version :etlas update
etlas install --dependencies only
This happens because
etlas
correctly chooses the latest version ofeta-kafka-conduit
(0.5.1), but forkafka-client
it solves version 0.5.0 instead of the latest.I did have 0.5.0 it
etlas install
'ed before, and I see it in my~/.etlas/packages/etlas.typelead.com
, but version 0.5.1 is not there despiteetlas update
.So
etlas
somehow chooses to ignore newer version in favour of an oldest one.Expected behaviour
I expected that
etlas
finds out and uses the latest version of the package when no constraints are specified in.cabal
(up toetlas update
time).Workaround
Specifying constraints in
.cabal
helps:The text was updated successfully, but these errors were encountered: