Skip to content

Commit 69692f5

Browse files
committed
Merge branch 'feat/clarify-component-release' into fix/snake_case-to-camelCase
2 parents f62443c + d5cde40 commit 69692f5

File tree

2 files changed

+97
-13
lines changed

2 files changed

+97
-13
lines changed

spec/openapi.yaml

Lines changed: 30 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -340,14 +340,19 @@ components:
340340
type: object
341341
properties:
342342
uuid:
343+
description: A unique identifier for the TEA Component Release
343344
"$ref": "#/components/schemas/uuid"
344345
version:
346+
description: Version number
345347
type: string
346348
releaseDate:
349+
description: Timestamp of the release (for sorting purposes)
347350
"$ref": "#/components/schemas/date-time"
348351
preRelease:
349352
type: boolean
350-
description: Marks if the version is a pre-release version
353+
description: |
354+
A flag indicating pre-release (or beta) status.
355+
May be disabled after the creation of the release object, but can't be enabled after creation of an object.
351356
identifiers:
352357
type: array
353358
description: List of identifiers for the component
@@ -358,6 +363,30 @@ components:
358363
- uuid
359364
- version
360365
- releaseDate
366+
examples:
367+
# Apache Tomcat 11.0.6
368+
- uuid: 605d0ecb-1057-40e4-9abf-c400b10f0345
369+
version: "11.0.6"
370+
releaseDate: 2025-04-01T15:43:00Z
371+
identifiers:
372+
- idType: purl
373+
idValue: pkg:maven/org.apache.tomcat/tomcat@11.0.6
374+
# Different release of Apache Tomcat
375+
- uuid: da89e38e-95e7-44ca-aa7d-f3b6b34c7fab
376+
version: "10.1.40"
377+
releaseDate: 2025-04-01T18:20:00Z
378+
identifiers:
379+
- idType: purl
380+
idValue: pkg:maven/org.apache.tomcat/tomcat@10.1.40
381+
# A pre-release of Apache Tomcat
382+
- uuid: 95f481df-f760-47f4-b2f2-f8b76d858450
383+
version: "11.0.0-M26"
384+
releaseDate: 2024-09-13T17:49:00Z
385+
preRelease: true
386+
identifiers:
387+
- idType: purl
388+
idValue: pkg:maven/org.apache.tomcat/tomcat@11.0.0-M26
389+
361390
#
362391
# TEA Collection and related objects
363392
#

tea-collection/tea-collection.md

Lines changed: 67 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -2,18 +2,73 @@
22

33
## The TEA release object (TRO)
44

5-
The TEA Component Release object is a list of releases (versions) of a component
6-
with a release identifier (string), release timestamp and a lifecycle
7-
enumeration for the release. Each release includes a UUID of a
8-
TEA Collection object (TCO).
9-
10-
* UUID: Release UUID
11-
* Version: Version (string)
12-
* Date: Timestamp of release (for sorting releases)
13-
* Prerelease: A flag indicating pre-release (or beta) status. May be disabled
14-
after creation of release object, but can't be enabled after creation of
15-
an object.
16-
* Lifecycle: An identifier indicating lifecycle status of a release
5+
The TEA Component Release object corresponds to a specific variant
6+
(version) of a component with a release identifier (string),
7+
release timestamp and a lifecycle enumeration for the release.
8+
The UUID of the TEA Component Release object matches the UUID of the associated TEA Collection objects (TCO).
9+
10+
A TEA Component Release object has the following parts:
11+
12+
- __uuid__: A unique identifier for the TEA Component Release
13+
- __version__: Version number
14+
- __releaseDate__: Timestamp of the release (for sorting purposes)
15+
- __preRelease__: A flag indicating pre-release (or beta) status.
16+
May be disabled after the creation of the release object, but can't be enabled after creation of an object.
17+
- __identifiers__: List of identifiers for the component
18+
- __idType__: Type of identifier, e.g. `tei`, `purl`, `cpe`
19+
- __idValue__: Identifier value
20+
21+
### Examples
22+
23+
A TEA Component Release object of the binary distribution of Apache Tomcat 11.0.6 will look like:
24+
25+
```json
26+
{
27+
"uuid": "605d0ecb-1057-40e4-9abf-c400b10f0345",
28+
"version": "11.0.6",
29+
"releaseDate": "2025-04-01T15:43:00Z",
30+
"identifiers": [
31+
{
32+
"idType": "purl",
33+
"idValue": "pkg:maven/org.apache.tomcat/tomcat@11.0.6"
34+
}
35+
]
36+
}
37+
```
38+
39+
Different versions of Apache Tomcat should have separate TEA Component Release objects:
40+
41+
```json
42+
{
43+
"uuid": "da89e38e-95e7-44ca-aa7d-f3b6b34c7fab",
44+
"version": "10.1.4",
45+
"releaseDate": "2025-04-01T18:20:00Z",
46+
"identifiers": [
47+
{
48+
"idType": "purl",
49+
"idValue": "pkg:maven/org.apache.tomcat/tomcat@10.1.4"
50+
}
51+
]
52+
}
53+
```
54+
55+
The pre-release flag is used to mark versions not production ready
56+
and does not require users to know the version naming scheme adopted by the project.
57+
58+
```json
59+
{
60+
"uuid": "95f481df-f760-47f4-b2f2-f8b76d858450",
61+
"version": "11.0.0-M26",
62+
"releaseDate": "2024-09-13T17:49:00Z",
63+
"preRelease": true,
64+
"identifiers": [
65+
{
66+
"idType": "purl",
67+
"idValue": "pkg:maven/org.apache.tomcat/tomcat@11.0.0-M26"
68+
}
69+
]
70+
}
71+
```
1772

1873
## The TEA Collection object (TCO)
1974

0 commit comments

Comments
 (0)