Cargo Make
cargo-make, a Rust task runner and build tool
Makefile.toml
Validate
Check your file against this schema
Opens the validator with this schema already loaded. Paste your
Makefile.toml and it validates in your browser — nothing is uploaded.
Reference
Fields
Generated directly from the schema, following local
$refs, to two levels of nesting.
| Field | Type | Description |
|---|---|---|
extend | oneOf | Extend an external makefile by importing its tasks and properties to this file. Paths are relative to this makefile default: "path/to/Makefile.toml" |
config | object | Configuration options for this makefile |
config.skip_core_tasks | boolean | If true, the default core tasks will not be loaded default: false |
config.skip_git_env_info | boolean | If true, the Git related environment variables will not be loaded default: false |
config.skip_rust_env_info | boolean | If true, the rust related environment variables will not be loaded default: false |
config.skip_crate_env_info | boolean | If true, the current crate related environment variables will not be loaded default: false |
config.modify_core_tasks | object | Options to modify all the core tasks |
config.modify_core_tasks.private | boolean | If true, all core tasks will be set to private (default false) default: true |
config.modify_core_tasks.namespace | string | If set to some value, all core tasks are modified to: `namespace::name` default: "default" |
config.init_task | string | Init task name which will be invoked at the start of every run default: "init" |
config.end_task | string | End task name which will be invoked at the end of every run default: "end" |
config.on_error_task | string | The name of the task to run in case of any error during the invocation of the flow default: "catch" |
config.legacy_migration_task | string | The name of the task which runs legacy migration flows default: "legacy-migration" |
config.additional_profiles | array<string> | Additional profile names to load default: [] |
config.min_version | string | — |
config.default_to_workspace | boolean | The default value for the `workspace` value of tasks in this makefile default: true |
config.reduce_output | boolean | Set to true to reduce console output for non CI execution default: true |
config.time_summary | boolean | Set to true to print time summary at the end of the flow default: true |
config.load_cargo_aliases | boolean | Automatically load cargo aliases as cargo-make tasks default: true |
config.main_project_member | string | The project information member (used by workspaces) default: "main-crate" |
config.load_script | oneOf | — |
config.linux_load_script | oneOf | — |
config.windows_load_script | oneOf | — |
config.mac_load_script | oneOf | — |
config.unstable_features | array | Specify unstable features to enable default: [] |
env_files | array | Load environment files default: [] |
env_scripts | array<string> | The environment scripts to execute after environment files and the env block. These scripts can be used to run anything needed before starting up the flow. default: [] |
env | object | Setup environment variables |
tasks | object | Task definitions |
Audit
What we found in this schema
- Declared draft: draft-07
- Validates cleanly against its own meta-schema.
- Has 8 place(s) where keywords sit beside
$ref. Under draft-07 those keywords are silently ignored by every conforming validator — first at#/definitions/task/properties/script. - Uses non-standard keywords that generic validators ignore:
links. - 138 properties, 99% carrying a description, max nesting depth 13.
Standards
Specification sections for the keywords in this schema
| Keyword | Document | Section |
|---|---|---|
$ref | JSON Schema Core, draft 2020-12 | §8.2.3.1 — Direct References with "$ref" |
additionalProperties | JSON Schema Core, draft 2020-12 | §10.3.2.3 — "additionalProperties" |
const | JSON Schema Validation, draft 2020-12 | §6.1.3 — "const" |
default | JSON Schema Validation, draft 2020-12 | §9.2 — "default" |
deprecated | JSON Schema Validation, draft 2020-12 | §9.3 — "deprecated" |
description | JSON Schema Validation, draft 2020-12 | §9.1 — "title" and "description" |
enum | JSON Schema Validation, draft 2020-12 | §6.1.2 — "enum" |
examples | JSON Schema Validation, draft 2020-12 | §9.5 — "examples" |
items | JSON Schema Core, draft 2020-12 | §10.3.1.2 — "items" |
oneOf | JSON Schema Core, draft 2020-12 | §10.2.1.3 — "oneOf" |
properties | JSON Schema Core, draft 2020-12 | §10.3.2.1 — "properties" |
required | JSON Schema Validation, draft 2020-12 | §6.5.3 — "required" |
type | JSON Schema Validation, draft 2020-12 | §6.1.1 — "type" |
uniqueItems | JSON Schema Validation, draft 2020-12 | §6.4.3 — "uniqueItems" |
Documents
- JSON Schema Core, draft 2020-12 — JSON Schema: A Media Type for Describing JSON Documents, A. Wright, H. Andrews, B. Hutton, G. Dennis, Eds., 2022. draft-bhutton-json-schema-01. An expired Internet-Draft with no formal standing in the IETF standards process; it is nonetheless the specification of record for JSON Schema 2020-12, published by json-schema.org.
- JSON Schema Validation, draft 2020-12 — JSON Schema Validation: A Vocabulary for Structural Validation of JSON, A. Wright, H. Andrews, B. Hutton, Eds., 2022.
- RFC 8259 (STD 90) — The JavaScript Object Notation (JSON) Data Interchange Format, T. Bray, Ed., 2017. The format a schema describes.
- RFC 6901 — JavaScript Object Notation (JSON) Pointer. Defines the pointer syntax used by $ref fragments and the ~0 / ~1 escapes.
Source
Attribution
This schema comes from SchemaStore, distributed under the Apache License 2.0. Copyright 2015–present Mads Kristensen and contributors. View the original file. The field table and audit on this page are generated by JSONTools.tools; the schema itself is unmodified.