Publish到本地
发布
我们将自己定义的repository,发布到本地某一个目录,需要在build.sbt文件里加上一句:
1 2 3 4 5 6 7 8 9 10
| val spinalVersion = "1.6.0"
publishTo := Some(Resolver.file("MyRepo", file("/mnt/d/lzp/riscv/tmp/package")))
lazy val root = (project in file(".")). settings( inThisBuild(List( organization := "com.github.spinalhdl", ...
|
随后在sbt shell里运行 publish
即可将自己的package命名为MyRepo,发布的jar文件保存在/mnt/d/lzp/riscv/tmp/package
下面。
使用
要使用自己先前发布的本地package,需要在调用改package的project的build.sbt里面加上一句:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| scalaVersion := "2.12.13" val spinalVersion = "1.6.0" val vexRiscVersion = "2.0.0"
resolvers += "MyRepo" at "file:///D:/lzp/riscv/tmp/package"
libraryDependencies ++= Seq( "com.github.spinalhdl" %% "spinalhdl-core" % spinalVersion, "com.github.spinalhdl" %% "spinalhdl-lib" % spinalVersion, compilerPlugin("com.github.spinalhdl" %% "spinalhdl-idsl-plugin" % spinalVersion), "com.github.spinalhdl" %% "vexriscv" % vexRiscVersion )
|
reload之后,即可使用自己发布package。
发布后的包结构
发布后的package会放在resolver添加的Repo对应的目录下。下面通常会有三级目录:
1
| <organization>/<repo_name>_<scala_version>/<repo_version>
|
第三级目录下就是对应package的各种jar。
如果组织名本身就是分层的,比如 com.github.spinal
那么对应的也有可能分为多级目录。