Equality in Scala


I gave a talk at ScalaMatsuri on 'Equality in Scala'

sbt 1.4.0


Hi everyone. On behalf of the sbt project, I am happy to announce sbt 1.4.0. This is the fourth feature release of sbt 1.x, a binary compatible release focusing on new features. sbt 1.x is released under Semantic Versioning, and the plugins are expected to work throughout the 1.x series.

The headline features of sbt 1.4.0 are:

  • build server protocol (BSP) support
  • sbtn: a native thin client for sbt
  • build caching
  • ThisBuild / versionScheme to take the guessing out of eviction warning

How to upgrade

Download the official sbt launcher from SDKMAN or download from https://github.com/sbt/sbt/releases/tag/v1.4.0. This installer includes the sbtn binary.

In addition, the sbt version used for your build is upgraded by putting the following in project/build.properties:


This mechanism allows that sbt 1.4.0 is used only for the builds that you want.

metropolitan house supply (2020.09 mixtape)


we prove that #BlackLivesMatter by paving a way towards every Black and Indigenous man, woman, non-binary person be a home-owner — and not like the "project," but river-view condos with access to parks, commuting route, education, cafes, and Whole Foods that they are 51% white/asian.

Spotify: https://open.spotify.com/playlist/62RqkwMDQ6k8o88fjE7Oc2?si=8tT0-NnoRUK3...
YouTube: https://www.youtube.com/playlist?list=PLSUh6oJ5ZotVrO_XPe6q_yrfcpYFegLwG
4h 29m

parallel cross building sandwich

  • sbt-projectmatrix enables parallel building of multiple Scala versions and JVM/JS/Native cross building.
  • sbt-projectmatrix 0.6.0 simplifies the generated project ID.
  • sbt-projectmatrix 0.6.0 enables Scala 2.13-3.0 interoperability within a build.

joining Twitter


I'm excited to announce that I'm joining Twitter's Build Team to work on the next generation of efficient build systems supporting thousands of Twitter developers worldwide. Today's my first day.

This is the team that developed monorepo build tool Pants, and is transitioning to migrate the flock to Bazel. This presented a unique opportunity for me to work with a team of people passionate about developer experience and productivity, and I'm looking forward to getting to know the team, and learning the new challenges.

I would also like to thank everyone who reached out to me during this transition period, often on DM, to check up on me, to stick up for me for an opportunity in their organization, and offering me projects to work on. You kept my spirits high. Thank you! Since my mandatory sabbatical started in April, I got to work on some of the projects that I previously didn't have time like build caching and Selective functor, and got to collaborate with wonderful folks at Scala Center, so it worked out in the end.

EE Build team is still hiring for "San Francisco, Remote US" location, so if that sounds interesting to you, I'd happy to talk to you.

sbt-buildinfo 0.10.0


I'm happy to announce sbt-buildinfo 0.10.0. sbt-buildinfo is a small sbt plugin to generate BuildInfo object from your build definitions.

Since the last feature release was in 2018, there have been some pending contributions. I think the important thing is that it compiles with -Xlint and -Xfatal-warnings on both Scala 2.13.3 and 2.12.12. Note that sbt-buildinfo 0.10.0 changed to generate scala.collection.immutable.Seq(...) instead of scala.collection.Seq(...).

auto publish sbt plugin from Travis CI


In this post, we'll try to automate the release of an sbt plugin using Ólafur's olafurpg/sbt-ci-release. The README of sbt-ci-release covers the use case for a library published to Sonatype OSS. Read it thoroughly since this post will skip over the details that do not change for publishing sbt plugins.

Automated release in general is a best practice, but there's one benefit specifically for sbt plugin releases. Using this setup allows multiple people to share the authorization to release an sbt plugin without adding them to Bintray sbt organization. This is useful for plugins maintained at work.

Defx: file explorer plugin for Neovim

The combination of fuzzy searching (fzf, Command-T, Denite etc) and file explorer are great. That's pretty much what you get when you open Sublime Text or VS Code.

This post is my attempt to configure Neovim so I can get a nice tree-view style file explorer.

sbt 1.3.13


I'm happy to announce sbt 1.3.13 patch release. Full release note is here - https://github.com/sbt/sbt/releases/tag/v1.3.13.

Special thanks to Scala Center. It takes time to review bug reports, pull requests, make sure contributions land to the right places, and Scala Center sponsored me to do maintainer tasks for sbt during June.

Syndicate content