{
	"factory": {
		"id": "artifact-repository",
		"type": "entaxy.runtime.repository",
		"description": "Factory artifact-repository of entaxy.runtime.repository. For more details see <a target=\"_blank\" href=\"https://docs.entaxy.ru/entaxy-core/${project.version}/core/deployer/karaf-repository.html#_кастомные_репозитории\">Entaxy docs</a>",
		"isAbstract": false
	},
	"entaxy.runtime.repository": {
	},
	"fields": {
		"repo_name": {
			"displayName": "Name",
			"type": "String",
			"required": true,
			"isHidden": true,
			"defaultValue": {
				"@CALCULATED": {
					"expression": "${objectId}",
					"lazy": false
				}
			}
		},
		"repo_location": {
			"displayName": "Location",
			"description": "Path to repository directory. If empty repository created at {Entaxy Home}/data/cave/repository/{Object Id}. For more details see <a target=\"_blank\" href=\"https://docs.entaxy.ru/entaxy-core/${project.version}/core/deployer/karaf-repository.html#_кастомные_репозитории\">Entaxy docs</a>",
			"type": "String"
		},
		"repo_proxy": {
			"displayName": "Proxy",
			"description": "Enable to use remote repositories. For more details see <a target=\"_blank\" href=\"https://docs.entaxy.ru/entaxy-core/${project.version}/core/deployer/karaf-repository.html#_кастомные_репозитории\">Entaxy docs</a>",
			"type": "Boolean",
			"group": "remotes",
			"required": true,
			"defaultValue": false
		},
		"repo_mirror": {
			"displayName": "Mirror",
			"description": "Enable storing a copy of the artifact in the local repository when using a proxy. Required when downloading artifacts from remote repositories. Not required for uploading artifacts to a remote repository. For more details see <a target=\"_blank\" href=\"https://docs.entaxy.ru/entaxy-core/${project.version}/core/deployer/karaf-repository.html#_кастомные_репозитории\">Entaxy docs</a>",
			"type": "Boolean",
			"group": "remotes"
		},
		"repo_remotes": {
			"displayName": "Remotes",
			"description": "Remote repository address. For more details see <a target=\"_blank\" href=\"https://docs.entaxy.ru/entaxy-core/${project.version}/core/deployer/karaf-repository.html#_кастомные_репозитории\">Entaxy docs</a>",
			"type": "String",
			"group": "remotes"
		},
		"repo_readOnly": {
			"displayName": "Read Only",
			"description": "Activates read-only mode. For more details see <a target=\"_blank\" href=\"https://docs.entaxy.ru/entaxy-core/${project.version}/core/deployer/karaf-repository.html#_кастомные_репозитории\">Entaxy docs</a>",
			"type": "Boolean",
			"required": true,
			"defaultValue": false
		},
		"repo_copyOnChange": {
			"displayName": "Copy On Change",
			"isHidden": true,
			"type": "Boolean"
		},
		"repo_username": {
			"description": "Specifies the username used to authenticate when accessing to remote repository. For more details see <a target=\"_blank\" href=\"https://docs.entaxy.ru/entaxy-core/${project.version}/core/deployer/karaf-repository.html#_кастомные_репозитории\">Entaxy docs</a>",
			"displayName": "Username",
			"type": "String",
			"group": "remotes"
		},
		"repo_password": {
			"description": "Specifies the password associated with username for authentication when accessing to remote repository. For more details see <a target=\"_blank\" href=\"https://docs.entaxy.ru/entaxy-core/${project.version}/core/deployer/karaf-repository.html#_кастомные_репозитории\">Entaxy docs</a>",
			"displayName": "Password",
			"type": "password",
			"group": "remotes"
		},
		"repo_snapshots": {
			"description": "Determines whether this repository should be used for downloading snapshot artifacts. For more details see <a target=\"_blank\" href=\"https://docs.entaxy.ru/entaxy-core/${project.version}/core/deployer/karaf-repository.html#_кастомные_репозитории\">Entaxy docs</a>",
			"displayName": "Snapshots",
			"type": "Boolean"
		},
		"repo_enabled": {
			"displayName": "Enabled",
			"type": "Boolean",
			"required": true,
			"isHidden": true,
			"defaultValue": true
		},
		"repo_remoteHostSuffix": {
			"description": "Specifies the suffix appended to the base URL of the remote repository, forming the full access URL (e.g., if the base URL is https://nexus.entaxy.ru, and the the suffix is /nexus/, the full URL will become https://nexus.entaxy.ru/nexus/). For more details see <a target=\"_blank\" href=\"https://docs.entaxy.ru/entaxy-core/${project.version}/core/deployer/karaf-repository.html#_кастомные_репозитории\">Entaxy docs</a>",
			"displayName": "Remote Host Suffix",
			"type": "String",
			"group": "remotes"
		},
		"repo_system": {
			"displayName": "System",
			"type": "Boolean",
			"required": true,
			"isHidden": true,
			"defaultValue": false
			
		},
		"repo_lookupEnabled": {
			"displayName": "Lookup Enabled",
			"description": "Add the repository to the list of repositories to search for artifacts (org.ops4j.pax.url.mvn.repositories). For more details see <a target=\"_blank\" href=\"https://docs.entaxy.ru/entaxy-core/${project.version}/core/deployer/karaf-repository.html#_кастомные_репозитории\">Entaxy docs</a>",
			"type": "Boolean",
			"required": true,
			"defaultValue": true
		}
	},
	"outputs": {
		"init": {
			"isDefault": true,
			"fields": {
				"repo_name": {},
				"repo_location": {},
				"repo_proxy": {},
				"repo_mirror": {},
				"repo_remotes": {},
				"repo_readOnly": {},
				"repo_copyOnChange": {},
				"repo_username": {},
				"repo_password": {},
				"repo_snapshots": {},
				"repo_enabled": {},
				"repo_remoteHostSuffix": {},
				"repo_system": {},
				"repo_lookupEnabled": {}
			},
			"config": {
				"configurable": true,
				"fieldsConfigurableByDefault": true,
				"configurableFields": {
					"includePatterns": ["repo_*"],
					"excludeNames": ["##publish"]
				}
			}
		}
	}
}
