discourse/lib/theme_store
Jeff Wong 339549d14a
Support plugin and Theme compatibility version manifests (#9995)
Adds a new rake task `plugin:checkout_compatible_all` and
`plugin:checkout_compatible[plugin-name]` that check out compatible plugin
versions.

Supports a .discourse-compatibility file in the root of plugins and themes that
list out a plugin's compatibility with certain discourse versions:

eg: .discourse-compatibility
```
2.5.0.beta6: some-git-hash
2.4.4.beta4: some-git-tag
2.2.0: git-reference
```

This ensures older Discourse installs are able to find and install older
versions of plugins without intervention, through the manifest only.

It iterates through the versions in descending order. If the current Discourse
version matches an item in the manifest, it checks out the listed plugin target.
If the Discourse version is greater than an item in the manifest, it checks out
the next highest version listed in the manifest.

If no versions match, it makes no change.
2020-07-06 14:48:00 -07:00
..
git_importer.rb Support plugin and Theme compatibility version manifests (#9995) 2020-07-06 14:48:00 -07:00
zip_exporter.rb DEV: Remove use of `cd` in the app (#8337) 2019-11-13 09:57:39 +00:00
zip_importer.rb FIX: Allow importing themes with subdirectories in extra_js 2019-11-13 23:45:09 +00:00