added codebuilder-cli spec

master
Niclas Thobaben 2021-11-15 20:52:06 +01:00
parent 6d87e83644
commit ef7aa673f7
2 changed files with 205 additions and 0 deletions

View File

@ -0,0 +1,204 @@
{
"name": "codebuilder-cli",
"description": "Spec for Codebuilder CLI.",
"info": {
"contact": {
"name": "Niclas Thobaben",
"email": "niclas@die-thobabens.de",
"url": "https://nclazz.de"
}
},
"imports": [
{
"uri": "https://app.apibuilder.io/nclazz/codebuilder/latest/service.json"
}
],
"models": {
"settings": {
"description": "Settings for codebuilder cli.",
"fields": [
{
"name": "servers",
"type": "[server]"
}
]
},
"server": {
"description": "Defines a codebuilder server to deploy and fetch generators.",
"fields": [
{
"name": "id",
"type": "string",
"description": "A id of the server to reference in maven plugin or similar. *Note: This is not the login!*"
},
{
"name": "url",
"type": "string",
"description": "The url under which the server is accessible."
},
{
"name": "username",
"type": "string",
"description": "Username to login to the server."
},
{
"name": "password",
"type": "string",
"description": "Password of the specified user."
}
]
},
"descriptor": {
"description": "Descriptor of a codebuilder project.",
"fields": [
{
"name": "name",
"type": "string",
"description": "Name of the project. This maps to the generator key."
},
{
"name": "description",
"type": "string",
"required": false
},
{
"name": "templates",
"type": "[template_descriptor]",
"default": [],
"required": false
},
{
"name": "reserved",
"type": "reserved_descriptor",
"required": false
},
{
"name": "types",
"type": "[type_mapping_descriptor]",
"required": false,
"default": []
}
]
},
"template_descriptor": {
"description": "Meta information for a template in the project.",
"fields": [
{
"name": "name",
"type": "string",
"description": "Maps to a template file with a name in the format `<name>.<target>`."
},
{
"name": "scaffolding",
"type": "boolean",
"default": false,
"required": false
},
{
"name": "filename",
"type": "string",
"default": "{{item.name}}",
"required": false
},
{
"name": "directory",
"type": "string",
"default": ".",
"required": false
}
]
},
"reserved_descriptor": {
"fields": [
{
"name": "use",
"type": "string",
"description": "Use a predefined set of reserved words.",
"required": false
},
{
"name": "reserve",
"type": "[de.nclazz.codebuilder.v0.model.reserved_word]",
"required": false
}
]
},
"type_mapping_descriptor": {
"fields": [
{
"name": "boolean",
"type": "string",
"required": false,
"default": "boolean"
},
{
"name": "date-iso8601",
"type": "string",
"required": false,
"default": "date-iso8601"
},
{
"name": "date-time-iso8601",
"type": "string",
"required": false,
"default": "date-time-iso8601"
},
{
"name": "decimal",
"type": "string",
"required": false,
"default": "decimal"
},
{
"name": "double",
"type": "string",
"required": false,
"default": "double"
},
{
"name": "integer",
"type": "string",
"required": false,
"default": "integer"
},
{
"name": "json",
"type": "string",
"required": false,
"default": "json"
},
{
"name": "long",
"type": "string",
"required": false,
"default": "long"
},
{
"name": "object",
"type": "string",
"required": false,
"default": "object"
},
{
"name": "string",
"type": "string",
"required": false,
"default": "string"
},
{
"name": "unit",
"type": "string",
"required": false,
"default": "unit"
},
{
"name": "uuid",
"type": "string",
"required": false,
"default": "uuid"
}
]
}
}
}

View File

@ -8,6 +8,7 @@ SPECS=(
"common-resources"
"authentication"
"codebuilder"
"codebuilder-cli"
)
for file in "${SPECS[@]}"; do