{
    "definitions": {
        "builder": {
            "allOf": [
                {
                    "properties": {
                        "description": {
                            "description": "Builder description.",
                            "type": "string"
                        },
                        "schema": {
                            "description": "Schema for builder option validation.",
                            "type": "string"
                        }
                    },
                    "required": [
                        "schema",
                        "description"
                    ]
                },
                {
                    "anyOf": [
                        {
                            "properties": {
                                "implementation": {
                                    "description": "The next generation builder module.",
                                    "type": "string"
                                }
                            },
                            "required": [
                                "implementation"
                            ]
                        },
                        {
                            "properties": {
                                "class": {
                                    "description": "The builder class module.",
                                    "type": "string"
                                }
                            },
                            "required": [
                                "class"
                            ]
                        }
                    ]
                }
            ],
            "description": "Target options for Builders.",
            "type": "object"
        }
    },
    "properties": {
        "$schema": {
            "description": "Link to schema.",
            "type": "string"
        },
        "builders": {
            "additionalProperties": {
                "$ref": "#/definitions/builder"
            },
            "type": "object"
        }
    },
    "required": [
        "builders"
    ],
    "title": "Builders schema for validating a list of builders.",
    "type": "object"
}