> Some time ago, I tried to write a schema using Rx [1], you'll find it > attached along with a ruby script[2] for validating the project file. Oops, forgot to attach
Attachment:
buildj-validate.rb
Description: application/ruby
{
"type": "//rec",
"required":
{
"project":
{
"type": "//rec",
"required": {"name": "//str", "version": "//str"},
"optional": {"url": "//str"}
},
"targets":
{
"type": "//map",
"values":
{
"type": "//rec",
"required":
{
"input": {"type": "//arr", "contents": "//str"}
},
"optional":
{
"type": "//str",
"path": "//str",
"tool": "//str",
"uses": {"type": "//arr", "contents": "//str"},
"packages": {"type": "//arr", "contents": "//str"},
"gir": "//str",
"version": "//str"
}
}
}
},
"optional":
{
"subdirs": {"type": "//arr", "contents": "//str"},
"options":
{
"type": "//map",
"values":
{
"type": "//rec",
"required": {"description": "//str", "default": "//str"}
}
},
"requires":
{
"type": "//map",
"values":
{
"type": "//rec",
"required": {"type": "//str", "mandatory": "//str"},
"optional": {"version": "//str"}
}
}
}
}