Benoit Tellier created JAMES-3527:
-------------------------------------
Summary: Fasten scala project compilation
Key: JAMES-3527
URL: https://issues.apache.org/jira/browse/JAMES-3527
Project: James Server
Issue Type: Improvement
Reporter: Benoit Tellier
James is historically written in Java, but Scala, a more modern JVM language is
used for some specific code parts.
See
https://github.com/apache/james-project/blob/master/src/adr/0024-polyglot-strategy.md
Scala however comes with a price: compilation time. For instance JMAP RFC-8621,
a lot of logs seem to incriminate the use of the refined library (that enables
to push input validation to the type system).
Complaining about the topic on gitter :
{code:java}
Tellier Benoit
@chibenwa
20:22
Scala solves all that BTW
:thumbsup: :-)
Except for the compilation time, I'm now all in for scala!
Tellier Benoit
@chibenwa
20:23
For instance JMAP RFC8621 takes several minutes to compile. Maybe refined do
not help...
Matthieu Baechler
@mbaechler
20:25
Probably because Refined uses Shapeless, It could make sense to look for a
Magnolia-based alternative (it's some order of magnitudes faster)
Tellier Benoit
@chibenwa
20:47
Something like https://github.com/spotify/magnolify ? magnolify-refined
Maybe we should record this in a JIRA...
{code}
We should investigate if alternatives like https://github.com/spotify/magnolify
heps us regarding compile time.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]