如何使用凿子模块作为包装

时间:2019-10-02 09:01:08

标签: scala sbt chisel

对于斯卡拉人民来说,这肯定是一个显而易见的答案。但是对于像我这样的新scala用户,不是;)

我有两个要在第三个项目/模块中使用的具有“标准”层次结构(spi2wbmdio)的scala模块(程序包)。

我的spi2wb模块的文件目录层次结构如下:

├── build.sbt
├── Makefile
├── README.md
└── src
    ├── main
    │   └── scala
    │       └── spi2wb.scala
    └── test
        └── scala
            └── test_spi2wb.scala

在scala源代码中,我添加了包头:

  • 在src / main / scala / spi2wb.scala中
package spi2wb
  • 以及src / main / scala / mdio.scala中的
package mdio

这两个项目在我的家用PC硬盘上。我不知道如何在第三个项目中以“ import *”的方式使用这两个模块:

import mdio._
import spi2wb._

同样,这也许很简单,但是我找不到一种简单的方法来实现。

1 个答案:

答案 0 :(得分:3)

我找到了publishLocal解决方案。

在每个模块的build.sbt中,我添加了一个版本和组织:

version := "1.0-rc2" 

organization := "org.armadeus"

然后对于每个子模块,我启动了publishLocal命令:

$ sbt publishLocal

在主“顶部”模块的sbt中,我添加了依赖项:

libraryDependencies ++= Seq("org.armadeus" %% "spi2wb" % "1.1")

libraryDependencies ++= Seq("org.armadeus" %% "mdio" % "1.0-rc2")

请注意不要将双%%符号用作第一个分隔符,以使其与您的scala版本一起使用。

我不知道这是否是一个好方法,但是它正在工作。