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.
meyvn
-
The Meyvn REPL and hot reloading of Java and Kotlin code.
The Meyvn REPL supports Java and Kotlin codebases. Source files are being monitored and compiled automatically, so you can create a class in Java, import it in a Kotlin object, which you can then manipulate at the REPL in Clojure. It achieves this by doing static analysis not on source files but on compiled classes. By keeping a dependency graph, it knows which classes need to be reloaded and in what order. This technology is very useful in the context of teams inheriting legacy codebases, typically Java or Kotlin. Meyvn: https://meyvn.org Installation: https://danielsz.github.io/meyvn
-
Splitting software into multiple applications and libraries. Most practical ways!
His other ask about developing against multiple codebases, that's what snapshot artifacts are for. And then the rest of the talk is about how he's made deps.edn, which is basically Apache Ivy in Clojure. I say Ivy and not Maven because it's only focused on dependency resolution, but then of course someone makes https://github.com/danielsz/meyvn to use the deps.edn for compile and publishing too, by delegating it back to Maven 🤦.
coursier
-
babashka not working - Fatal error: Failed to create the main Isolate. (code 8)
This is an upstream page size issue, equivalent issue here: https://github.com/coursier/coursier/issues/2636
-
A new, reworked ScalaDoc is here!
I feel like this is already is the case, one can use coursier https://get-coursier.io/ or scala-cli to get started with Scala extremely fast.
-
Scala is close to having an amazing Jupyter Notebook experience for data science workflows
I had a nice workflow installing different Java versions using SDKMAN but switched to Coursier because that't what's recommended in the Almond installation guide. In order to run `jupter lab` and start up the notebook environment, I need to separately install Jupyter Lab via conda (and activate that conda environment).
-
Splitting software into multiple applications and libraries. Most practical ways!
Could a Java project use a similar scheme? Probably, but the practicality of that is dependent on programatic resolution tools like coursier which don't exist in a convenient form for Java programmers quite yet.
-
5 Useful Database Command Line Tools
Shell for issuing SQL to relational databases via JDBCIf you have Coursier installed, you can quickly connect to a demo Hypersonic database with:
-
Getting an error installing metals for lsp-mode
This seems the same thing: - https://github.com/oracle/graal/issues/4479 - https://github.com/coursier/coursier/issues/2395
-
Scala setup in Ubuntu
I use coursier to install scala. https://get-coursier.io/
-
Some Scala 3 local REPL changes
If you truly must avoid it, then take a look at coursier and ammonite: https://get-coursier.io/ and cs launch com.lihaoyi:ammonite_2.13.1:2.0.4 -M ammonite.Main
- Install Scala 3 on Mac m1
-
SBT CodeArtifact - An SBT plugin to publish artifacts to AWS CodeArtifact.
I'm digging a bit deeper on this Google Artifact Repository task and it looks like it won't. See https://github.com/coursier/coursier/issues/1987 for more details.
What are some alternatives?
tools.deps.alpha - A functional API for transitive dependency graph expansion and the creation of classpaths
sbt-groll - sbt plugin to roll the Git history
bach - 🎼 Bach Builds (on(ly)) Modules
sbt-revolver - An SBT plugin for dangerously fast development turnaround in Scala
app
sbt-dependency-graph - sbt plugin to create a dependency graph for your project
sbt-docker - Create Docker images directly from sbt
sbt-codeartifact - An sbt plugin for publishing packages to AWS CodeArtifact.
sbt-native-packager - sbt Native Packager
sbt-pack - A sbt plugin for creating distributable Scala packages.
sbt-assembly - Deploy über-JARs. Restart processes. (port of codahale/assembly-sbt)
sbt-play-scalajs - SBT plugin to use Scala.js along with any sbt-web server.