Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Make slick and shapeless a runtime dependency #16

Open
d6y opened this issue Mar 15, 2017 · 1 comment
Open

Make slick and shapeless a runtime dependency #16

d6y opened this issue Mar 15, 2017 · 1 comment

Comments

@d6y
Copy link
Contributor

d6y commented Mar 15, 2017

The project build depends on slick and shapeless, naturally. But should they be run-time dependencies to allow the end user to make minor version changes?

Not sure what the best practice is here. For example, as of right now while I'm writing this issue, we've published slickless for Slick 3.2.0-M2. If I want to use this with 3.2.0 final I see:

[warn] There may be incompatibilities among your library dependencies.
[warn] Here are some of the libraries that were evicted:
[warn] 	* com.typesafe.slick:slick_2.12:3.2.0-M2 -> 3.2.0
[warn] Run 'evicted' to see detailed eviction warnings

I think we can mark these lines as % runtime (or something like that):

https://github.com/underscoreio/slickless/blob/master/build.sbt#L21-L22

I'll do that, unless anyone wants to point to th error of my ways :-)

@margussipria
Copy link

Eviction isn't problem, you can make changes to version as long API does not change with version change. Adding them as Runtime would mean that everybody must declare dependencies and their version, now upgrading is optional.

For most Scala projects dependencies aren't declared as runtime.

I like to declare every dependency separately so I can use https://github.com/rtimush/sbt-updates plugin to see updates (and then check agains security update notices). I have 30 evection notices, best example I can give is this: org.slf4j:slf4j-api:(1.7.21, 1.6.1, 1.7.7, 1.7.22, 1.7.10, 1.7.16, 1.7.12) -> 1.7.24 over 20 packages depend on this with different versions 😄

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants