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
Compiler plugins are fully part of the Scala library ecosystem. Some of them like better-monadic-for are widely used and much valuable.
This should be better reflected in Scaladex, by indexing compiler plugins, enabling users to search them.
Identified obstacles
1. Binary version
Currently compiler plugins are filtered out by the ScalaVersion.Parser because their artifacts binary version is the full Scala version. Example: the binary version of kind-projector_2.13.8 is 2.13.8 instead of 2.13.
We need to accept those binary versions but we should not make them appear in the search filters or in the artifacts dropdown list.
2. Platform type
It would be good to introduce a new Platform type for compiler plugins in which the full Scala version would be the platform version.
However how can we accurately detect if an artifact is an compiler plugin or not from the pom file?
Indeed some compiler plugins binary version is the full Scala version but not all of them (ex: better-monadic-for_2.13). Also some other artifacts (not compiler plugins) may use the full Scala version as well. Compiler plugins depend on the compiler artifact but some other artifacts do as well.
Implementation Guidelines
Find a way to accurately detect if an artifact is a compiler plugin and validate it on the current set of libraries in Scaladex
Introduce a ScalaCompilerPlugin subclass of Platform
Index a compiler plugin from its pom files
Adapt the front page, search page and project page to include the new compiler plugin platform.
Expectations
The number of false positive (false compiler plugins) should be low
The indexing of a compiler plugin should be tested
The search filters and project page drop-downs should be usable (not too verbose).
The text was updated successfully, but these errors were encountered:
Motivation
Compiler plugins are fully part of the Scala library ecosystem. Some of them like better-monadic-for are widely used and much valuable.
This should be better reflected in Scaladex, by indexing compiler plugins, enabling users to search them.
Identified obstacles
1. Binary version
Currently compiler plugins are filtered out by the
ScalaVersion.Parser
because their artifacts binary version is the full Scala version. Example: the binary version ofkind-projector_2.13.8
is2.13.8
instead of2.13
.We need to accept those binary versions but we should not make them appear in the search filters or in the artifacts dropdown list.
2. Platform type
It would be good to introduce a new
Platform
type for compiler plugins in which the full Scala version would be the platform version.However how can we accurately detect if an artifact is an compiler plugin or not from the pom file?
Indeed some compiler plugins binary version is the full Scala version but not all of them (ex:
better-monadic-for_2.13
). Also some other artifacts (not compiler plugins) may use the full Scala version as well. Compiler plugins depend on the compiler artifact but some other artifacts do as well.Implementation Guidelines
ScalaCompilerPlugin
subclass ofPlatform
Expectations
The text was updated successfully, but these errors were encountered: