Warning, /frameworks/kapidox/notes.txt is written in an unsupported language. File is not indexed.

0001 On the server every single KDE repo  is downloaded.
0002 
0003 SEE BELOW FOR THE REAL EXAMPLE (EASY, FULL EXAMPLE)
0004 
0005 default Doxygen configuration:
0006     DOTFILE_DIRS = docs/dot
0007 
0008 Frameworks
0009 
0010 need to consider platform/type stuff for frameworks as well as tier (platform is generally applicable, but type?)
0011 
0012 KArchive/config.kapidox:
0013     public_source_dirs:
0014         - src
0015     group: Frameworks
0016     subgroup: tier 1 # actually omit; use tier from metainfo.yaml as special case for frameworks
0017 
0018 frameworks-docs:
0019     group: Frameworks
0020     group_info:
0021         maintainer: dfaure
0022         description: "whatever short description we have about Frameworks"
0023         allowed_subgroups:
0024             - Tier 1
0025             - Tier 2
0026             - Tier 3
0027             - Tier 4
0028             - Porting Aids
0029 
0030 Easy
0031 
0032 config.kapidox:
0033     # info is taken from metainfo.yaml, CMakeLists.txt etc if available, but can be overridden here
0034     public_source_dirs:
0035         - src/lib
0036     private_source_dirs:
0037         - src/app
0038 
0039 Full example
0040 config.kapidox:
0041     # info is taken from metainfo.yaml, CMakeLists.txt etc if available, but can be overridden here
0042     name: <user-visible name, including caps> # eg: KArchive
0043     maintainer: <identity username> # or list of usernames
0044     description: <one-line description>
0045     group: <name> # optional; eg: frameworks
0046     subgroup: <subgroup> # optional; eg: tier 1
0047     public_source_dirs:
0048         - src/lib
0049     examples_code_dirs: # Doxygen EXAMPLES key; default docs/examples
0050         - doc/examples
0051     extra_doc_dirs: # default ./docs
0052         - doc
0053     private_source_dirs:
0054         - src/app
0055     main_page: # defaults to README.md
0056     doxygen_overrides:
0057         | # some text in doxygen config format (using yaml's block text feature)
0058         | FOO = bar
0059     group_info: # only in one member of the group; doxygen will be run in this repo for the group top-level pages
0060         group: <name> # defaults to top-level group info
0061         maintainer: <identity username> # maintainer of group as a whole (eg: dfaure for frameworks)
0062         description: <one-line description>
0063         allowed_subgroups:
0064             - tier 1
0065             - tier 2
0066     subprojects:
0067         name:
0068             main_page: src/some_project/README.md
0069             public_source_dirs:
0070                 - src/some_project
0071             # any keys valid at top level (except group_info); anything not specified will default to top-level value
0072         other_name:
0073             # as above
0074 
0075 if config.kapidox is missing, repo is ignored
0076 
0077 a "project" is generated for the top-level data in config.kapidox and for each subproject:
0078     in "public" mode (api.kde.org):
0079         private_source_dirs is ignored
0080         if a project does not have public_source_dirs, it is ignored (but group_info is still used if present)
0081     in "private" mode:
0082         public_source_dirs is ignored
0083         private_source_dirs is added to Doxygen INPUT
0084     extra_doc_dirs is added to Doxygen INPUT
0085 
0086 
0087 
0088 Reflection
0089 Each git repo /product contains a yaml file:
0090 
0091 metainfo.yaml / projectinfo.yaml:
0092     maintainer: <identity username>
0093     description: <one-line description>
0094     release: <true|false>
0095     deprecated: <true|false>
0096     group: <name> # eg: frameworks/tier1
0097     subprojects:
0098         - name:
0099           all the keys you can do outside to override
0100     documentation:
0101         group_documentation_dirs:
0102             - docs
0103         public_libraries: # runs separate doxygen instances on these dirs; group will default to this repo name
0104             - name: <name of the lib> #optional, default to framework
0105                description: #optional, default to the one above
0106                lib doc: <>
0107                lib example: <>
0108               dirs: #where to run
0109                 - directory1
0110                 - directory2
0111             - name: <name of the other lib> #optional, default to framework
0112               dirs:
0113                 - directory1
0114                 - directory2
0115         public_library_dirs: # these will be documented on api.kde.org   -- empty by default
0116             - src
0117             - libs/my_public_lib
0118         private_code_dirs: # these will be documented only when running in internal mode -- full repo by default
0119             - src
0120 
0121 
0122 
0123 
0124 layouts:
0125     frameworks:
0126         each lib own repo:
0127             src/
0128             docs/
0129             examples/
0130             README.md
0131             metainfo.yml
0132         separate doc repo with group docs
0133     calligra(?):
0134         core repo including group docs + public libraries:
0135             doc_for_scripting/ (md files?)
0136             src/
0137             examples/
0138         app repos
0139     amarok:
0140         one repo with:
0141             public lib for plugins to link against
0142             user manual
0143             extra docs for how to write plugins
0144             application code (+ private libraries?)
0145     Kate:
0146         need some way to document writing syntax files
0147     KDiagram
0148 
0149         one repo with 2 independent libs, KChart & KGantt
0150 
0151     src/KChart
0152 
0153     src/KGantt
0154 
0155 
0156 
0157 kapidox reads all repositories to find the metainfo.yaml files to organize the documentation pages.
0158 
0159 Needs:
0160     The doc of
0161 
0162           each product
0163 
0164     each group
0165 
0166     all kde products
0167 
0168     ....are build with the same script
0169 
0170 
0171 
0172 Current script info sources:
0173     the repo/dir name is used
0174     parses project() command from CMakeLists.txt to figure out name of project ("fancyname" - the one displayed to the user)
0175