49 lines
1.5KB

  1. {
  2. "type": "object",
  3. "description": "DDS Package Manifest",
  4. "additionalProperties": false,
  5. "patternProperties": {
  6. "^\\$": {}
  7. },
  8. "required": [
  9. "name",
  10. "version",
  11. "namespace"
  12. ],
  13. "properties": {
  14. "name": {
  15. "type": "string",
  16. "description": "The name of the package",
  17. "pattern": "^[a-z][a-z0-9_]*((\\.|-)[a-z0-9_]+)*$"
  18. },
  19. "version": {
  20. "type": "string",
  21. "pattern": "^(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?$",
  22. "description": "The version of the package. Must be a valid Semantic Version string.",
  23. "default": "0.1.0"
  24. },
  25. "namespace": {
  26. "type": "string",
  27. "description": "The package's namespace. Must be a valid string.",
  28. "pattern": "^[a-z][a-z0-9_]*((\\.|-)[a-z0-9_]+)*$"
  29. },
  30. "$schema": {
  31. "type": "string",
  32. "description": "JSON schema tag. Ignored by dds."
  33. },
  34. "depends": {
  35. "type": "array",
  36. "items": {
  37. "type": "string"
  38. }
  39. },
  40. "test_driver": {
  41. "type": "string",
  42. "default": "Catch-Main",
  43. "enum": [
  44. "Catch-Main",
  45. "Catch"
  46. ]
  47. }
  48. }
  49. }