app-portage/eclass-manpages: Add @SUPPORTED_EAPIS tag for eclass
authorMichał Górny <mgorny@gentoo.org>
Fri, 28 Apr 2017 13:49:14 +0000 (15:49 +0200)
committerMichał Górny <mgorny@gentoo.org>
Fri, 17 Nov 2017 16:49:21 +0000 (17:49 +0100)
Add a @SUPPORTED_EAPIS tag that can be used to explicitly provide a list
of EAPIs that are supported by the eclass. The main goal is to make it
possible to extract this list with relative ease, for scripting
purposes. It is not included explicitly in the manpages at the moment.

The first use case is to make it possible to explicitly distinguish
eclasses that do not support a specific EAPI from eclasses that are not
used by any ebuilds using a specific EAPI. Therefore, it will make it
possible to easily detect when we can deprecate old EAPIs from eclasses.

app-portage/eclass-manpages/files/eclass-to-manpage.awk

index 0b65162c04ec206f474c3f74b52956c4547fc237..fe7e9c12d8f59c142b87833733e057b364cf5f69 100644 (file)
@@ -18,6 +18,7 @@
 # <optional; description of how to report bugs;
 #  default: tell people to use bugs.gentoo.org>
 # @VCSURL: <optional; url to vcs for this eclass; default: https://gitweb.gentoo.org/repo/gentoo.git/log/eclass/@ECLASS@>
+# @SUPPORTED_EAPIS: <optional; space-separated list of EAPIs>
 # @BLURB: <required; short description>
 # @DESCRIPTION:
 # <optional; long description>
@@ -147,6 +148,7 @@ function handle_eclass() {
        eclass = $3
        eclass_maintainer = ""
        eclass_author = ""
+       supported_eapis = ""
        blurb = ""
        desc = ""
        example = ""
@@ -176,6 +178,8 @@ function handle_eclass() {
                reporting_bugs = eat_paragraph()
        if ($2 == "@VCSURL:")
                vcs_url = eat_line()
+       if ($2 == "@SUPPORTED_EAPIS:")
+               supported_eapis = eat_line()
        if ($2 == "@BLURB:")
                blurb = eat_line()
        if ($2 == "@DESCRIPTION:")