Use the dependents and parent-plugin fields to automatically install dependencies

This commit is contained in:
Jeremy Ruston 2019-09-25 21:57:22 +01:00
parent 58f1eb77bd
commit e752ba7c6a
4 changed files with 23 additions and 3 deletions

View File

@ -5,6 +5,13 @@ subtitle: {{$:/core/images/download-button}} {{$:/language/ControlPanel/Plugins/
<div>
<$button class={{{ [<assetInfo>get[original-title]get[version]then[tc-reinstall]] tc-btn-invisible tc-install-plugin +[join[ ]] }}}>
<$action-sendmessage $message="tm-load-plugin-from-library" url={{!!url}} title={{$(assetInfo)$!!original-title}}/>
<$set name="url" value={{!!url}}>
<$set name="currentTiddler" value=<<assetInfo>>>
<$list filter="[enlist{!!dependents}] [{!!parent-plugin}] +[sort[title]]" variable="dependency">
<$action-sendmessage $message="tm-load-plugin-from-library" url=<<url>> title=<<dependency>>/>
</$list>
</$set>
</$set>
{{$:/core/images/download-button}}
<$list filter="[<assetInfo>get[original-title]get[version]]" variable="installedVersion" emptyMessage="""{{$:/language/ControlPanel/Plugins/Install/Caption}}""">
{{$:/language/ControlPanel/Plugins/Reinstall/Caption}}
@ -57,6 +64,16 @@ $:/state/add-plugin-info/$(connectionTiddler)$/$(assetInfo)$
{{$:/language/ControlPanel/Plugins/AlreadyInstalled/Hint}}
</em>
</$list>
<$set name="currentTiddler" value=<<assetInfo>>>
<$list filter="[enlist{!!dependents}] [<currentTiddler>get[parent-plugin]] +[limit[1]]" variable="ignore">
<div>
Also requires:
<$list filter="[enlist{!!dependents}] [{!!parent-plugin}] +[sort[title]]" variable="dependency">
<$text text=<<dependency>>/>
</$list>
</div>
</$list>
</$set>
</div>
<div class="tc-plugin-info-dropdown-body">
<$transclude tiddler=<<assetInfo>> field="readme" mode="block"/>

View File

@ -2,5 +2,6 @@
"title": "$:/plugins/tiddlywiki/aws",
"name": "AWS",
"description": "Amazon Web Services extensions and tools",
"list": "readme setup commands lambda"
"list": "readme setup commands lambda",
"dependents": ["$:/plugins/tiddlywiki/async","$:/plugins/tiddlywiki/jszip"]
}

View File

@ -2,5 +2,6 @@
"title": "$:/plugins/tiddlywiki/text-slicer",
"name": "Text Slicer",
"description": "Tools for slicing text into tiddlers",
"list": "readme docs"
"list": "readme docs",
"dependents": ["$:/plugins/tiddlywiki/sax"]
}

View File

@ -2,5 +2,6 @@
"title": "$:/plugins/tiddlywiki/xlsx-utils",
"name": "XLSX Utils",
"description": "XLSX spreadsheet utilities",
"list": "readme controls license"
"list": "readme controls license",
"dependents": ["$:/plugins/tiddlywiki/jszip"]
}