1 unstable release
| 0.1.0 | Dec 9, 2019 |
|---|
#552 in Operating systems
27KB
563 lines
Press
WIP Silicon package manager.
Usage
Press can be built with cargo build. See press help for possible commands.
Package manifest
Packages are defined with manifests named Press.toml.
The format of a manifest is:
[package]
name = "my-package"
authors = ["John Doe", "Jane Doe"]
description = "My package"
# Dependencies on other packages at relative paths.
[dependencies]
some-package = { path = "../some-package" }
another-package = { path = "../another-package" }
# Sets of source files associated with the package.
[[sources]]
tags = ["waiver", "verilator"]
files = ["lint/my_package.vlt"]
[[sources]]
tags = ["rtl"]
files = ["rtl/my_package.sv"]
[[sources]]
tags = ["rtl", "xilinx"]
files = ["rtl/my_package_xilinx.sv"]
Listing files
Press can print a list of all files for a package and its dependencies using:
press list
These files can be filtered using the --tags flag which takes a Boolean
expression as its value:
$ press list --tags 'waiver && verilator'
/path/to/my-package/lint/my_package.vlt
$ press list --tags 'rtl'
/path/to/some-package/rtl/some_package.sv
/path/to/another-package/rtl/another_package_xilinx.sv
/path/to/my-package/rtl/my_package.sv
/path/to/my-package/rtl/my_package_xilinx.sv
$ press list --tags 'rtl && !xilinx'
/path/to/some-package/rtl/some_package.sv
/path/to/my-package/rtl/my_package.sv
Dependencies
~1.5–2.4MB
~47K SLoC