如何在 sbt 中重用现有任务但具有不同的设置

leo*_*lla 6 scala sbt docker sbt-native-packager

我想要重用现有任务的用例之一是:将本地构建的 Docker 映像发布到自定义注册表。

如果我可以重复使用:Docker / publishLocal但可以使用其他设置值,那就太好了。

最初我认为这样的事情是可能的:

Docker / publishMyReg := {
  dockerAlias := dockerAlias.value.withRegistryHost(Option("myregistry.foo.bar"))
  (Docker / publishLocal).value
}
Run Code Online (Sandbox Code Playgroud)

我很惊讶地发现无法使用Task不同的设置值运行或具有Task特定的设置。

引入此类自定义任务的预期方式是什么?

我一直在看,Commmand但似乎在这里不起作用。对于上面的用例,我希望能够执行以下操作:sbt my-project/docker:publishMyReg据我所知,这对于Command.