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
Move compatibility code from coursier-shared #5
Conversation
Hey @leonardehrenfried I started reviewing this today. It needs some work, but it's a great starting point. The design of sbt-compat is that of backporting sbt 1's public API on top of sbt 0.13's implementation. Therefore most things should be in @alexarchambault What in Coursier depends on coursier-shared? More specifically if I add sbt-compat to Coursier as a dependency of coursier-shared, what should I invoke in Coursier's build to test everything still compiles, for sbt 0.13 and sbt 1? Thanks. @leonardehrenfried I hope to make more progress here tomorrow. |
@dwijnand The sbt plugins of coursier depend on it (more exactly, sbt-coursier directly depends on it, and the other sbt plugins depend on sbt-coursier). So a |
@dwijnand So I'm assuming stuff like this needs to go: https://github.com/dwijnand/sbt-compat/pull/5/files#diff-fceb3b502244ebeb2e5f778a738e4cc7R8 I can definitely sort that out. The stuff I added to 0.13 all lives in the librarymanagement package, i think. Is that correct? |
I think so. Another thing I'm hesitant is a few of the implicit conversions. First there's a few implicit conversions for implicit classes, which I would assume would cause them to be in conflict. Then there's straight implicit conversions (ala JavaConversions) like |
I tried to add sbt-compat to coursier as a source dependency: lazy val `sbt-shared` = project
- .dependsOn(coreJvm, cache)
+ .dependsOn(coreJvm, cache, RootProject(file("/d/sbt-compat")))
.disablePlugins(ScriptedPlugin)
.settings(
plugin, But when running
|
I think source dependencies don't work well when sbt-coursier is enabled… |
Disabled sbt-coursier, disabled sbt-shading, commented out shading setup, commented out shaded configuration, now I'm getting:
|
Superseded by #7. Thanks @leonardehrenfried for bootstrapping this effort! |
In coursier/coursier#712 (comment) @dwijnand has asked for this code to be moved to this repository.
I'm a little unsure about how the code should be organised but I tried to follow the style of the rest.
I'm happy to rework this if it's against the spirit of the plugin.