specware 1.3.24__tar.gz → 1.3.26__tar.gz
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.
- {specware-1.3.24 → specware-1.3.26}/PKG-INFO +2 -2
- {specware-1.3.24 → specware-1.3.26}/pyproject.toml +2 -2
- {specware-1.3.24 → specware-1.3.26}/src/specware/cliexport.py +23 -6
- {specware-1.3.24 → specware-1.3.26}/README.md +0 -0
- {specware-1.3.24 → specware-1.3.26}/src/specware/__init__.py +0 -0
- {specware-1.3.24 → specware-1.3.26}/src/specware/applconfig.py +0 -0
- {specware-1.3.24 → specware-1.3.26}/src/specware/build.py +0 -0
- {specware-1.3.24 → specware-1.3.26}/src/specware/cliexportheader.py +0 -0
- {specware-1.3.24 → specware-1.3.26}/src/specware/clifind.py +0 -0
- {specware-1.3.24 → specware-1.3.26}/src/specware/cliview.py +0 -0
- {specware-1.3.24 → specware-1.3.26}/src/specware/contentc.py +0 -0
- {specware-1.3.24 → specware-1.3.26}/src/specware/interface.py +0 -0
- {specware-1.3.24 → specware-1.3.26}/src/specware/interfacedoc.py +0 -0
- {specware-1.3.24 → specware-1.3.26}/src/specware/interfacemapper.py +0 -0
- {specware-1.3.24 → specware-1.3.26}/src/specware/py.typed +0 -0
- {specware-1.3.24 → specware-1.3.26}/src/specware/registerblock.py +0 -0
- {specware-1.3.24 → specware-1.3.26}/src/specware/rtems.py +0 -0
- {specware-1.3.24 → specware-1.3.26}/src/specware/spec.pickle +0 -0
- {specware-1.3.24 → specware-1.3.26}/src/specware/transitionmap.py +0 -0
- {specware-1.3.24 → specware-1.3.26}/src/specware/util.py +0 -0
- {specware-1.3.24 → specware-1.3.26}/src/specware/validation.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: specware
|
|
3
|
-
Version: 1.3.
|
|
3
|
+
Version: 1.3.26
|
|
4
4
|
Summary: Provides utilities to specify software.
|
|
5
5
|
Keywords: certification,documentation,markdown,qualification,requirements-management,traceability
|
|
6
6
|
Author: The specware Authors
|
|
@@ -20,7 +20,7 @@ Classifier: Topic :: Software Development :: Quality Assurance
|
|
|
20
20
|
Classifier: Topic :: Software Development :: Testing :: Acceptance
|
|
21
21
|
Classifier: Topic :: Text Processing :: Markup
|
|
22
22
|
Classifier: Typing :: Typed
|
|
23
|
-
Requires-Dist: specitems>=1.7.
|
|
23
|
+
Requires-Dist: specitems>=1.7.13
|
|
24
24
|
Requires-Python: >=3.11
|
|
25
25
|
Project-URL: Source Code, https://github.com/specthings/specware
|
|
26
26
|
Project-URL: Bug Tracker, https://github.com/specthings/specware/issues
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "specware"
|
|
7
|
-
version = "1.3.
|
|
7
|
+
version = "1.3.26"
|
|
8
8
|
description = "Provides utilities to specify software."
|
|
9
9
|
authors = [
|
|
10
10
|
{name = "The specware Authors", email = "specthings@embedded-brains.de"}
|
|
@@ -13,7 +13,7 @@ license = "BSD-2-Clause"
|
|
|
13
13
|
readme = "README.md"
|
|
14
14
|
requires-python = ">=3.11"
|
|
15
15
|
dependencies = [
|
|
16
|
-
"specitems >=1.7.
|
|
16
|
+
"specitems >=1.7.13",
|
|
17
17
|
]
|
|
18
18
|
keywords = [
|
|
19
19
|
"certification",
|
|
@@ -29,6 +29,7 @@ documentation files.
|
|
|
29
29
|
|
|
30
30
|
import argparse
|
|
31
31
|
import functools
|
|
32
|
+
import itertools
|
|
32
33
|
import logging
|
|
33
34
|
import os
|
|
34
35
|
import sys
|
|
@@ -41,7 +42,7 @@ from specitems import (ClangFormatter, ContentContext, DocumentGlossaryConfig,
|
|
|
41
42
|
check_license_items, create_config,
|
|
42
43
|
create_content_context, generate_glossary,
|
|
43
44
|
generate_specification_documentation, item_is_enabled,
|
|
44
|
-
yield_tasks)
|
|
45
|
+
link_is_enabled, yield_tasks)
|
|
45
46
|
|
|
46
47
|
from specware import (
|
|
47
48
|
run_with_clang_formatter, open_tree, MarkdownInterfaceMapper,
|
|
@@ -188,17 +189,33 @@ def _split_targets(targets: list[str],
|
|
|
188
189
|
return target_files, item_files
|
|
189
190
|
|
|
190
191
|
|
|
192
|
+
_PROXY_MEMBER_ROLES = ("proxy-member", "proxy-member-default")
|
|
193
|
+
|
|
194
|
+
|
|
195
|
+
def _add_uid(item_cache: ItemCache, uids: set[str], uid: str) -> None:
|
|
196
|
+
uids.add(uid)
|
|
197
|
+
proxy = item_cache.proxies.get(uid)
|
|
198
|
+
if proxy is not None:
|
|
199
|
+
# The members of a proxy provide the content which the export
|
|
200
|
+
# generates for the proxy.
|
|
201
|
+
uids.update(member.uid for member in proxy.children(
|
|
202
|
+
_PROXY_MEMBER_ROLES, is_link_enabled=link_is_enabled))
|
|
203
|
+
|
|
204
|
+
|
|
191
205
|
def _resolve_item_files(item_cache: ItemCache,
|
|
192
206
|
item_files: list[str]) -> Optional[set[str]]:
|
|
193
207
|
"""
|
|
194
208
|
Resolve the specification item files to the UIDs of the corresponding
|
|
195
209
|
items.
|
|
196
210
|
|
|
197
|
-
|
|
198
|
-
|
|
211
|
+
A proxy item file resolves to the UID of the proxy and to the UIDs of its
|
|
212
|
+
members. Return None if a file is associated with no item. Several files
|
|
213
|
+
may denote the same item, so the count of the UIDs tells nothing about the
|
|
199
214
|
success of the resolution.
|
|
200
215
|
"""
|
|
201
|
-
|
|
216
|
+
# The item cache holds the proxy items apart from the other items.
|
|
217
|
+
uid_by_file = dict((item.file, item.uid) for item in itertools.chain(
|
|
218
|
+
item_cache.values(), item_cache.proxies.values()))
|
|
202
219
|
uids: set[str] = set()
|
|
203
220
|
unresolved: list[str] = []
|
|
204
221
|
for item_file in item_files:
|
|
@@ -206,7 +223,7 @@ def _resolve_item_files(item_cache: ItemCache,
|
|
|
206
223
|
if uid is None:
|
|
207
224
|
unresolved.append(item_file)
|
|
208
225
|
else:
|
|
209
|
-
uids
|
|
226
|
+
_add_uid(item_cache, uids, uid)
|
|
210
227
|
if not unresolved:
|
|
211
228
|
return uids
|
|
212
229
|
# The item files are absolute, however, they may denote a symbolic link or
|
|
@@ -223,7 +240,7 @@ def _resolve_item_files(item_cache: ItemCache,
|
|
|
223
240
|
"'%s'", item_file)
|
|
224
241
|
resolved = False
|
|
225
242
|
else:
|
|
226
|
-
uids
|
|
243
|
+
_add_uid(item_cache, uids, uid)
|
|
227
244
|
return uids if resolved else None
|
|
228
245
|
|
|
229
246
|
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|