lockss-turtles 0.3.0.dev2__py3-none-any.whl → 0.3.0.dev4__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- CHANGELOG.rst +77 -0
- lockss/turtles/__init__.py +1 -1
- lockss/turtles/app.py +18 -16
- lockss/turtles/cli.py +12 -10
- lockss/turtles/plugin_registry.py +8 -9
- lockss/turtles/resources/plugin-registry-schema.json +7 -0
- lockss/turtles/resources/plugin-set-schema.json +23 -19
- lockss/turtles/resources/{plugin-signing-schema.json → plugin-signing-credentials-schema.json} +4 -4
- {lockss_turtles-0.3.0.dev2.dist-info → lockss_turtles-0.3.0.dev4.dist-info}/LICENSE +1 -1
- lockss_turtles-0.3.0.dev4.dist-info/METADATA +802 -0
- lockss_turtles-0.3.0.dev4.dist-info/RECORD +20 -0
- {lockss_turtles-0.3.0.dev2.dist-info → lockss_turtles-0.3.0.dev4.dist-info}/WHEEL +1 -1
- lockss/turtles/turtles.py +0 -1109
- lockss_turtles-0.3.0.dev2.dist-info/METADATA +0 -607
- lockss_turtles-0.3.0.dev2.dist-info/RECORD +0 -20
- {lockss_turtles-0.3.0.dev2.dist-info → lockss_turtles-0.3.0.dev4.dist-info}/entry_points.txt +0 -0
|
@@ -1,607 +0,0 @@
|
|
|
1
|
-
Metadata-Version: 2.1
|
|
2
|
-
Name: lockss-turtles
|
|
3
|
-
Version: 0.3.0.dev2
|
|
4
|
-
Summary: Tool to manage LOCKSS plugin sets and LOCKSS plugin repositories
|
|
5
|
-
Home-page: https://www.lockss.org/
|
|
6
|
-
License: BSD-3-Clause
|
|
7
|
-
Author: Thib Guicherd-Callin
|
|
8
|
-
Author-email: thib@cs.stanford.edu
|
|
9
|
-
Requires-Python: >=3.7,<4.0
|
|
10
|
-
Classifier: Development Status :: 5 - Production/Stable
|
|
11
|
-
Classifier: Environment :: Console
|
|
12
|
-
Classifier: Intended Audience :: Developers
|
|
13
|
-
Classifier: Intended Audience :: System Administrators
|
|
14
|
-
Classifier: License :: OSI Approved :: BSD License
|
|
15
|
-
Classifier: Operating System :: POSIX :: Linux
|
|
16
|
-
Classifier: Programming Language :: Python :: 3
|
|
17
|
-
Classifier: Programming Language :: Python :: 3.7
|
|
18
|
-
Classifier: Programming Language :: Python :: 3.8
|
|
19
|
-
Classifier: Programming Language :: Python :: 3.9
|
|
20
|
-
Classifier: Programming Language :: Python :: 3.10
|
|
21
|
-
Classifier: Programming Language :: Python :: 3.11
|
|
22
|
-
Classifier: Topic :: Utilities
|
|
23
|
-
Requires-Dist: java-manifest (==1.1.0)
|
|
24
|
-
Requires-Dist: jsonschema (==4.17.3)
|
|
25
|
-
Requires-Dist: pyyaml (==6.0)
|
|
26
|
-
Requires-Dist: tabulate (==0.9.0)
|
|
27
|
-
Requires-Dist: xdg (==6.0.0)
|
|
28
|
-
Project-URL: Repository, https://github.com/lockss/turtles
|
|
29
|
-
Description-Content-Type: text/x-rst
|
|
30
|
-
|
|
31
|
-
=======
|
|
32
|
-
Turtles
|
|
33
|
-
=======
|
|
34
|
-
|
|
35
|
-
Turtles is a tool to manage LOCKSS plugin sets and LOCKSS plugin registries.
|
|
36
|
-
|
|
37
|
-
Turtles supports `Plugin Sets`_ using a Maven layout inheriting from ``org.lockss:lockss-plugins-parent-pom`` or the legacy Ant layout of ``lockss-daemon``, and `Plugin Registries`_ with flat directory structures (optionally with RCS versioning) on the local file system.
|
|
38
|
-
|
|
39
|
-
-------------
|
|
40
|
-
Prerequisites
|
|
41
|
-
-------------
|
|
42
|
-
|
|
43
|
-
* Python 3.6 or greater.
|
|
44
|
-
|
|
45
|
-
Turtles' Python dependencies are defined in its ``requirements.txt`` files.
|
|
46
|
-
|
|
47
|
-
Other prerequisites depend on the `Plugin Set Builders`_ and `Plugin Registry Layouts`_ that may be involved in your activities; see the notes about **system prerequisites** for each.
|
|
48
|
-
|
|
49
|
-
-----------
|
|
50
|
-
Quick Start
|
|
51
|
-
-----------
|
|
52
|
-
|
|
53
|
-
* Get Turtles from Git::
|
|
54
|
-
|
|
55
|
-
git clone https://github.com/lockss/turtles
|
|
56
|
-
cd turtles
|
|
57
|
-
|
|
58
|
-
* Create a virtual environment::
|
|
59
|
-
|
|
60
|
-
python3 -m venv .venv
|
|
61
|
-
. .venv/bin/activate
|
|
62
|
-
|
|
63
|
-
and invoke Turtles as ``./turtles`` from here, or put ``./turtles`` on the ``PATH`` and invoke Turtles as ``turtles`` from anywhere.
|
|
64
|
-
|
|
65
|
-
* Install Turtles' Python dependencies::
|
|
66
|
-
|
|
67
|
-
pip3 install [OPTIONS...] --requirement requirements.txt
|
|
68
|
-
|
|
69
|
-
* To build plugins from plugin sets (``build-plugin``, ``release-plugin``), configure one or more plugin sets in ``plugin-sets.yaml`` (for example ``~/.config/turtles/plugin-sets.yaml``)::
|
|
70
|
-
|
|
71
|
-
---
|
|
72
|
-
kind: Settings
|
|
73
|
-
plugin-sets:
|
|
74
|
-
- /home/userx/lockss-daemon/turtles.yaml
|
|
75
|
-
|
|
76
|
-
and configure your plugin signing keystore in ``settings.yaml`` (``~/.config/turtles/settings.yaml``)::
|
|
77
|
-
|
|
78
|
-
---
|
|
79
|
-
kind: Settings
|
|
80
|
-
plugin-signing-keystore: /home/userx/secrets/userx-lockss.keystore
|
|
81
|
-
plugin-signing-alias: userx-lockss
|
|
82
|
-
|
|
83
|
-
* To deploy plugins into plugin registries (``deploy-plugin``, ``release-plugins``) or manage plugin registries (``analyze-registry``), configure one or more plugin registries in ``plugin-registries.yaml`` (for example ``~/.config/turtles/plugin-sets.yaml``)::
|
|
84
|
-
|
|
85
|
-
---
|
|
86
|
-
kind: Settings
|
|
87
|
-
plugin-registries:
|
|
88
|
-
- /var/www/plugins/turtles.yaml
|
|
89
|
-
|
|
90
|
-
--------
|
|
91
|
-
Examples
|
|
92
|
-
--------
|
|
93
|
-
|
|
94
|
-
Building plugins::
|
|
95
|
-
|
|
96
|
-
# Help message:
|
|
97
|
-
turtles build-plugin --help
|
|
98
|
-
|
|
99
|
-
# List of plugin identifiers
|
|
100
|
-
turtles build-plugin edu.myuniversity.plugin.publisherx.PublisherXPlugin edu.myuniversity.plugin.publishery.PublisherYPlugin ...
|
|
101
|
-
# Abbreviation
|
|
102
|
-
turtles bp edu.myuniversity.plugin.publisherx.PublisherXPlugin edu.myuniversity.plugin.publishery.PublisherYPlugin ...
|
|
103
|
-
|
|
104
|
-
# Alternative invocation
|
|
105
|
-
turtles build-plugin --identifier=edu.myuniversity.plugin.publisherx.PublisherXPlugin --identifier=edu.myuniversity.plugin.publishery.PublisherYPlugin ...
|
|
106
|
-
# Abbreviation
|
|
107
|
-
turtles bp -i edu.myuniversity.plugin.publisherx.PublisherXPlugin -i edu.myuniversity.plugin.publishery.PublisherYPlugin ...
|
|
108
|
-
|
|
109
|
-
# Alternative invocation
|
|
110
|
-
# /tmp/pluginids.txt has one plugin identifier per line
|
|
111
|
-
turtles build-plugin --identifiers=/tmp/pluginids.txt
|
|
112
|
-
# Abbreviation
|
|
113
|
-
turtles bp -I /tmp/pluginids.txt
|
|
114
|
-
|
|
115
|
-
Deploying plugins::
|
|
116
|
-
|
|
117
|
-
# Help message:
|
|
118
|
-
turtles deploy-plugin --help
|
|
119
|
-
|
|
120
|
-
# List of JARs
|
|
121
|
-
# Deploy to 'testing' layer only
|
|
122
|
-
turtles deploy-plugin --testing /path/to/edu.myuniversity.plugin.publisherx.PublisherXPlugin.jar /path/to/edu.myuniversity.plugin.publishery.PublisherYPlugin.jar ...
|
|
123
|
-
# Abbreviation
|
|
124
|
-
turtles dp -t /path/to/edu.myuniversity.plugin.publisherx.PublisherXPlugin.jar /path/to/edu.myuniversity.plugin.publishery.PublisherYPlugin.jar ...
|
|
125
|
-
|
|
126
|
-
# Alternative invocation
|
|
127
|
-
# Deploy to 'production' layer only
|
|
128
|
-
turtles deploy-plugin --production --jar=/path/to/edu.myuniversity.plugin.publisherx.PublisherXPlugin.jar --jar=/path/to/edu.myuniversity.plugin.publishery.PublisherYPlugin.jar ...
|
|
129
|
-
# Abbreviation
|
|
130
|
-
turtles dp -p -j /path/to/edu.myuniversity.plugin.publisherx.PublisherXPlugin.jar -j /path/to/edu.myuniversity.plugin.publishery.PublisherYPlugin.jar ...
|
|
131
|
-
|
|
132
|
-
# Alternative invocation
|
|
133
|
-
# /tmp/pluginjars.txt has one JAR path per line
|
|
134
|
-
# Deploy to both 'testing' and 'production' layers
|
|
135
|
-
turtles deploy-plugin --testing --production --jars=/tmp/pluginjars.txt
|
|
136
|
-
# Abbreviation
|
|
137
|
-
turtles bp -tp -J /tmp/pluginids.txt
|
|
138
|
-
|
|
139
|
-
Releasing (building and deploying) plugins::
|
|
140
|
-
|
|
141
|
-
# Help message:
|
|
142
|
-
turtles release-plugin --help
|
|
143
|
-
|
|
144
|
-
# List of plugin identifiers
|
|
145
|
-
# Deploy to 'testing' layer only
|
|
146
|
-
turtles release-plugin --testing edu.myuniversity.plugin.publisherx.PublisherXPlugin edu.myuniversity.plugin.publishery.PublisherYPlugin ...
|
|
147
|
-
# Abbreviation
|
|
148
|
-
turtles rp -t edu.myuniversity.plugin.publisherx.PublisherXPlugin edu.myuniversity.plugin.publishery.PublisherYPlugin ...
|
|
149
|
-
|
|
150
|
-
# Alternative invocation
|
|
151
|
-
# Deploy to 'production' layer only
|
|
152
|
-
turtles release-plugin --production --identifier=edu.myuniversity.plugin.publisherx.PublisherXPlugin --identifier=edu.myuniversity.plugin.publishery.PublisherYPlugin ...
|
|
153
|
-
# Abbreviation
|
|
154
|
-
turtles rp -p -i edu.myuniversity.plugin.publisherx.PublisherXPlugin -i edu.myuniversity.plugin.publishery.PublisherYPlugin ...
|
|
155
|
-
|
|
156
|
-
# Alternative invocation
|
|
157
|
-
# /tmp/pluginids.txt has one plugin identifier per line
|
|
158
|
-
# Deploy to both 'testing' and 'production' layers
|
|
159
|
-
turtles release-plugin --testing --production --identifiers=/tmp/pluginids.txt
|
|
160
|
-
# Abbreviation
|
|
161
|
-
turtles rp -tp -I /tmp/pluginids.txt
|
|
162
|
-
|
|
163
|
-
-----------
|
|
164
|
-
Plugin Sets
|
|
165
|
-
-----------
|
|
166
|
-
|
|
167
|
-
A plugin set is a project containing the source code of one or more LOCKSS plugins.
|
|
168
|
-
|
|
169
|
-
Declaring a Plugin Set
|
|
170
|
-
======================
|
|
171
|
-
|
|
172
|
-
A plugin set is defined in a YAML file, typically named ``turtles.yaml`` and found at the root of the project::
|
|
173
|
-
|
|
174
|
-
---
|
|
175
|
-
kind: PluginSet
|
|
176
|
-
id: ...
|
|
177
|
-
name: ...
|
|
178
|
-
builder:
|
|
179
|
-
type: ...
|
|
180
|
-
options: ...
|
|
181
|
-
main: ...
|
|
182
|
-
test: ...
|
|
183
|
-
|
|
184
|
-
The contents are described below.
|
|
185
|
-
|
|
186
|
-
``kind``
|
|
187
|
-
Must be set to ``PluginSet``.
|
|
188
|
-
|
|
189
|
-
``id``
|
|
190
|
-
A short identifier for the plugin set, for example ``my-plugin-set``.
|
|
191
|
-
|
|
192
|
-
``name``
|
|
193
|
-
A display name for the plugin set, for example ``My Plugin Set``.
|
|
194
|
-
|
|
195
|
-
``builder``
|
|
196
|
-
A mapping defining the plugin set's builder together with options.
|
|
197
|
-
|
|
198
|
-
``type``
|
|
199
|
-
A plugin set builder type. See `Plugin Set Builders`_ below.
|
|
200
|
-
|
|
201
|
-
``options``
|
|
202
|
-
A mapping of type-specific options for the plugin set builder, if applicable. See `Plugin Set Builders`_ below.
|
|
203
|
-
|
|
204
|
-
``main``
|
|
205
|
-
The path (relative to the root of the project) under which the source code of the plugins can be found. May have a default value for a given builder type.
|
|
206
|
-
|
|
207
|
-
``test``
|
|
208
|
-
The path (relative to the root of the project) under which the source code of the plugins' unit tests can be found. May have a default value for a given builder type.
|
|
209
|
-
|
|
210
|
-
Plugin Set Builders
|
|
211
|
-
===================
|
|
212
|
-
|
|
213
|
-
The following plugin set builder types are supported:
|
|
214
|
-
|
|
215
|
-
``ant``
|
|
216
|
-
The plugin set builder type ``ant`` designates a project using the legacy Ant layout and build file of the LOCKSS Program's ``lockss-daemon`` project.
|
|
217
|
-
|
|
218
|
-
This builder expects ``ant load-plugins`` to compile and verify all plugins, and the scripts ``test/scripts/jarplugin`` and ``test/scripts/signplugin``. (These could all become configurable if there are plugin projects out there generally using this builder logic but not matching these assumptions.)
|
|
219
|
-
|
|
220
|
-
For this builder type, the ``main`` and ``test`` properties of the ``PluginSet`` object default to ``plugins/src`` and ``plugins/test/src`` respectively.
|
|
221
|
-
|
|
222
|
-
**System prerequisites.** This builder requires:
|
|
223
|
-
|
|
224
|
-
* Java Development Kit 8 (JDK)
|
|
225
|
-
|
|
226
|
-
* Apache Ant
|
|
227
|
-
|
|
228
|
-
* The environment variable ``JAVA_HOME`` must be set.
|
|
229
|
-
|
|
230
|
-
**Options.** This builder does not look for optional configuration information in the ``options`` mapping.
|
|
231
|
-
|
|
232
|
-
``mvn``
|
|
233
|
-
The plugin set builder type ``mvn`` designates a project using a Maven layout and inheriting from ``org.lockss:lockss-plugins-parent-pom``.
|
|
234
|
-
|
|
235
|
-
For this builder type, the ``main`` and ``test`` properties of the ``PluginSet`` object default to the Maven standard ``src/main/java`` and ``src/test/java`` respectively.
|
|
236
|
-
|
|
237
|
-
**System prerequisites.** This builder requires:
|
|
238
|
-
|
|
239
|
-
* Java Development Kit 8 (JDK)
|
|
240
|
-
|
|
241
|
-
* Apache Maven
|
|
242
|
-
|
|
243
|
-
**Options.** This builder does not look for optional configuration information in the ``options`` mapping.
|
|
244
|
-
|
|
245
|
-
For other types of building strategies out there, more types of builders could be supported, and/or the tool could be extended to allow for custom builder types to be registered.
|
|
246
|
-
|
|
247
|
-
-----------------
|
|
248
|
-
Plugin Registries
|
|
249
|
-
-----------------
|
|
250
|
-
|
|
251
|
-
A plugin registry is a structure containing LOCKSS plugins packaged as signed JAR files.
|
|
252
|
-
|
|
253
|
-
Currently the only predefined structures are directory structures local to the file system, but in the future this could also be Git trees or other structures.
|
|
254
|
-
|
|
255
|
-
Plugin Registry Layers
|
|
256
|
-
======================
|
|
257
|
-
|
|
258
|
-
A plugin registry consists of one or more layers. Some plugin registries may have only one layer, in which case the LOCKSS boxes in a network using the plugin registry will get what is released to it. Some plugin registries may have two or more layers, with the additional layers used for plugin development or content processing quality assurance.
|
|
259
|
-
|
|
260
|
-
Plugin layers are sequential in nature; a new version of a plugin is released to the lowest layer first, then to the next layer (after some process), and so on until the highest layer.
|
|
261
|
-
|
|
262
|
-
Although the identifiers (see ``id`` below) and display names (see ``name`` below) of plugin registry layers are arbitrary, the highest layer is commonly referred to as the *production* layer, and when there are exactly two layers, the lower layer is commonly referred to as the *testing* layer. Turtles reflects this common idiom with built-in ``--production`` and ``--testing`` options that are shorthand for ``--layer=production`` and ``--layer=testing`` respectively.
|
|
263
|
-
|
|
264
|
-
It is possible for multiple plugin registries to have a layer path in common. An example would be a team working on several plugin registries for different purposes, having distinct (public) production layer paths, but sharing a single (internal) testing layer path, if they are the only audience for it.
|
|
265
|
-
|
|
266
|
-
Declaring a Plugin Registry
|
|
267
|
-
===========================
|
|
268
|
-
|
|
269
|
-
A plugin registry is defined in a YAML file::
|
|
270
|
-
|
|
271
|
-
---
|
|
272
|
-
kind: PluginRegistry
|
|
273
|
-
id: ...
|
|
274
|
-
name: ...
|
|
275
|
-
layout:
|
|
276
|
-
type: ...
|
|
277
|
-
options: ...
|
|
278
|
-
layers:
|
|
279
|
-
- id: ...
|
|
280
|
-
name: ...
|
|
281
|
-
path: ...
|
|
282
|
-
- ...
|
|
283
|
-
plugin-identifiers:
|
|
284
|
-
- ...
|
|
285
|
-
- ...
|
|
286
|
-
suppressed-plugin-identifiers:
|
|
287
|
-
- ...
|
|
288
|
-
- ...
|
|
289
|
-
|
|
290
|
-
The contents are described below.
|
|
291
|
-
|
|
292
|
-
``kind``
|
|
293
|
-
Must be set to ``PluginRegistry``.
|
|
294
|
-
|
|
295
|
-
``id``
|
|
296
|
-
A short identifier for the plugin registry, for example ``my-plugin-registry``.
|
|
297
|
-
|
|
298
|
-
``name``
|
|
299
|
-
A display name for the plugin registry, for example ``My Plugin Registry``.
|
|
300
|
-
|
|
301
|
-
``layout``
|
|
302
|
-
A mapping defining the plugin registry's layout together with options.
|
|
303
|
-
|
|
304
|
-
``type``
|
|
305
|
-
A plugin registry layout type. See `Plugin Registry Layouts`_ below.
|
|
306
|
-
|
|
307
|
-
``options``
|
|
308
|
-
A mapping of type-specific options for the plugin registry layout, if applicable. See `Plugin Registry Layouts`_ below.
|
|
309
|
-
|
|
310
|
-
``layers``
|
|
311
|
-
An ordered list of the plugin registry's layers. Each list element consists of the following three-element mapping:
|
|
312
|
-
|
|
313
|
-
``id``
|
|
314
|
-
A short identifier for the plugin registry layer, for example ``production`` or ``testing``.
|
|
315
|
-
|
|
316
|
-
``name``
|
|
317
|
-
A display name for the plugin regisry layer, for example ``My Plugin Registry Testing Layer`` or ``My Plugin Registry (Testing)``.
|
|
318
|
-
|
|
319
|
-
``path``
|
|
320
|
-
A directory path where the root of the plugin registry layer can be found.
|
|
321
|
-
|
|
322
|
-
``plugin-identifiers``
|
|
323
|
-
A list of plugin identifiers contained in the plugin registry.
|
|
324
|
-
|
|
325
|
-
``suppressed-plugin-identifiers``
|
|
326
|
-
A list of plugin identifiers excluded by the plugin registry.
|
|
327
|
-
|
|
328
|
-
Turtles does not currently do anything with this information but it could be used to record plugins that have been abandoned or retracted over the lifetime of the plugin registry.
|
|
329
|
-
|
|
330
|
-
Plugin Registry Layouts
|
|
331
|
-
=======================
|
|
332
|
-
|
|
333
|
-
The following plugin registry layout types are supported:
|
|
334
|
-
|
|
335
|
-
``directory``
|
|
336
|
-
Each layer consists of a directory on the file system where signed plugin JARs are stored, which is then typically served by a Web server. The directory for each layer is designated by the layer's ``path`` property.
|
|
337
|
-
|
|
338
|
-
**System prerequisites.** This layout does not have any additional system prerequisites.
|
|
339
|
-
|
|
340
|
-
**Options.** This layout does not look for optional configuration information in the ``options`` mapping.
|
|
341
|
-
|
|
342
|
-
``rcs``
|
|
343
|
-
A specialization of the ``directory`` type, that also keeps successive versions of a given JAR locally in RCS. The directory for each layer is designated by the layer's ``path`` property as in the ``directory`` type, and additionally this layout expects an ``RCS`` directory to exist in the layer directory.
|
|
344
|
-
|
|
345
|
-
**System prerequisites.** This layout requires:
|
|
346
|
-
|
|
347
|
-
* RCS
|
|
348
|
-
|
|
349
|
-
**Options.** This layout accepts the following options::
|
|
350
|
-
|
|
351
|
-
layout:
|
|
352
|
-
type: rcs
|
|
353
|
-
options:
|
|
354
|
-
file-naming-convention: ...
|
|
355
|
-
|
|
356
|
-
``file-naming-convention``
|
|
357
|
-
A rule for what to each deployed JAR file given an original file named after the plugin's identifier, for example ``edu.myuniversity.plugin.publisherx.PublisherXPlugin.jar``:
|
|
358
|
-
|
|
359
|
-
``abbreviated``
|
|
360
|
-
Shorten the file name to its last component, for example ``edu.myuniversity.plugin.publisherx.PublisherXPlugin.jar`` is deployed as ``PublisherXPlugin.jar``.
|
|
361
|
-
|
|
362
|
-
``full``
|
|
363
|
-
**Default.** Use the original file name, unchanged.
|
|
364
|
-
|
|
365
|
-
Other layout types could be defined to support other uses cases out there, and/or the tool could be extended to allow for custom layout types to be registered.
|
|
366
|
-
|
|
367
|
-
-----------
|
|
368
|
-
Configuring
|
|
369
|
-
-----------
|
|
370
|
-
|
|
371
|
-
When Turtles looks for a configuration file, it looks in the following directories in sequence until it finds the matching file:
|
|
372
|
-
|
|
373
|
-
* ``${HOME}/.config/turtles``
|
|
374
|
-
|
|
375
|
-
* ``/etc/turtles``
|
|
376
|
-
|
|
377
|
-
Configuration files are YAML files containing a mapping with ``kind`` set to ``Settings`` along with whatever data is required by the given configuration file.
|
|
378
|
-
|
|
379
|
-
``settings.yaml``
|
|
380
|
-
=================
|
|
381
|
-
|
|
382
|
-
Overview of this file::
|
|
383
|
-
|
|
384
|
-
---
|
|
385
|
-
kind: Settings
|
|
386
|
-
plugin-signing-alias: ...
|
|
387
|
-
plugin-signing-keystore: ...
|
|
388
|
-
|
|
389
|
-
If you are using Turtles to build or release plugins (``turtles build-plugin`` or ``turtles release-plugin`` commands), you will need to specify the following keys:
|
|
390
|
-
|
|
391
|
-
``plugin-signing-alias``
|
|
392
|
-
The alias of your plugin signing key.
|
|
393
|
-
|
|
394
|
-
``plugin-signing-keystore``
|
|
395
|
-
The path of your plugin signing keystore.
|
|
396
|
-
|
|
397
|
-
``plugin-sets.yaml``
|
|
398
|
-
====================
|
|
399
|
-
|
|
400
|
-
This configuration file is needed by Turtles when building or releasing plugins (``turtles build-plugin`` or ``turtles release-plugin`` commands)::
|
|
401
|
-
|
|
402
|
-
---
|
|
403
|
-
kind: Settings
|
|
404
|
-
plugin-sets:
|
|
405
|
-
- ...
|
|
406
|
-
- ...
|
|
407
|
-
|
|
408
|
-
Each entry in the ``plugin-sets`` list is the path to a YAML file containing one or more ``PluginSet`` definitions.
|
|
409
|
-
|
|
410
|
-
``plugin-registries.yaml``
|
|
411
|
-
==========================
|
|
412
|
-
|
|
413
|
-
This configuration file is needed by Turtles when deploying or releasing plugins (``turtles deploy-plugin`` or ``turtles release-plugin`` commands), and when outputting reports on plugin registries (``turtles analyze-registry`` command)::
|
|
414
|
-
|
|
415
|
-
---
|
|
416
|
-
kind: Settings
|
|
417
|
-
plugin-registries:
|
|
418
|
-
- ...
|
|
419
|
-
- ...
|
|
420
|
-
|
|
421
|
-
Each entry in the ``plugin-registries`` list is the path to a YAML file containing one or more ``PluginRegistry`` definitions.
|
|
422
|
-
|
|
423
|
-
-----
|
|
424
|
-
Using
|
|
425
|
-
-----
|
|
426
|
-
|
|
427
|
-
Help message (``turtles --help``)::
|
|
428
|
-
|
|
429
|
-
usage: turtles [-h] [--debug-cli] [--non-interactive] [--output-format FMT]
|
|
430
|
-
COMMAND ...
|
|
431
|
-
|
|
432
|
-
options:
|
|
433
|
-
-h, --help show this help message and exit
|
|
434
|
-
--debug-cli print the result of parsing command line arguments
|
|
435
|
-
--non-interactive, -n
|
|
436
|
-
disallow interactive prompts (default: allow)
|
|
437
|
-
--output-format FMT set tabular output format to FMT (default: simple;
|
|
438
|
-
choices: fancy_grid, fancy_outline, github, grid,
|
|
439
|
-
html, jira, latex, latex_booktabs, latex_longtable,
|
|
440
|
-
latex_raw, mediawiki, moinmoin, orgtbl, pipe, plain,
|
|
441
|
-
presto, pretty, psql, rst, simple, textile, tsv,
|
|
442
|
-
unsafehtml, youtrack)
|
|
443
|
-
|
|
444
|
-
commands:
|
|
445
|
-
Add --help to see the command's own help message
|
|
446
|
-
|
|
447
|
-
COMMAND DESCRIPTION
|
|
448
|
-
analyze-registry (ar)
|
|
449
|
-
analyze plugin registries
|
|
450
|
-
build-plugin (bp) build (package and sign) plugins
|
|
451
|
-
copyright show copyright and exit
|
|
452
|
-
deploy-plugin (dp) deploy plugins
|
|
453
|
-
license show license and exit
|
|
454
|
-
release-plugin (rp)
|
|
455
|
-
release (build and deploy) plugins
|
|
456
|
-
usage show detailed usage and exit
|
|
457
|
-
version show version and exit
|
|
458
|
-
|
|
459
|
-
``turtles analyze-registry``
|
|
460
|
-
============================
|
|
461
|
-
|
|
462
|
-
Synonym: ``turtles ar``
|
|
463
|
-
|
|
464
|
-
Help message (``turtles analyze-registry --help``)::
|
|
465
|
-
|
|
466
|
-
usage: turtles analyze-registry [-h] [--plugin-registries FILE]
|
|
467
|
-
[--plugin-sets FILE] [--settings FILE]
|
|
468
|
-
|
|
469
|
-
Analyze plugin registries
|
|
470
|
-
|
|
471
|
-
options:
|
|
472
|
-
-h, --help show this help message and exit
|
|
473
|
-
--plugin-registries FILE
|
|
474
|
-
load plugin registries from FILE (default:
|
|
475
|
-
$HOME/.config/turtles/plugin-registries.yaml or
|
|
476
|
-
/etc/turtles/plugin-registries.yaml)
|
|
477
|
-
--plugin-sets FILE load plugin sets from FILE (default:
|
|
478
|
-
$HOME/.config/turtles/plugin-sets.yaml or
|
|
479
|
-
/etc/turtles/plugin-sets.yaml)
|
|
480
|
-
--settings FILE load settings from FILE (default:
|
|
481
|
-
$HOME/.config/turtles/settings.yaml or
|
|
482
|
-
/etc/turtles/settings.yaml)
|
|
483
|
-
|
|
484
|
-
``turtles build-plugin``
|
|
485
|
-
========================
|
|
486
|
-
|
|
487
|
-
Synonym: ``turtles bp``
|
|
488
|
-
|
|
489
|
-
Help message (``turtles build-plugin --help``)::
|
|
490
|
-
|
|
491
|
-
usage: turtles build-plugin [-h] [--identifier PLUGID] [--identifiers FILE]
|
|
492
|
-
[--password PASS] [--plugin-sets FILE]
|
|
493
|
-
[--settings FILE]
|
|
494
|
-
[PLUGID ...]
|
|
495
|
-
|
|
496
|
-
Build (package and sign) plugins
|
|
497
|
-
|
|
498
|
-
positional arguments:
|
|
499
|
-
PLUGID plugin identifier to build
|
|
500
|
-
|
|
501
|
-
options:
|
|
502
|
-
-h, --help show this help message and exit
|
|
503
|
-
--identifier PLUGID, -i PLUGID
|
|
504
|
-
add PLUGID to the list of plugin identifiers to build
|
|
505
|
-
--identifiers FILE, -I FILE
|
|
506
|
-
add the plugin identifiers in FILE to the list of
|
|
507
|
-
plugin identifiers to build
|
|
508
|
-
--password PASS set the plugin signing password
|
|
509
|
-
--plugin-sets FILE load plugin sets from FILE (default:
|
|
510
|
-
$HOME/.config/turtles/plugin-sets.yaml or
|
|
511
|
-
/etc/turtles/plugin-sets.yaml)
|
|
512
|
-
--settings FILE load settings from FILE (default:
|
|
513
|
-
$HOME/.config/turtles/settings.yaml or
|
|
514
|
-
/etc/turtles/settings.yaml)
|
|
515
|
-
|
|
516
|
-
``turtles deploy-plugin``
|
|
517
|
-
=========================
|
|
518
|
-
|
|
519
|
-
Synonym: ``turtles dp``
|
|
520
|
-
|
|
521
|
-
Help message (``turtles deploy-plugin --help``)::
|
|
522
|
-
|
|
523
|
-
usage: turtles deploy-plugin [-h] [--jar PLUGJAR] [--jars FILE]
|
|
524
|
-
[--layer LAYER] [--layers FILE]
|
|
525
|
-
[--plugin-registries FILE] [--production]
|
|
526
|
-
[--testing]
|
|
527
|
-
[PLUGJAR ...]
|
|
528
|
-
|
|
529
|
-
Deploy plugins
|
|
530
|
-
|
|
531
|
-
positional arguments:
|
|
532
|
-
PLUGJAR plugin JAR to deploy
|
|
533
|
-
|
|
534
|
-
options:
|
|
535
|
-
-h, --help show this help message and exit
|
|
536
|
-
--jar PLUGJAR, -j PLUGJAR
|
|
537
|
-
add PLUGJAR to the list of plugin JARs to deploy
|
|
538
|
-
--jars FILE, -J FILE add the plugin JARs in FILE to the list of plugin JARs
|
|
539
|
-
to deploy
|
|
540
|
-
--layer LAYER, -l LAYER
|
|
541
|
-
add LAYER to the list of plugin registry layers to
|
|
542
|
-
process
|
|
543
|
-
--layers FILE, -L FILE
|
|
544
|
-
add the layers in FILE to the list of plugin registry
|
|
545
|
-
layers to process
|
|
546
|
-
--plugin-registries FILE
|
|
547
|
-
load plugin registries from FILE (default:
|
|
548
|
-
$HOME/.config/turtles/plugin-registries.yaml or
|
|
549
|
-
/etc/turtles/plugin-registries.yaml)
|
|
550
|
-
--production, -p synonym for --layer=production (i.e. add 'production'
|
|
551
|
-
to the list of plugin registry layers to process)
|
|
552
|
-
--testing, -t synonym for --layer=testing (i.e. add 'testing' to the
|
|
553
|
-
list of plugin registry layers to process)
|
|
554
|
-
|
|
555
|
-
``turtles release-plugin``
|
|
556
|
-
==========================
|
|
557
|
-
|
|
558
|
-
Synonym: ``turtles rp``
|
|
559
|
-
|
|
560
|
-
Help message (``turtles release-plugin --help``)::
|
|
561
|
-
|
|
562
|
-
usage: turtles release-plugin [-h] [--identifier PLUGID] [--identifiers FILE]
|
|
563
|
-
[--layer LAYER] [--layers FILE]
|
|
564
|
-
[--password PASS] [--plugin-registries FILE]
|
|
565
|
-
[--plugin-sets FILE] [--production]
|
|
566
|
-
[--settings FILE] [--testing]
|
|
567
|
-
[PLUGID ...]
|
|
568
|
-
|
|
569
|
-
Release (build and deploy) plugins
|
|
570
|
-
|
|
571
|
-
positional arguments:
|
|
572
|
-
PLUGID plugin identifier to build
|
|
573
|
-
|
|
574
|
-
options:
|
|
575
|
-
-h, --help show this help message and exit
|
|
576
|
-
--identifier PLUGID, -i PLUGID
|
|
577
|
-
add PLUGID to the list of plugin identifiers to build
|
|
578
|
-
--identifiers FILE, -I FILE
|
|
579
|
-
add the plugin identifiers in FILE to the list of
|
|
580
|
-
plugin identifiers to build
|
|
581
|
-
--layer LAYER, -l LAYER
|
|
582
|
-
add LAYER to the list of plugin registry layers to
|
|
583
|
-
process
|
|
584
|
-
--layers FILE, -L FILE
|
|
585
|
-
add the layers in FILE to the list of plugin registry
|
|
586
|
-
layers to process
|
|
587
|
-
--password PASS set the plugin signing password
|
|
588
|
-
--plugin-registries FILE
|
|
589
|
-
load plugin registries from FILE (default:
|
|
590
|
-
$HOME/.config/turtles/plugin-registries.yaml or
|
|
591
|
-
/etc/turtles/plugin-registries.yaml)
|
|
592
|
-
--plugin-sets FILE load plugin sets from FILE (default:
|
|
593
|
-
$HOME/.config/turtles/plugin-sets.yaml or
|
|
594
|
-
/etc/turtles/plugin-sets.yaml)
|
|
595
|
-
--production, -p synonym for --layer=production (i.e. add 'production'
|
|
596
|
-
to the list of plugin registry layers to process)
|
|
597
|
-
--settings FILE load settings from FILE (default:
|
|
598
|
-
$HOME/.config/turtles/settings.yaml or
|
|
599
|
-
/etc/turtles/settings.yaml)
|
|
600
|
-
--testing, -t synonym for --layer=testing (i.e. add 'testing' to the
|
|
601
|
-
list of plugin registry layers to process)
|
|
602
|
-
|
|
603
|
-
Tabular Output Format
|
|
604
|
-
=====================
|
|
605
|
-
|
|
606
|
-
Turtles' tabular output is performed by the `tabulate <https://pypi.org/project/tabulate/>`_ library through the ``--output-format`` option. See https://github.com/astanin/python-tabulate#table-format for a visual reference of the various output formats available. The **default** is ``simple``.
|
|
607
|
-
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
lockss/turtles/__init__.py,sha256=WRe-lKrxrdA9M_gDQI-ckwfnboee8csPkN3qvkVwl2g,3162
|
|
2
|
-
lockss/turtles/__main__.py,sha256=57NMiI-NAibLExMX0Y6QApQhaDUblHTQqCDSiWBVt6k,1633
|
|
3
|
-
lockss/turtles/app.py,sha256=YQUr-fs80RNz72buoaE3NVMm2qwuA_zAdQIrxgbWmjw,8697
|
|
4
|
-
lockss/turtles/cli.py,sha256=u8fGeJwEAdJpefxGOEX0Sk2r1HOpKFyWx51FMOhKHAA,21000
|
|
5
|
-
lockss/turtles/plugin.py,sha256=nj1K02oPPLH2XSJjRTqpJjCuS0Cf9by2lm9sPgleKMc,4279
|
|
6
|
-
lockss/turtles/plugin_registry.py,sha256=cAeKX0c0XP8NnCQJ1kdgMhEIVUKdMyLky0p1vEldDCE,9033
|
|
7
|
-
lockss/turtles/plugin_set.py,sha256=hnJfBK76YpfmbF0vMvkqIWi6EyKRzyvVG4yjwLFYGRc,10316
|
|
8
|
-
lockss/turtles/resources/__init__.py,sha256=qHJYdSSUBYvd4Ib_RPqN0P5G2nHFYrf9UqLsHaN0J8U,1579
|
|
9
|
-
lockss/turtles/resources/plugin-registry-catalog-schema.json,sha256=etH0ytEXTw1QFFRaxJySCNX9fWP63BXo8n91Snv5Yjc,685
|
|
10
|
-
lockss/turtles/resources/plugin-registry-schema.json,sha256=xWlrMwcQnC_v41xoJRFzaY17VEDS1FQtTYw5p9qZXH0,2420
|
|
11
|
-
lockss/turtles/resources/plugin-set-catalog-schema.json,sha256=UbB0BCd9jdROGyXf2pZg4GV4lxToM9uBgN5WVyndK4w,650
|
|
12
|
-
lockss/turtles/resources/plugin-set-schema.json,sha256=gRUrv9pqRlrQLao12FzSie1PjvZ5WB6V84ZLoFpm5UE,1991
|
|
13
|
-
lockss/turtles/resources/plugin-signing-schema.json,sha256=hW7iB6ZUqp-9ciIun_ncrH5HO57XAZ_5u0XWaKlgUo0,715
|
|
14
|
-
lockss/turtles/turtles.py,sha256=JynWah5P30XVa2zoF_o2ZeOifSF_GjQuwu3m3ebBri4,45133
|
|
15
|
-
lockss/turtles/util.py,sha256=g3pGADgnmaQce3pNrpA1VjuSlNUJUAITyPyM6pNdVOA,2430
|
|
16
|
-
lockss_turtles-0.3.0.dev2.dist-info/LICENSE,sha256=fgTUGMTzvYj8N7qyJ2CzUMxj3Arp67RAmi5Jqbjml1Q,1506
|
|
17
|
-
lockss_turtles-0.3.0.dev2.dist-info/METADATA,sha256=bGtZhz-PJFQ9MS6ZcrKVsq8HHDUhVOainU6-duTrlXY,24385
|
|
18
|
-
lockss_turtles-0.3.0.dev2.dist-info/WHEEL,sha256=UTbu2d3PIo7FtACOQrq825bNtQhldwLx2SG2oh0Fl8Q,88
|
|
19
|
-
lockss_turtles-0.3.0.dev2.dist-info/entry_points.txt,sha256=25BAVFSBRKWAWiXIGZgcr1ypt2mV7nj31Jl8WcNZZOk,51
|
|
20
|
-
lockss_turtles-0.3.0.dev2.dist-info/RECORD,,
|
{lockss_turtles-0.3.0.dev2.dist-info → lockss_turtles-0.3.0.dev4.dist-info}/entry_points.txt
RENAMED
|
File without changes
|