sbt-native-image
sbt-native-packager
Our great sponsors
sbt-native-image | sbt-native-packager | |
---|---|---|
5 | 5 | |
245 | 1,581 | |
1.2% | -0.1% | |
3.4 | 6.8 | |
5 months ago | 4 days ago | |
Scala | Scala | |
- | BSD 2-clause "Simplified" License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
sbt-native-image
-
Scala.js AWS Lambda, using Scala 3
Take a look at sbt-native-image or sbt-native-packager for building the native image.
-
GraalVM native-image with Scala 3 reflection hell
The reason seems to be Scala 3's new encoding for lazy vals, where a reflective access to a variable called bitmap takes place. To demonstrate this, I took the http4s g8 template, set it up with Scala 3.1.0, added sbt native-image, started the nativeImageRunAgent and ran a single request against GET /joke. After stopping the server, the native-image run agent generated the reflective configs that are required for this path of execution. Comparing the generated Scala 2.13 with the Scala 3 configs, yields a bloated version for Scala 3 that contains these additional rules:
-
Is Scala and Play Framework dying?
Sbt plugin: https://github.com/scalameta/sbt-native-image
-
Native Image Compilation for A Purely Functional Example Application
IIRC, the sbt-native-image plugin can abstract that away, too: https://github.com/scalameta/sbt-native-image#nativeimagerunagent https://github.com/scalameta/sbt-native-image
-
SBT error when running package application: java.lang.RuntimeException: No main class detected.
Assembly, however, has some disadvantages so you may also want to look into other alternatives like sbt-native-packager. You may even want to produce a binary using sbt-native-image (which uses GraalVM under the hood) so your users do not need to install anything at all, not even a JRE.
sbt-native-packager
-
I had a great experience with Scala and hopefully it will get more popular
once you outgrow scala-cli, you should know sbt has a lot of plugins ( some might say it's ecosystem is the only thing keeping it relevant....) like sbt-native-packager which again does the heavy lifting for you
-
Asking for help to improve codepreview
So far, we have been working mainly with projects that use https://github.com/sbt/sbt-native-packager, still, projects building fat jars should also work smoothly.
-
I removed sbt-assembly and sbt-buildinfo from my project.
You should use sbt-jib. (You shouldn't use sbt-native-packager either, it doesn't work well in this regard: [1], [2].)
-
Why Scala is way slower than python ... and than Java too in leetcode?
As others have stated, this is mainly due to the nature of the JVM. You can try using GraalVM however, which basically complies JVM bytecode to native-code avoiding startup time issues, sbt-native-packager lets you do this quite easily.
-
SBT error when running package application: java.lang.RuntimeException: No main class detected.
IMO don't take any of this advice and use https://github.com/sbt/sbt-native-packager
What are some alternatives?
zio-microservice - ZIO-powered microservices via HTTP and other protocols.
sbt-assembly - Deploy über-JARs. Restart processes. (port of codahale/assembly-sbt)
sbt-pack - A sbt plugin for creating distributable Scala packages.
LogoRRR - A simple and straightforward log viewer that displays the events of interest in a clear and concise visual manner so that you can identify them faster.
coursier - Pure Scala Artifact Fetching
aws-sdk-scalajs-facade - A complete set of Scala.js type facade for aws-sdk-js
xsbt-web-plugin - Servlet support for sbt
Finatra - Fast, testable, Scala services built on TwitterServer and Finagle
sbt-jni - SBT Plugin to ease working with JNI
feral - Feral cats are homeless, feral functions are serverless
sbt-release - A release plugin for sbt