Merge pull request #10 from typingArtist/sbt-mill-unification

Sbt mill unification
This commit is contained in:
Dolu1990
2021-06-14 19:34:46 +02:00
committed by GitHub
6 changed files with 60 additions and 11 deletions

3
.gitignore vendored
View File

@@ -20,6 +20,9 @@ project/plugins/project/
.idea
out
# Metals
.metals
# Eclipse
bin/
.classpath

1
.mill-version Normal file
View File

@@ -0,0 +1 @@
0.9.8

View File

@@ -109,3 +109,31 @@ And do the following :
Normally, this must generate output file ```MyTopLevel.v```.
## Mill Support (Experimental)
This Spinal Base Project contains support for the [Mill build tool](https://com-lihaoyi.github.io/mill).
The prerequisites are the same as for using SBT, except for sbt itself. Additionally, the ```mill``` executable needs to be installed on the path. Download it to ```/usr/local/bin/mill``` or ```~/bin/mill``` according to the [installation instructions](https://com-lihaoyi.github.io/mill/mill/Intro_to_Mill.html#_installation).
You can clone and use this repository in the following way.
```sh
git clone https://github.com/SpinalHDL/SpinalTemplateSbt.git
```
Open a terminal in the root of it and execute your favorite mill command. At the first execution, the process could take some seconds
```sh
cd SpinalTemplateSbt
//If you want to generate the Verilog of your design
mill mylib.runMain mylib.MyTopLevelVerilog
//If you want to generate the VHDL of your design
mill mylib.runMain mylib.MyTopLevelVhdl
//If you want to run the scala written testbench
mill mylib.runMain mylib.MyTopLevelSim
```
The top level spinal code is defined into src\main\scala\mylib

View File

@@ -1,12 +1,16 @@
name := "SpinalTemplateSbt"
version := "1.0"
scalaVersion := "2.11.12"
val spinalVersion = "1.4.3"
ThisBuild / version := "1.0"
ThisBuild / scalaVersion := "2.11.12"
ThisBuild / organization := "org.example"
libraryDependencies ++= Seq(
"com.github.spinalhdl" % "spinalhdl-core_2.11" % spinalVersion,
"com.github.spinalhdl" % "spinalhdl-lib_2.11" % spinalVersion,
compilerPlugin("com.github.spinalhdl" % "spinalhdl-idsl-plugin_2.11" % spinalVersion)
val spinalVersion = "1.4.3"
val spinalCore = "com.github.spinalhdl" %% "spinalhdl-core" % spinalVersion
val spinalLib = "com.github.spinalhdl" %% "spinalhdl-lib" % spinalVersion
val spinalIdslPlugin = compilerPlugin("com.github.spinalhdl" %% "spinalhdl-idsl-plugin" % spinalVersion)
lazy val mylib = (project in file("."))
.settings(
name := "SpinalTemplateSbt",
libraryDependencies ++= Seq(spinalCore, spinalLib, spinalIdslPlugin)
)
fork := true

13
build.sc Normal file
View File

@@ -0,0 +1,13 @@
import mill._, scalalib._
val spinalVersion = "1.4.3"
object mylib extends SbtModule {
def scalaVersion = "2.12.14"
override def millSourcePath = os.pwd
def ivyDeps = Agg(
ivy"com.github.spinalhdl::spinalhdl-core:$spinalVersion",
ivy"com.github.spinalhdl::spinalhdl-lib:$spinalVersion"
)
def scalacPluginIvyDeps = Agg(ivy"com.github.spinalhdl::spinalhdl-idsl-plugin:$spinalVersion")
}

View File

@@ -1 +1 @@
sbt.version=1.3.13
sbt.version=1.4.7