Sublime Forum

How to create the channel_v3.json from the repository package_control_channel?

#1

I would like to write my own channel using using the package description style from the package_control_channel:

  1. https://github.com/wbond/package_control_channel
{
	"schema_version": "3.0.0",
	"packages": [
		{
			"name": "A File Icon",
			"previous_names": ["File Icons Extended", "zz File Icons"],
			"details": "https://github.com/ihodev/a-file-icon",
			"author": "ihodev",
			"labels": ["theme", "file", "icons"],
			"releases": [
				{
					"sublime_text": ">=3114",
					"tags": true
				}
			]
		},
		...
	]
}

Then later generate from it the file channel_v3.json hosted on:

  1. https://packagecontrol.io/channel_v3.json
{"repositories": ["https://bitbucket.org/jjones028/p4sublime/raw/tip/packages.json", "https://bitbucket.org/klorenz/sublime_packages/raw/tip/packages.json", "https://csch1.triangulum.uberspace.de/release/packages.json", "https://packagecontrol.io/packages_2.json", "https://packagecontrol.io/repository.json", "https://packages.monokai.pro/packages.json", "https://raw.githubusercontent.com/20Tauri/DoxyDoxygen/master/DoxyDoxygen.json", "https://raw.githubusercontent.com/Andr3as/Sublime-SurroundWith/master/packages.json", "https://raw.githubusercontent.com/FichteFoll/sublime_packages/master/package_control.json", "https://raw.githubusercontent.com/Floobits/floobits-sublime/master/packages.json", "https://raw.githubusercontent.com/Harrison-M/indent.txt-sublime/master/packages.json", "https://raw.githubusercontent.com/Hexenon/FoxCode/master/packages.json", "https://raw.githubusercontent.com/Kaizhi/SublimeUpdater/master/packages.json", "https://raw.githubusercontent.com/Kasoki/FancyProjects/master/packages.json", "https://raw.githubusercontent.com/MattDMo/Neon-sublime-....

How this conversion is performed?

Someone knows which is is the script which creates the channel_v3.json from the repository package_control_channel?

For now I only know to write by hand my own version of the channel_v3.json, but it would be much better if I could write simple package specifications as on package_control_channel and later get them converted to the channel_v3.json deployment format.

On the Package control documentation page:

  1. https://packagecontrol.io/docs/channels_and_repositories

Only states the format for the channel_v3.json but does not say anything about how the package_control_channel is converted to it.

0 Likes

Channel Manager
#2

I find out from where the packagecontrol website does this conversion. It is published on:

  1. https://github.com/wbond/packagecontrol.io

I looked into the algorithm, written also in python, but it is heavily dependent on libraries only available for linux. Therefore would not be possible run it without also installing and running the website. For now I can think of writing a lightweight algorithm to perform the conversion, or even just update the version automatically when they are changed.

2 Likes