-
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... v[Version]-[Ring]-[Environment]
i.e. v1.0.0-Stable-Common v1.0.0-Stable-Windows v0.9.0-Stable-Common v0.9.0-Stable-Windows v0.9.0-Stable-Linux
v1.0.0-Stable-Common v0.9.0-Stable-Common
1.0.9-PreRelease-Osx
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/Platform-Branch
Packages will be able to store data in /AppData/Packages/PackageReference/Data
and
/AppData/Packates/PackageReference/Tag/Platform-Branch/Data
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. Managed by via vitalelement website.
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.
AvalonStudio cannot be forked or distributed with any of the above 3 feeds removed. Although they will be allowed to disable unofficial packages.
Distributions and end users can add extra feeds from sources unknown to vital element or Avalon studio.
- 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