-
Notifications
You must be signed in to change notification settings - Fork 615
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
rewrite mill build scripts for chisel5. #3045
Conversation
498af00
to
554c284
Compare
eb9aa3c
to
4279fb5
Compare
225d2eb
to
04580b9
Compare
@jackkoenig request for review. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
As I mentioned to you on Slack, this needs to be rebased on #3174 which adds a new firtoolVersion: Option[String]
to the BuildInfo
. You can just make it None
as it really only needs to have a value when publishing and we still use SBT for that (for now).
It's great to see this working again, please add it to CI so we know if it breaks in the future.
Also, I'm not necessarily against supporting multi-project builds binding Chisel from source via the mill rules, but I'm not keen on making it a supported API. I think anyone building from source will have to accept that the build rules can change at any time for any reason.
This PR cleaned up the old build script, split it to common.sc and builds.sc two files. common.sc is used for declare the dependencies and project structual for each modules, which can be reused by other projects for building from source. build.sc is used for build project in tree. This commit makes chisel3['2.13.10'] being able to compile.
This reverts commit 34feb24.
Mill's BuildInfo can't handle anything but Strings.
Can this be backported to branch 3.6.x? chisel 3.6.0 already adds firtoolVersion in BuildInfo. |
This PR cleaned up the old build script, split it to common.sc and builds.sc two files. common.sc is used for declare the dependencies and project structual for each modules, which can be reused by other projects for building from source. build.sc is used for build project in tree.
Contributor Checklist
docs/src
?Type of Improvement
API Impact
Backend Code Generation Impact
Desired Merge Strategy
Release Notes
Reviewer Checklist (only modified by reviewer)
3.4.x
, [small] API extension:3.5.x
, API modification or big change:3.6.0
)?Enable auto-merge (squash)
, clean up the commit message, and label withPlease Merge
.Create a merge commit
.