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

Support dependency resolution using coursier #47

Open
onmomo opened this issue Mar 2, 2021 · 8 comments
Open

Support dependency resolution using coursier #47

onmomo opened this issue Mar 2, 2021 · 8 comments

Comments

@onmomo
Copy link
Contributor

onmomo commented Mar 2, 2021

Currently, the plugin resolves the dependencies using ivy resolver. Our builds only work with coursier, therefore we noticed sbt failing to resolve the dependencies.

The plugin seems not maintained anymore. Any pointers on how the plugin could be improved to respect the actual sbt dependency resolution configuration?

@steinybot
Copy link

I wonder how much this could speed things up by. It just took 3:32 to run on my relatively simple project with only ~25 dependencies in total (albeit IntelliJ is showing WAY more than that). Perhaps there is something else going on.

@eed3si9n
Copy link
Member

eed3si9n commented Mar 4, 2021

  1. updateFull returns UpdateReport - https://github.com/sbt/librarymanagement/blob/v1.4.3/core/src/main/contraband-scala/sbt/librarymanagement/UpdateReport.scala
  2. UpdateReport contains ConfigurationReport for each configurations - https://github.com/sbt/librarymanagement/blob/v1.4.3/core/src/main/contraband-scala/sbt/librarymanagement/ConfigurationReport.scala
  3. ConfigurationReport details contains OrganizationArtifactReport, for all transitive dependencies, which contains ModuleReport - https://github.com/sbt/librarymanagement/blob/v1.4.3/core/src/main/contraband-scala/sbt/librarymanagement/ModuleReport.scala
  4. ModuleReport contains the license information

@mdedetrich
Copy link
Contributor

I would love for this to be implemented, doing the changes to make this work is actually quite trivial as a result of #86 however as has been posted previously, its currently blocked by coursier/coursier#1790.

@xuwei-k
Copy link
Member

xuwei-k commented Sep 6, 2024

@mdedetrich
Copy link
Contributor

mdedetrich commented Sep 7, 2024

https://gist.github.com/xuwei-k/5ea6e1cb00c425d754b3be54d93e960c 🤔

This seems to also use the default resolution mechism in SBT which is Coursier.

If so you will hit the same problem mentioned before, coursier cannot get the licenses from all types of dependencies (see coursier/coursier#1790)

@xuwei-k
Copy link
Member

xuwei-k commented Sep 7, 2024

coursier cannot get the licenses

Yes, so I have parse pom.xml manually

@mdedetrich
Copy link
Contributor

coursier cannot get the licenses

Yes, so I have parse pom.xml manually

Ah yes I see now. We can do this as a workaround but if you have figured out how to get the proper/full license info maybe it makes sense to fix it in upstream coursier?

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

5 participants