如何在Mill的ivyDeps中配置withSources、withJavadoc及测试依赖
问题1:为指定依赖添加源码/Javadoc的方法
Mill的Ivy依赖原生支持链式调用.withSources()和.withJavadoc()方法实现和SBT完全等价的效果,两个方法可以单独调用也可以叠加调用,不需要使用你找到的.withConfiguration()方法。
对应你的示例改造后的配置如下:
override def ivyDeps = Agg( ivy"joda-time:joda-time:${joda_timeV}".withJavadoc(), ivy"com.lihaoyi:::scalatags:${scalatagsV}".withSources().withJavadoc(), ivy"com.lihaoyi::upickle:${upickleV}".withSources().withJavadoc(), ivy"com.lihaoyi:::autowire:${autowireV}".withJavadoc(), ivy"com.lihaoyi:::scalarx:${scalarxV}".withSources() )
问题2:测试范围依赖的配置方法
Mill没有在主模块依赖中直接指定测试范围的语法,你需要在测试模块中单独配置专属的ivyDeps,该配置的依赖只会在测试环节生效,等价于SBT中添加% "test"后缀的效果。
常规的完整配置示例如下:
import mill._, scalalib._ object MyProject extends ScalaModule { // 主模块依赖,全局生效 override def ivyDeps = Agg( ivy"joda-time:joda-time:${joda_timeV}".withJavadoc(), ivy"com.lihaoyi:::scalatags:${scalatagsV}".withSources().withJavadoc(), ivy"com.lihaoyi::upickle:${upickleV}".withSources().withJavadoc(), ivy"com.lihaoyi:::autowire:${autowireV}".withJavadoc(), ivy"com.lihaoyi:::scalarx:${scalarxV}".withSources() ) object test extends TestModule.ScalaTest { // 测试模块专属依赖,仅测试环节生效 override def ivyDeps = Agg( ivy"org.scalatestplus.play::scalatestplus-play:${scalatestplus_playV}".withSources().withJavadoc() ) } }
内容的提问来源于stack exchange,提问作者user4955663
相关产品推荐
相关产品推荐

