メインコンテンツまでスキップ
バージョン: KPM v3

クエリ

プラグインを一意に特定するための文字列です。


概要

クエリは、プラグインを一意に特定し、ダウンロード用の直リンクを解決するために使用する文字列です。
インストールコマンド等で使用します。

備考 - Since

この機能は KPM v3 で強化されました!


クエリの例

  • https://github.com/Example/ExamplePlugin
    GitHub で解決します。
  • https://www.spigotmc.org/resources/example.12345==1.0.0
    バージョンを指定して SpigotMC で解決します。
  • curseforge>https://dev.bukkit.org/projects/example-12345==123456
    完全修飾クエリの例です。CurseForge(DevBukkit) で解決します。

クエリの書式

プラグイン解決クエリは以下の要素を含みます:

  • 任意 - リゾルバ名
  • 必須 - クエリボディ
  • 任意 - バージョン

リゾルバ名とクエリボディは、>で、クエリボディとバージョンは==で区切って記述します。

ヒント

リゾルバ名は、クエリに対応するリゾルバを一意に特定するために使用します。
リゾルバ名を指定しないと、予期せず GitHub の代わりに CurseForge で解決されてしまうといった問題が発生する可能性があります。

リゾルバや、リゾルバ名の一覧については以下のドキュメントを参照してください:


注記

これらすべてが指定されたクエリを、**完全修飾クエリ**と呼びます。


GitHub の優越

GitHub 上のプラグインを解決する場合は、以下の省略記法が使用できます。
この場合においても、リゾルバ名とバージョンを指定できます。

備考

この機能は、 KUN Lab 組織にあるプラグインを楽にインストールするために作成されました。
そのため、 KUN Lab 上にあるプラグインは事前設定なしに、省略記法が使用できます。


バッカス・ナウア記法(BNF)

<url> ::= <see https://www.w3.org/Addressing/URL/5_BNF.html>
<stringToken> ::= <all of unicode except for ">", " ", and "=">
<githubToken> ::= <all of the github username and repository name characters>
<validSemver> ::= <see https://semver.org/lang/ja/#semverバージョンを表すバッカスナウア記法>
<digits> ::= ("0"|...|"9")+

<resolver> ::= ("alias" | "local" |
"bukkit" |
"curse" | "curseforge" | "forge" |
"gh" | "github" |
"spiget" | "spigot" | "spigotmc") ">"
<version> ::= "==" <validSemver>


<spigotMCToken> ::= "https://spigotmc.org/resources/" <stringToken> "." <digits> "/" |
"https://www.spigotmc.org/resources/" <stringToken> "." <digits> "?update=" <digits>
<curseBukkitSlug> ::= <stringToken> "-" <digits>
<curseBukkitToken> ::= "https://dev.bukkit.org/projects/" <curseBukkitSlug> |
"https://dev.bukkit.org/projects/" <curseBukkitSlug> "/files/" <digits>

<query> ::= (<stringToken> | <resolver> <stringToken> | <resolver> <stringToken> <version>) |
(<githubToken> "/" <githubToken> | <githubToken>) |
(<url> | <url> <version>) |
<spigotMCToken> |
<curseBukkitToken>