{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "aviutl2.config.schema.json",
"type": "object",
"properties": {
"project": {
"$ref": "#/$defs/Project",
"description": "プロジェクト設定"
},
"artifacts": {
"$ref": "#/$defs/RecordArtifact",
"description": "成果物の定義"
},
"build_group": {
"type": "object",
"properties": {},
"description": "ビルドコマンドのグループ定義",
"additionalProperties": {
"anyOf": [
{
"type": "string"
},
{
"type": "array",
"items": {
"type": "string"
}
},
{
"$ref": "#/$defs/BuildGroupRef"
}
]
}
},
"development": {
"$ref": "#/$defs/Development",
"description": "開発用の設定"
},
"preview": {
"$ref": "#/$defs/Preview",
"description": "プレビュー用の設定"
},
"release": {
"$ref": "#/$defs/Release",
"description": "リリース用の設定"
},
"catalog": {
"$ref": "#/$defs/Catalog",
"description": "AviUtl2 カタログの定義"
}
},
"required": [
"project"
],
"$defs": {
"Project": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "プロジェクトID"
},
"name": {
"type": "string",
"description": "プロジェクト名"
},
"version": {
"type": "string",
"description": "バージョン"
}
},
"required": [
"id",
"name",
"version"
]
},
"RecordArtifact": {
"type": "object",
"properties": {},
"additionalProperties": {
"$ref": "#/$defs/Artifact"
}
},
"BuildGroupRef": {
"type": "object",
"properties": {
"group": {
"type": "string",
"description": "利用する build_group のキー"
}
},
"required": [
"group"
]
},
"Development": {
"type": "object",
"properties": {
"aviutl2_version": {
"type": "string",
"description": "AviUtl2 のバージョン"
},
"install_dir": {
"type": "string",
"description": "AviUtl2 のインストール先"
},
"profile": {
"type": "string",
"description": "使うプロファイル名(デフォルトは debug)"
},
"prebuild": {
"anyOf": [
{
"type": "string"
},
{
"type": "array",
"items": {
"type": "string"
}
},
{
"$ref": "#/$defs/BuildGroupRef"
}
],
"description": "事前ビルドコマンド"
},
"postbuild": {
"anyOf": [
{
"type": "string"
},
{
"type": "array",
"items": {
"type": "string"
}
},
{
"$ref": "#/$defs/BuildGroupRef"
}
],
"description": "事後ビルドコマンド"
},
"catalog_dependencies": {
"type": "array",
"items": {
"anyOf": [
{
"type": "string"
},
{
"$ref": "#/$defs/VerboseCatalogDependency"
}
]
},
"description": "カタログからインストールするパッケージのリスト"
}
},
"required": [
"aviutl2_version"
]
},
"Preview": {
"type": "object",
"properties": {
"aviutl2_version": {
"type": "string",
"description": "AviUtl2 のバージョン(省略時は development.aviutl2_version)"
},
"install_dir": {
"type": "string",
"description": "AviUtl2 のインストール先"
},
"profile": {
"type": "string",
"description": "使うプロファイル名(デフォルトは release)"
},
"include": {
"type": "array",
"items": {
"type": "string"
},
"description": "含める成果物のリスト(省略時は release.include を使用)"
},
"prebuild": {
"anyOf": [
{
"type": "string"
},
{
"type": "array",
"items": {
"type": "string"
}
},
{
"$ref": "#/$defs/BuildGroupRef"
}
],
"description": "事前ビルドコマンド"
},
"postbuild": {
"anyOf": [
{
"type": "string"
},
{
"type": "array",
"items": {
"type": "string"
}
},
{
"$ref": "#/$defs/BuildGroupRef"
}
],
"description": "事後ビルドコマンド"
},
"catalog_dependencies": {
"type": "array",
"items": {
"anyOf": [
{
"type": "string"
},
{
"$ref": "#/$defs/VerboseCatalogDependency"
}
]
},
"description": "カタログからインストールするパッケージのリスト"
}
}
},
"Release": {
"type": "object",
"properties": {
"output_dir": {
"type": "string",
"description": "出力ディレクトリ"
},
"package_template": {
"type": "string",
"description": "package.txt のテンプレート"
},
"package_id": {
"type": "string",
"description": "au2pkgでのID(package.ini の `id` に相当、デフォルトは `{id}`)"
},
"package_name": {
"type": "string",
"description": "au2pkgでのパッケージ名(package.ini の `name` に相当、デフォルトは `{name}`)"
},
"package_information": {
"type": "string",
"description": "au2pkgでの情報欄(package.ini の `information` に相当、デフォルトは `{name} v{version}`)"
},
"uninstall_subfolder_file": {
"type": "boolean",
"description": "アンインストール時に、作成したフォルダ内の別ファイルを削除するかどうか(package.ini の `uninstallSubFolderFile` に相当、デフォルトは false)"
},
"zip_name": {
"type": "string",
"description": "zip の名前(`.au2pkg.zip` は自動付与、デフォルトは `{id}-v{version}.au2pkg.zip`)"
},
"profile": {
"type": "string",
"description": "使うプロファイル名(デフォルトは release)"
},
"include": {
"type": "array",
"items": {
"type": "string"
},
"description": "含める成果物のリスト(省略時はすべて含める)"
},
"prebuild": {
"anyOf": [
{
"type": "string"
},
{
"type": "array",
"items": {
"type": "string"
}
},
{
"$ref": "#/$defs/BuildGroupRef"
}
],
"description": "事前ビルドコマンド"
},
"postbuild": {
"anyOf": [
{
"type": "string"
},
{
"type": "array",
"items": {
"type": "string"
}
},
{
"$ref": "#/$defs/BuildGroupRef"
}
],
"description": "事後ビルドコマンド"
}
}
},
"Catalog": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "ID"
},
"description_path": {
"type": "string",
"description": "説明文へのパス"
},
"license_path": {
"anyOf": [
{
"type": "string"
},
{
"$ref": "#/$defs/CatalogLicensePath"
}
],
"description": "ライセンスへのパス"
},
"download_repo": {
"type": "object",
"properties": {
"owner": {
"type": "string"
},
"repo": {
"type": "string"
}
},
"required": [
"owner",
"repo"
],
"description": "ダウンロード元のGitHubリポジトリ"
}
},
"required": [
"id"
]
},
"Artifact": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean",
"description": "成果物の有効/無効(デフォルトは true)"
},
"source": {
"type": "string",
"description": "成果物のパス"
},
"destination": {
"type": "string",
"description": "AviUtl2 の data 配下での配置先"
},
"build": {
"anyOf": [
{
"type": "string"
},
{
"type": "array",
"items": {
"type": "string"
}
},
{
"$ref": "#/$defs/BuildGroupRef"
}
],
"description": "ビルドコマンド"
},
"placement_method": {
"$ref": "#/$defs/PlacementMethod",
"description": "配置方法(symlink / copy)"
},
"profiles": {
"$ref": "#/$defs/RecordArtifactProfile",
"description": "プロファイルごとの設定"
}
},
"required": [
"destination"
]
},
"VerboseCatalogDependency": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "カタログからインストールするパッケージのID"
}
},
"required": [
"id"
]
},
"CatalogLicensePath": {
"type": "object",
"properties": {
"type": {
"anyOf": [
{
"type": "string",
"const": "MIT"
},
{
"type": "string",
"const": "Apache-2.0"
},
{
"type": "string",
"const": "BSD-2-Clause"
},
{
"type": "string",
"const": "BSD-3-Clause"
},
{
"type": "string",
"const": "CC0-1.0"
},
{
"type": "string",
"const": "GPL-2.0"
},
{
"type": "string",
"const": "GPL-3.0"
},
{
"type": "string",
"const": "Unlicense"
},
{
"type": "string",
"const": "custom"
}
],
"description": "ライセンス種別"
},
"path": {
"type": "string",
"description": "ライセンス本文へのパス"
}
},
"required": [
"type",
"path"
]
},
"PlacementMethod": {
"type": "string",
"enum": [
"symlink",
"copy"
]
},
"RecordArtifactProfile": {
"type": "object",
"properties": {},
"additionalProperties": {
"$ref": "#/$defs/ArtifactProfile"
}
},
"ArtifactProfile": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean",
"description": "成果物の有効/無効(デフォルトは true)"
},
"source": {
"type": "string",
"description": "成果物のパス"
},
"build": {
"anyOf": [
{
"type": "string"
},
{
"type": "array",
"items": {
"type": "string"
}
},
{
"$ref": "#/$defs/BuildGroupRef"
}
],
"description": "ビルドコマンド"
}
}
}
}
}