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

Add first-class support for Typelevel and other toolkits #2025

Merged
merged 1 commit into from Apr 28, 2023

Conversation

armanbilge
Copy link
Contributor

Closes #2018

Copy link
Member

@tgodzik tgodzik left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good! I will wait a bit to gather some more opinions since toolkit is not officially out yet. You're too fast! :D

@bishabosha
Copy link
Contributor

bishabosha commented Apr 13, 2023

I wonder if leaving this feature "open" might lead to a rush to make many "toolkits" just to have an easier import for a project, when perhaps the more general solution would be a flexible way to declare dependencies without versions (and possibly organisations?) and let Scala CLI figure out the conflicts.

I know dependencies can be declared with latest.release or latest.stable as the version, but I don't know if that handles conflicts at all

@tgodzik
Copy link
Member

tgodzik commented Apr 13, 2023

I wonder if leaving this feature "open" might lead to a rush to make many "toolkits" just to have an easier import for a project, when perhaps the more general solution would be a flexible way to declare dependencies without versions (and possibly organisations?) and let Scala CLI figure out the conflicts.

I don't think there would be a lot of people willing to invest here, but I understand the concern. Anyone else feels this might become problematic?

I know dependencies can be declared with latest.release or latest.stable as the version, but I don't know if that handles conflicts at all

I think it should handle the conflicts just as normal.

@TonioGela
Copy link

I don't think there would be a lot of people willing to invest here, but I understand the concern. Anyone else feels this might become problematic?

Also, after the development of the toolkit itself, the investment to make it automatically supported consists of just adding a new case in a pattern match. I don't think that's a lot to pay.

@lefou
Copy link

lefou commented Apr 13, 2023

I wonder whether support for "toolkit" is a special thing in general. Couldn't it be a simple pom dependency, which transitively depends on all the artifacts that make up a "toolkit"? (If this was discussed before, can you please provide a link to it?)

@bishabosha
Copy link
Contributor

I wonder whether support for "toolkit" is a special thing in general. Couldn't it be a simple pom dependency, which transitively depends on all the artifacts that make up a "toolkit"? (If this was discussed before, can you please provide a link to it?)

Yeah the current implementation is syntax sugar for adding a dependency to <organisation>::toolkit::<version>

@TonioGela
Copy link

TonioGela commented Apr 13, 2023

Yeah the current implementation is syntax sugar for adding a dependency to <organisation>::toolkit::<version>

Plus, the implementation of the TL toolkit is exactly what you described: a metalib that depends on the libraries you want to include in it. See https://github.com/typelevel/toolkit/blob/main/build.sbt#L16.

@SethTisue
Copy link
Contributor

Anyone else feels this might become problematic?

in short, no. and even if somebody did overdo it, 🤷, hard to see any real harm in it

Copy link
Member

@tgodzik tgodzik left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't see any objections to merging this, thanks @armanbilge !

@tgodzik tgodzik merged commit d4b6a56 into VirtusLab:main Apr 28, 2023
37 checks passed
@Gedochao Gedochao added the enhancement New feature or request label May 10, 2023
@Gedochao Gedochao added this to To Document in Issue Board May 10, 2023
@Gedochao Gedochao moved this from To Document to Done in Issue Board May 23, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
Development

Successfully merging this pull request may close these issues.

First-class support for "alternative" toolkits
7 participants