Manifest
The manifest is the Package.toml
file in every package. It contains all the information Grill needs to know about your package. A minimal manifest requires three fields. Name
, Version
and Description
. For example:
[Package]
Name = "MyProject"
Version = "0.1.0"
Description = ""
Dependencies
Dependencies are added to a [Dependencies]
table in the manifest. There are 3 types of dependencies:
Registry
Git
Local
Registry
Registry dependencies are the standard way of specifying dependencies. Here the identifier is a published package with a version requirement. The version requirement can be any semver-compatible string.
...
[Dependencies]
OpenGL = "3.3.0"
You can specify which features you want to enable for that specific dependencies with a feature array:
...
[Dependencies]
ImGui = { Version = "1.88", Features = ["OpenGL", "GLFW"] }
A package might have some default features enabled. You can disable these with the DefaultFeatures
bool.
...
[Dependencies]
ImGui = { Version = "1.88", DefaultFeatures = false }
Git
Git dependencies require a url and a revision. They are not taken into account when resolving, so types from those dependencies cannot be passed to other dependencies safely.
...
[Dependencies]
OpenGL = { Git = "https://github.com/opengl/opengl", Rev = "f478h29d" }
Local
Local dependencies are specified by path.
...
[Dependencies]
MyUtilities = { Path = "./path/to/project" }
Workspaces
If your root package does not include all packages you want in your workspace, or you want to change the startup project, you can do so in the [Workspace]
section.
[Workspace]
Members = ["path/to/app"]
StartupProject = "app"
Members
is a list of paths to packages you want included in the workspace.
StartupProject
is the name of the startup project.
Last updated