Manifest

The vba-blocks manifest (vba-block.toml) serves as the foundation for your project and provides information on your package, source, dependencies, references, and targets, as detailed below.

[package]

[package] includes general information about your package.

[package]
name = "my_project"
version = "0.1.0"
authors = ["[email protected]"]

All three of the above fields are mandatory.

version

vba-blocks is built on the concept of Semantic Versioning, so the version field should follow these rules:

publish (optional)

The publish field can be used to prevent a package from being published to vba-blocks by mistake.

[package]
# ...
publish = false

workspace (optional)

The workspace field can be used to denote that the package is part of a workspace, allowing sharing of src, dependencies, or other information.

[package]
# ...
workspace = "path/to/root-workspace"

[src]

[src]
a = "src/a.bas"
b = "src/b.cls"
c = "src/c.frm"
d = { path = "src/d.bas", optional = true }

[dependencies]

[dependencies]
dictionary = "^1"
json = { version = ">= 1.2, 1.5", optional = true }

[dependencies.utc]
version = "1.2.3"
default-features = false
features = ["rfc3339"]
optional = true

[references]

[references.Scripting]
version = "1.0"
guid = "{420B2830-E718-11CF-893D-00A0C9054228}"
optional = true

[features]

[features]
default = ["embed"]

emded = { src = ["Dictionary"] }
scripting = { references = ["Scripting"] }

[[targets]]

[[targets]]
type = "xlsm"
path = "targets/xlsm"

[[targets]]
type = "xlam"
name = "my-addin"
path = "targets/xlam"