Plugin dependencies
- [ ] Find a sane way to implement it (a third file does not make much sense)
- [ ] Make it nicely visible in the web app
- [ ] Have the
install_pluginoption install the plugins - [ ] Make sure we do not break much by implementing it
You mean plugins depending on other plugins? I think a metadata field in the .plugin file is enough
How would that work?
We could:
-
Requirements = a,b,c(ignoring spaces) -
Requirements = a;b;c(ignoring spaces) -
Requirements = [a,b,c](ignoring spaces) -
(wouldn’t configparser shit itself?)
[Nikola] Requirement = a Requirement = b Requirement = c[Requirements] Requirement = a Requirement = b Requirement = c6. (what about more specific ranges? Or should we ignore the value altogether?)
[Requirements] a = 0.1.0 b = 0.2.0 c = 0.5.0
Or maybe, in requirements.txt:
nikola.plugins.a
nikola.plugins.b
nikola.plugins.c
Assuming the dependency names are just strings, we can always use "['foo','bar']" which can be created using json.dumps but it should not be necessary, I like your version 6
Yep, I think version 6 is more clean...
So, let’s actually trim out all of that nonsense and leave in two.
- *.plugin
[Requirements]
a = 0.1.0
b = 0.2.0
c = 0.5.0
- Advantages:
- separated from python requirements
- Disadvantages:
- it’s hard to create a format that would encompass all version requirements
- we (plugins.getnikola.com) provide only one version of a plugin anyways, making versions here a waste of time and space
- and we do not have anything else to put after the
=sign, something we have to do
- requirements.txt
nikola.plugins.a
nikola.plugins.b
- Advantages:
- unambiguous
- plugins are python but are not in the pypi — we can filter the file for installation with pip
- if we ever implement multiple versions, it can be added in the usual syntax at any given moment
- Disadvantages:
- mixed with python requirements
any thoughts, ideas, or such?
I'm ok with both
Re-thinking, I am more inclined to the second one version...