-
Notifications
You must be signed in to change notification settings - Fork 239
Extension Distribution System
A lot of the following information also relates to distribution of AS itself.
The package indexes will provide the following information:
- Package Name (Must be unique in entire ecosystem)
- 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.
Format will be like this... [Environment]-[Ring]-[Version]
i.e. Windows-Stable-1.0.0
OSX-PreRelease-1.0.9b
Latest version will be highest version in with Release ring.
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.
Packages should be cloned into /AppData/Packages/PackageReference/Tag/
Packages will be shallow cloned, so minimal code download is done.
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.
- Get the tags from the remote repo git ls-remote --tags
- Filter all the tags by environment
- Filter all the tags that don't contain pre-release by default.
- Select a tag