Skip to content

Latest commit

 

History

History
107 lines (86 loc) · 7.13 KB

SPECIFICATION.md

File metadata and controls

107 lines (86 loc) · 7.13 KB

apm-data v3 仕様書

  • 太字の要素: 必須要素
  • 斜体の要素: 任意要素

リストの一覧と更新日時ファイル

  • core: AviUtlと拡張編集Pluginのデータファイル(DataFileInfo)
  • convert: ID変換の対応のファイル(DataFileInfo)
  • packages: プラグインとスクリプトのデータファイル(DataFileInfo[])
  • scripts: スクリプト配布サイトのデータファイル(DataFileInfo[])

DataFileInfo

  • DataFileInfo.path: データファイルの場所(list.jsonがあるディレクトリからの相対パス; 該当ディレクトリ以下の階層のみ)
  • DataFileInfo.modified: データファイルの更新日時

以下のファイル名は、apm-dataの例です。

AviUtlと拡張編集Pluginのデータファイル

  • version: データバージョン(固定値: 3)
  • [program].files: プログラムで使用されるファイルの一覧(FileInfo[])
    • FileInfo.filename: プログラムで使用されるファイルのファイル名(インストール先フォルダからの相対パス)(String)
    • FileInfo.isUninstallOnly: インストール時に必要ないかどうか(デフォルト: false)
    • FileInfo.isInstallOnly: アンインストール不可のファイルかどうか(デフォルト: false)
    • FileInfo.isDirectory: ディレクトリかどうか(デフォルト: false)
    • FileInfo.archivePath: ファイルのアーカイブ内相対パス(String)
  • [program].latestVersion: プログラムの最新バージョン(String)
  • [program].releases: プログラムのリリース一覧(ReleaseData[])
    • ReleaseData.version: そのリリースのバージョン(String)
    • ReleaseData.url: リリースされたアーカイブのURL(String)
    • ReleaseData.integrity: ハッシュの一覧(Array)
      • ReleaseData.integrity.archive: アーカイブファイルのハッシュ(String)
      • ReleaseData.integrity.file: パッケージファイルのハッシュ一覧(FileIntegrityData[])
        • FileIntegrityData.target: ハッシュの該当ファイル(String)
        • FileIntegrityData.hash: ハッシュ(sha384-などから始まるString)

プラグインとスクリプトのデータファイル

  • version: データバージョン(固定値: 3)
  • packages[number].id: パッケージのID(重複しない半角英数字。<開発者ID>/に続けて、パッケージを表すファイル名を使用し、それが無ければ、アーカイブのファイル名を使用します。)(String)
  • packages[number].name: パッケージの名前(25字以内)(String)
  • packages[number].overview: パッケージの概要(35字以内)(String)
  • packages[number].description: パッケージの説明(String)
  • packages[number].developer: パッケージの開発者(String)
  • packages[number].originalDeveloper: 派生元パッケージの開発者(String)
  • packages[number].dependencies: 依存パッケージのID一覧(String[])
  • packages[number].conflicts: 競合するパッケージのID一覧(未実装)(String[])
  • packages[number].provides: 互換性のあるパッケージのID一覧(未実装)(String[])
  • packages[number].pageURL: パッケージの紹介ページURL(String)
  • packages[number].downloadURLs: パッケージのダウンロードページURL一覧(String[])
  • packages[number].directURL: 一括インストール機能に使用されるURL(String)
  • packages[number].latestVersion: パッケージの最新バージョン(String)
  • packages[number].@continuous: 最新バージョンに追従するかどうか(デフォルト:false)
  • packages[number].installer: インストーラーファイル名(String)
  • packages[number].installerArg: インストーラーに渡される引数($instpathは、インストール先フォルダに置き換えられます。)(String)
  • packages[number].nicommons: ニコニ・コモンズID(String)
  • packages[number].isHidden: インストールされるまで表示されないようにするかどうか(デフォルト: false)
  • packages[number].files: プログラムで使用されるファイルの一覧(FileInfo[])
    • FileInfo.filename: プログラムで使用されるファイルのファイル名(インストール先フォルダからの相対パス)(String)
    • FileInfo.isUninstallOnly: インストール時に必要ないかどうか(デフォルト: false)
    • FileInfo.isInstallOnly: アンインストール不可のファイルかどうか(デフォルト: false)
    • FileInfo.isDirectory: ディレクトリかどうか(デフォルト: false)
    • FileInfo.archivePath: ファイルのアーカイブ内相対パス(String)
    • FileInfo.isObsolete: 最新バージョンに存在しないかどうか(デフォルト: false)
  • packages[number].releases: パッケージのリリース一覧(ReleaseData[])
    • ReleaseData.version: そのリリースのバージョン(String)
    • ReleaseData.integrity: ハッシュの一覧(Array)
      • ReleaseData.integrity.archive: アーカイブファイルのハッシュ(String)
      • ReleaseData.integrity.file: パッケージファイルのハッシュ一覧(FileIntegrityData[])
        • FileIntegrityData.target: ハッシュの該当ファイル(String)
        • FileIntegrityData.hash: ハッシュ(sha384-などから始まるString)

スクリプト配布サイトのデータファイル

  • webpage: スクリプト配布サイトの一覧(Object[])
    • webpage[number].url: スクリプト配布サイトのURL(String)
    • webpage[number].developer: スクリプト配布サイトのURL(String)
    • webpage[number].description: スクリプト配布サイトの説明(String)
  • scripts: スクリプトの判別に関する配列(後ろの情報が優先されます)(Object[])
    • scripts[number].match: ダウンロードファイルのURLとの一致パターン(String)
    • packages.xmlに未登録の場合
      • scripts[number].folder: ファイルを配置するフォルダ名(scriptフォルダ下)(String)
      • scripts[number].developer: スクリプトの開発者(String)
      • scripts[number].dependencies: 依存パッケージのIDの配列(String[])
    • packages.xmlに登録済みの場合
      • scripts[number].redirect: リダイレクトするパッケージのID(String)

ID変換の対応のファイル

  • 変換前のIDをkey、変換後のIDをvalueとする。

IDの誤字や仕様変更への対応を想定しています。

変換を削除することは、基本的に禁止です。 レビュー時・マージ時には十分注意してください。