4

我将Mill Build Tool用于 Scala 项目,它使用 build.sc 文件列出项目中不同模块的特定依赖项。现在,我正在尝试对项目进行 docker 化,并希望在必须复制整个存储库之前在映像中安装依赖项。我想避免这种情况,这样每次我对源代码进行小的更改时都不必安装依赖项。有什么简单的方法可以做到这一点吗?谢谢!

这是 sbt 的类似帖子:sbt only fetch dependencies

4

1 回答 1

3

更新的答案:

从 mill 0.9.3 开始支持轻松准备离线工作。

有关详细信息,请参阅拉取请求 #951

简而言之,您可以使用prepareOffline目标提前获取依赖项。

mill __.prepareOffline

原答案:

目前没有简单直接的方法可以做到这一点。虽然可以通过运行强制解析所有编译依赖mill __.compileClasspath,但这也会触发所有模块间依赖的编译。

作为一种解决方法,您可以尝试生成 IntelliJ IDEA 项目文件,这也会触发依赖关系解析。之后您可以删除生成的目录(.idea/.idea_modules/)。

从技术上讲,为此目的引入一个新目标非常简单fetchIvyDeps,但目前还没有。您可能想要打开功能请求或创建拉取请求。

于 2020-07-10T21:57:55.157 回答