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