我将Mill Build Tool用于 Scala 项目,它使用 build.sc 文件列出项目中不同模块的特定依赖项。现在,我正在尝试对项目进行 docker 化,并希望在必须复制整个存储库之前在映像中安装依赖项。我想避免这种情况,这样每次我对源代码进行小的更改时都不必安装依赖项。有什么简单的方法可以做到这一点吗?谢谢!
这是 sbt 的类似帖子:sbt only fetch dependencies
我将Mill Build Tool用于 Scala 项目,它使用 build.sc 文件列出项目中不同模块的特定依赖项。现在,我正在尝试对项目进行 docker 化,并希望在必须复制整个存储库之前在映像中安装依赖项。我想避免这种情况,这样每次我对源代码进行小的更改时都不必安装依赖项。有什么简单的方法可以做到这一点吗?谢谢!
这是 sbt 的类似帖子:sbt only fetch dependencies
更新的答案:
从 mill 0.9.3 开始支持轻松准备离线工作。
有关详细信息,请参阅拉取请求 #951。
简而言之,您可以使用prepareOffline
目标提前获取依赖项。
mill __.prepareOffline
原答案:
目前没有简单直接的方法可以做到这一点。虽然可以通过运行强制解析所有编译依赖mill __.compileClasspath
,但这也会触发所有模块间依赖的编译。
作为一种解决方法,您可以尝试生成 IntelliJ IDEA 项目文件,这也会触发依赖关系解析。之后您可以删除生成的目录(.idea/
和.idea_modules/
)。
从技术上讲,为此目的引入一个新目标非常简单fetchIvyDeps
,但目前还没有。您可能想要打开功能请求或创建拉取请求。