builders-schema.json 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. {
  2. "$schema": "http://json-schema.org/draft-07/schema",
  3. "$id": "BuildersSchema",
  4. "title": "Builders schema for validating a list of builders.",
  5. "type": "object",
  6. "properties": {
  7. "$schema": {
  8. "type": "string",
  9. "description": "Link to schema."
  10. },
  11. "builders": {
  12. "type": "object",
  13. "additionalProperties": {
  14. "$ref": "#/definitions/builder"
  15. }
  16. }
  17. },
  18. "required": ["builders"],
  19. "definitions": {
  20. "builder": {
  21. "type": "object",
  22. "description": "Target options for Builders.",
  23. "allOf": [
  24. {
  25. "properties": {
  26. "schema": {
  27. "type": "string",
  28. "description": "Schema for builder option validation."
  29. },
  30. "description": {
  31. "type": "string",
  32. "description": "Builder description."
  33. }
  34. },
  35. "required": ["schema", "description"]
  36. },
  37. {
  38. "anyOf": [
  39. {
  40. "properties": {
  41. "implementation": {
  42. "type": "string",
  43. "description": "The next generation builder module."
  44. }
  45. },
  46. "required": ["implementation"]
  47. },
  48. {
  49. "properties": {
  50. "class": {
  51. "type": "string",
  52. "description": "The builder class module."
  53. }
  54. },
  55. "required": ["class"]
  56. }
  57. ]
  58. }
  59. ]
  60. }
  61. }
  62. }