Zum Inhalt
HALOWERK

Technische Prüfungen & Formate

F TD2000 DOCUMENTS 07 / ninja113 preexecution dirty edge orderonly command plan

Reconstruct the initial Ninja dirty-edge plan before commands touch build outputs.

POST https://detect.halowerk.com/v1/F-TD2000-DOCUMENTS-07/ninja113-preexecution-dirty-edge-orderonly-command-plan

Eingaben

Felder des veröffentlichten Eingabeschemas
FeldTypPflichtBeschreibung
artifactobjectJa
Vollständiges Eingabeschema anzeigen
{
  "type": "object",
  "additionalProperties": false,
  "required": [
    "artifact"
  ],
  "properties": {
    "artifact": {
      "type": "object",
      "additionalProperties": false,
      "required": [
        "ninjaPlan"
      ],
      "properties": {
        "ninjaPlan": {
          "type": "object",
          "additionalProperties": false,
          "required": [
            "data",
            "claim"
          ],
          "properties": {
            "data": {
              "type": "object",
              "additionalProperties": false,
              "required": [
                "files",
                "edges",
                "targets"
              ],
              "properties": {
                "files": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "additionalProperties": false,
                    "required": [
                      "path",
                      "mtime"
                    ],
                    "properties": {
                      "path": {
                        "type": "string",
                        "maxLength": 256,
                        "minLength": 1
                      },
                      "mtime": {
                        "anyOf": [
                          {
                            "type": "null"
                          },
                          {
                            "type": "integer",
                            "minimum": 0,
                            "maximum": 1000000000000000
                          }
                        ]
                      }
                    }
                  },
                  "maxItems": 256,
                  "minItems": 0
                },
                "edges": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "additionalProperties": false,
                    "required": [
                      "id",
                      "outputs",
                      "inputs",
                      "implicit",
                      "order_only",
                      "phony",
                      "generator",
                      "restat",
                      "command_hash",
                      "logged_command_hash"
                    ],
                    "properties": {
                      "id": {
                        "type": "string",
                        "maxLength": 64,
                        "minLength": 1,
                        "pattern": "^[A-Za-z_][A-Za-z0-9_.-]*$"
                      },
                      "outputs": {
                        "type": "array",
                        "items": {
                          "type": "string",
                          "maxLength": 256,
                          "minLength": 1
                        },
                        "maxItems": 16,
                        "minItems": 1
                      },
                      "inputs": {
                        "type": "array",
                        "items": {
                          "type": "string",
                          "maxLength": 256,
                          "minLength": 1
                        },
                        "maxItems": 64,
                        "minItems": 0
                      },
                      "implicit": {
                        "type": "array",
                        "items": {
                          "type": "string",
                          "maxLength": 256,
                          "minLength": 1
                        },
                        "maxItems": 64,
                        "minItems": 0
                      },
                      "order_only": {
                        "type": "array",
                        "items": {
                          "type": "string",
                          "maxLength": 256,
                          "minLength": 1
                        },
                        "maxItems": 64,
                        "minItems": 0
                      },
                      "phony": {
                        "type": "boolean"
                      },
                      "generator": {
                        "type": "boolean"
                      },
                      "restat": {
                        "type": "boolean"
                      },
                      "command_hash": {
                        "type": "string",
                        "maxLength": 16,
                        "minLength": 16,
                        "pattern": "^[0-9a-f]{16}$"
                      },
                      "logged_command_hash": {
                        "anyOf": [
                          {
                            "type": "null"
                          },
                          {
                            "type": "string",
                            "maxLength": 16,
                            "minLength": 16,
                            "pattern": "^[0-9a-f]{16}$"
                          }
                        ]
                      }
                    }
                  },
                  "maxItems": 64,
                  "minItems": 0
                },
                "targets": {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "maxLength": 256,
                    "minLength": 1
                  },
                  "maxItems": 32,
                  "minItems": 1
                }
              }
            },
            "claim": {
              "anyOf": [
                {
                  "type": "null"
                },
                {
                  "type": "object",
                  "additionalProperties": false,
                  "required": [
                    "buildable",
                    "missing_inputs",
                    "dirty_edges",
                    "command_plan"
                  ],
                  "properties": {
                    "buildable": {
                      "type": "boolean"
                    },
                    "missing_inputs": {
                      "type": "array",
                      "items": {
                        "type": "string",
                        "maxLength": 256,
                        "minLength": 1
                      },
                      "maxItems": 256,
                      "minItems": 0
                    },
                    "dirty_edges": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "additionalProperties": false,
                        "required": [
                          "id",
                          "phony",
                          "dirty",
                          "mtime",
                          "reasons"
                        ],
                        "properties": {
                          "id": {
                            "type": "string",
                            "maxLength": 64,
                            "minLength": 1,
                            "pattern": "^[A-Za-z_][A-Za-z0-9_.-]*$"
                          },
                          "phony": {
                            "type": "boolean"
                          },
                          "dirty": {
                            "type": "boolean"
                          },
                          "mtime": {
                            "type": "integer",
                            "minimum": 0,
                            "maximum": 1000000000000000
                          },
                          "reasons": {
                            "type": "array",
                            "items": {
                              "enum": [
                                "phony_without_inputs",
                                "dirty_normal_input",
                                "missing_output",
                                "input_newer_than_oldest_output",
                                "missing_or_changed_command_log"
                              ]
                            },
                            "maxItems": 5,
                            "minItems": 0
                          }
                        }
                      },
                      "maxItems": 64,
                      "minItems": 0
                    },
                    "command_plan": {
                      "type": "array",
                      "items": {
                        "type": "string",
                        "maxLength": 64,
                        "minLength": 1,
                        "pattern": "^[A-Za-z_][A-Za-z0-9_.-]*$"
                      },
                      "maxItems": 64,
                      "minItems": 0
                    }
                  }
                }
              ]
            }
          }
        }
      }
    }
  }
}

Originalschema öffnen

Ergebnis & Dokumentation

Maschinenlesbare Dokumentation dieses Hubs

Quelle dieser Seite: der veröffentlichte HALOWERK-Katalog. Stand: 2026-11-01, 15:19 UTC.

Weitere Endpunkte dieses Hubs

Alle Endpunkte dieses Hubs →