Project Configuration
[project]
— Defines a project.name
— The name of the project.version
— The version of the project.authors
— The authors of the project.description
— A description of the project.license
— The project license.repository
— URL of the project source repository.
[build]
— Build settings.[format]
— Format settings.[lint]
— Lint settings.[test]
— Test settings.[publish]
— Publish settings.[dependencies]
— Library dependencies.
The [project]
section
The first section of Veryl.toml
is [project]
.
The mandatory fields are name
and version
.
The name
field
The project name is used as prefix in the generated codes.
So the name must start with alphabet or _
, and use only alphanumeric characters or _
.
The version
field
The project version should follow Semantic Versioning. The version is constructed by the following three numbers.
- Major – increment at incompatible changes
- Minor – increment at adding features with backward compatibility
- Patch – increment at bug fixes with backward compatibility
[project]
version = "0.1.0"
The authors
field
The optional authors
field lists in an array the people or organizations that are considered the “authors” of the project.
The format of each string in the list is free. Name only, e-mail address only, and name with e-mail address included within angled brackets are commonly used.
[project]
authors = ["Fnu Lnu", "anonymous@example.com", "Fnu Lnu <anonymous@example.com>"]
The description
field
The description
is a short blurb about the project. This should be plane text (not Markdown).
The license
field
The license
field contains the name of license that the project is released under.
The string should be follow SPDX 2.3 license expression.
[project]
license = "MIT OR Apache-2.0"
The repository
field
The repository
field should be a URL to the source repository for the project.
[project]
repository = "https://github.com/veryl-lang/veryl"
The [build]
section
The [build]
section contains the configurations of code generation.
Available configurations is here.
The [format]
section
The [format]
section contains the configurations of code formatter.
Available configurations is here.
The [lint]
section
The [lint]
section contains the configurations of linter.
Available configurations is here.
The [test]
section
The [test]
section contains the configurations of test by RTL simulator.
Available configurations is here.
The [publish]
section
The [publish]
section contains the configurations of publishing.
Available configurations is here.
The [dependencies]
section
The [dependencies]
section contains library dependencies.
Available configurations is here.