Skip to content

Extension Distribution System

danwalmsley edited this page Sep 11, 2016 · 15 revisions

A lot of the following information also relates to distribution of AS itself.

Package Index

The package indexes will provide the following information:

  • Package Name
  • Package Description
  • Package Author
  • Package Category
  • Package git URL
  • Excluded Tags (this can be used to block specific tags, or exclude them by wildcard, and <*-v3 would exclude all tags less than v3.

Package reference will be: [Author].[Category].[Name] i.e. AvalonStudio.Toolchains.Clang

Format will be Json.

Package Repository Tags

Format will be like this... [Environment]-[Ring]-[Version]

i.e. Windows-Stable-1.0.0 OSX-Pre-Release-1.0.9b

Latest tag will be added to latest version like this: Windows-Stable-1.0.0-latest, when updating release, the old latest tag will be deleted and added to new one.

This will allow the application to filter tags that relate to the platform its running on, and stable or pre-release, and then list the version.

Cloning Packages

Packages should be cloned into /AppData/Packages/FeedName/PackageName/Version/

Packages will be shallow cloned, so minimal code download is done.

Feeds

It is proposed there will be 3 feeds, although only 1 list in the UI. Official Packages - All VitalElement and AvalonStudio written packages. Approved Packages - Approved 3rd Party Packages Unofficial Packages - Packages made by 3rd parties, but not tested by us.

Each feed will be a package index with different levels of management. Official packages will display a Gold Star, Approved will display Star of another colour, and Unoffical packages no star.

Installing a Package

  1. Get the tags from