1
1
# The TEA Leaf Object (TLO)
2
2
3
- _ Work in progress_
4
-
5
3
The TEA LEAF is the object that indicates a product version. The API should be
6
- very agnostic to how a "version" is indicated - semver, name, hash or anything else.
4
+ very agnostic as to how a "version" is indicated - semver, vers , name, hash or anything else.
7
5
8
6
## Major and minor versions
9
7
@@ -16,13 +14,26 @@ a timestamp for a release is required.
16
14
17
15
## The Leaf Object
18
16
19
- - __ UUID __ unique for this object
17
+ - __ Uuid __ unique for this object
20
18
- __ Product name__ : A text field
21
19
- __ Product version__ : A text field, no required syntax
22
20
- __ Release date__ : A unix timestamp
23
- - __ Prerelease__ : A flag indicating a pre-release (beta, rc)
24
- - __ TCO_UUID__ : A reference to the TEA Collection objet for this release
21
+ - __ Pre-release__ : A boolean flag indicating a pre-release (beta, rc)
22
+ - __ Tco_uuid__ : A reference to the TEA Collection objet for this release
23
+
24
+ ## Handling the Pre-Release flag
25
+
26
+ The "Pre-release" flag is used to indicate that this is not a final release.
27
+ For a given Leaf with a UUID, the flag can be set to indicate a "test", "beta", "alpha"
28
+ or similar non-deployed release. It can only be set when creating the LEAF. The TEA implementation
29
+ may allow it to be unset (False) once. This is to support
30
+ situations where a object is promoted as is after testing to production version. The flag can not
31
+ be set after initial creation and publication of the leaf.
32
+
33
+ If the final version is different from the pre-release (bugs fixed, code changed, different binary)
34
+ a new leaf with a new UUID and version needs to be created.
25
35
26
36
## References
27
37
28
- - Semantic versioning (Semver): < https://semver.org >
38
+ - Semantic versioning (Semver): < https://semver.org >
39
+ - PURL VERS < https://github.com/package-url/purl-spec/blob/master/VERSION-RANGE-SPEC.rst >
0 commit comments