version-schema.json 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109
  1. {
  2. "$schema": "http://json-schema.org/draft-07/schema#",
  3. "type": "object",
  4. "properties": {
  5. "dependencies": {
  6. "type": "array",
  7. "items": {
  8. "type": "object",
  9. "description": "Information about a single dependency.",
  10. "properties": {
  11. "name": {
  12. "type": "string",
  13. "description": "The name of the dependency."
  14. },
  15. "type": {
  16. "type": "string",
  17. "description": "The type of the dependency.",
  18. "enum": [
  19. "system",
  20. "bundled"
  21. ]
  22. },
  23. "version": {
  24. "type": "string",
  25. "description": "The version of the dependency if available."
  26. },
  27. "via": {
  28. "type": "string",
  29. "description": "The source from which the dependency is came from. Not presented for direct CMake dependencies."
  30. }
  31. },
  32. "required": [
  33. "name",
  34. "type"
  35. ],
  36. "additionalProperties": false
  37. },
  38. "additionalItems": false
  39. },
  40. "program": {
  41. "type": "object",
  42. "description": "Information about the CMake tool.",
  43. "properties": {
  44. "name": {
  45. "type": "string",
  46. "description": "The name of the CMake tool."
  47. },
  48. "version": {
  49. "type": "object",
  50. "description": "Information about the version of the CMake tool.",
  51. "properties": {
  52. "major": {
  53. "type": "integer",
  54. "description": "The major version of the CMake tool."
  55. },
  56. "minor": {
  57. "type": "integer",
  58. "description": "The minor version of the CMake tool."
  59. },
  60. "patch": {
  61. "type": "integer",
  62. "description": "The patch version of the CMake tool."
  63. },
  64. "string": {
  65. "type": "string",
  66. "description": "The full version string of the CMake tool."
  67. }
  68. },
  69. "required": [
  70. "major",
  71. "minor",
  72. "patch",
  73. "string"
  74. ],
  75. "additionalProperties": false
  76. }
  77. },
  78. "required": [
  79. "name",
  80. "version"
  81. ],
  82. "additionalProperties": false
  83. },
  84. "version": {
  85. "type": "object",
  86. "properties": {
  87. "major": {
  88. "type": "integer",
  89. "description": "The major version of the JSON output format."
  90. },
  91. "minor": {
  92. "type": "integer",
  93. "description": "The minor version of the JSON output format."
  94. }
  95. },
  96. "required": [
  97. "major",
  98. "minor"
  99. ],
  100. "additionalProperties": false
  101. }
  102. },
  103. "required": [
  104. "dependencies",
  105. "program",
  106. "version"
  107. ],
  108. "additionalProperties": false
  109. }