metadata v2
comes out of projects-api!1 (closed)
With the move to invent parts of the metadata.yaml format got thrown away. This seems an opportune moment to revisit the remainder and formalize a new version.
Status Quo
projects-invent/games/atlantik/metadata.yaml
contains:
name: Atlantik # forwared into gitlab
description: Atlantik Game # forward into gitlab
hasrepo: true # gitlab knows about this
identifier: atlantik # unique identifier
projectpath: playground/games/atlantik # the legacy path (currently held on to for playground marking)
repoactive: true # not well defined
repopath: games/atlantik # invent path; same as the path to the metadata.yaml file
The supplemental projects-invent/games/atlantik/i18n.json
further contains:
{"stable": "none", "trunk": "none", "stable_kf5": "none", "trunk_kf5": "master"}
Proposal
Everything merged into projects-invent/games/atlantik/metadata.yaml
:
name: Atlantik # forwared into gitlab
description: Atlantik Game # forward into gitlab
identifier: atlantik # unique identifier
# life cycle state https://community.kde.org/Policies/Application_Lifecycle
# - playground: unreviewed new code
# - in-review: currently undergoing review
# - reviewed: passed review, considered stable/mature
# - archived: no longer actively maintained (by us)
# - infrastructure: special state for projects that aren't actually relating to releasable software (e.g. sysadmin tooling)
state: reviewed
path: games/atlantik # renamed from repopath, could possibly be dropped. see discussion
i18n:
kde4: # TODO do we still need this even?
stable: null
trunk: null
kf5:
stable: null
trunk: master
Concerns
repopath
could be retained as it is apparently used for convenience in a lot of places. Seeing as we are redoing the format I (@sitter) would lobby for fixing those places though. If some tooling reads repo-metadata directly it cannot get to a metadata.yaml without knowing the path of that specific metadata.yaml thereby rendering repopath
moot. Should we decide to keep it we should rename it to path
though seeing as repopath==projectpath and this is the description of the project.