いつの間にかPackage Controlの仕組みが大幅にアップデートされていました。変わった点は2点。
パッケージ申請時に編集するファイル
以前の記事でも書いたように、これまでは以下の手順を踏んでいました。
- packages.jsonを書く
- 自分のリポジトリに1.を配置
- Package Control Channelのリポジトリのrepositories.jsonに自分のリポジトリのURLを書く
- Pull Requestで申請する
しかし、今後は3.と4.だけになります。どういうことかというと、自分のリポジトリのpackages.jsonに書いていたものを、直接Package Control Channelのrepositories.jsonに書けばよくなりました。
で、みんながそうするとrepositories.jsonが大変なことになってしまう...ということで、ファイルが分割されました。"repository"というディレクトリの中に、0-9.json, a.json, b.json, ... とファイルがあるので、各自のパッケージ名の頭文字に対応するファイルの中に書いていくようになっています。
新しく申請される方はSublime Text 言語パッケージ作成:パッケージを公開する(応用編)を見てください。
移行
これまでの手順で登録されている人は、特に何もしなくても構いません。ただ、自分のリポジトリからpackages.jsonを取り除いてスッキリさせたい!という人は、このようにすればいいです。
- channel.jsonにある自分のURLを削除
- repository/*.jsonに追加 (注:スキーマが新しくなったので今までとは書き方が違います。詳細は次項)
- Pull Requestで申請
- マージされた後で、自分のリポジトリからpackages.jsonを削除
JSONの書き方 (スキーマ1.2 -> 2.0)
以前の記事で紹介した段階ではスキーマ1.2でしたが、現在は2.0に上がっています。
GitHubまたはBitBucketを使っていれば、ほぼ全自動でサイトの内容を抽出するようになったので、名前とURLぐらいしか書くことがなくなりました。
例えば、私のプラグインでは、このような記述で、
{
"schema_version": "2.0",
"packages": [
{
"name": "LSL",
"details": "https://github.com/Makopo/sublime-text-lsl",
"labels": ["auto-complete", "color scheme", "language syntax", "linting", "theme"],
"releases": [
{
"details": "https://github.com/Makopo/sublime-text-lsl/tags"
}
]
}
]
}
このようなページになっています。なお、現在私のプラグインではまだrepository/*.jsonに移行していませんので、これは自分のリポジトリのpackage.jsonに書いています。
書き方の詳細はPackage Control新方式(2.0)でのJSON記述方法を見てください。