Enviar la versión del módulo como argumento de línea de comando a SBT

Estoy usando TeamCity para ejecutar un script bash que utiliza SBT Native Packager para publicar una imagen en Docker. La porción sbt del script bash se ve así:

sbt -DdockerRepository=$repo -DpackageName=$packageName -D myproject/docker:publish

Quiero pasar el número de compilación de TeamCity como número de versión a mi paquete. Hoy especifico el número de versión manualmente en la configuración de build.sbt:

settings(
  version := "0.20",
  ....,
  dockerBaseImage := "example.com:5000/linux/java8:latest",
  dockerRepository in Docker := Some("example.com/myoldrepo"),
  dockerUpdateLatest := true'
)

Quiero poder hacerlo así:

activator -Dversion=0.21 -DpackageName=myproject -D myproject/docker:publish

Pero esto no parece funcionar. Sin embargo, anular el DockerRepository como lo hago arriba está funcionando.

¿Cómo puedo pasar mi número de versión deseado a SBT desde la línea de comando / TeamCity?

Respuestas a la pregunta(2)

Su respuesta a la pregunta