1{ 2 "title": "JSON schema for app_startup.json", 3 "$schema": "http://json-schema.org/draft-07/schema#", 4 "type": "object", 5 "additionalProperties": false, 6 "required": [ 7 "startupTasks", 8 "configEntry" 9 ], 10 "propertyNames": { 11 "enum": [ 12 "startupTasks", 13 "configEntry" 14 ] 15 }, 16 "properties": { 17 "startupTasks": { 18 "type": "array", 19 "uniqueItems": true, 20 "items": { 21 "type": "object", 22 "propertyNames": { 23 "enum": [ 24 "name", 25 "srcEntry", 26 "dependencies", 27 "excludeFromAutoStart", 28 "runOnThread", 29 "waitOnMainThread" 30 ] 31 }, 32 "required": [ 33 "name", 34 "srcEntry" 35 ], 36 "properties": { 37 "name": { 38 "description": "Indicates the name of the startup task.", 39 "type": "string", 40 "pattern": "^[a-zA-Z][0-9a-zA-Z_.]+$", 41 "maxLength": 127 42 }, 43 "srcEntry": { 44 "description": "Indicates the js code path corresponding to the startup task.", 45 "type": "string", 46 "maxLength": 127 47 }, 48 "dependencies": { 49 "description": "Indicates the dependencies of the startup task.", 50 "type": "array", 51 "uniqueItems": true, 52 "items": { 53 "type": "string" 54 }, 55 "default": [] 56 }, 57 "excludeFromAutoStart": { 58 "description": "Indicates whether the startup task is excluded from automatic start.", 59 "type": "boolean", 60 "default": false 61 }, 62 "runOnThread": { 63 "description": "Indicates the running thread of the startup task.", 64 "type": "string", 65 "enum": [ 66 "mainThread", 67 "taskPool" 68 ], 69 "default": "mainThread" 70 }, 71 "waitOnMainThread": { 72 "description": "Indicates whether the startup task block the main thread.", 73 "type": "boolean", 74 "default": true 75 } 76 } 77 } 78 }, 79 "configEntry": { 80 "description": "Indicates the js code path corresponding to the startup config.", 81 "type": "string", 82 "maxLength": 127 83 } 84 } 85}