1 unstable release
0.1.0 | Dec 9, 2019 |
---|
#668 in Operating systems
143 downloads per month
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.6–2.4MB
~49K SLoC