<html>
 <body>
  <div style="font-family: Verdana, Arial, Helvetica, Sans-Serif;">
   <table bgcolor="#f9f3c9" width="100%" cellpadding="12" style="border: 1px #c9c399 solid; border-radius: 6px; -moz-border-radius: 6px; -webkit-border-radius: 6px;">
    <tr>
     <td>
      This is an automatically generated e-mail. To reply, visit:
      <a href="https://git.reviewboard.kde.org/r/119740/">https://git.reviewboard.kde.org/r/119740/</a>
     </td>
    </tr>
   </table>
   <br />




<table bgcolor="#e0e0e0" width="100%" cellpadding="12" style="border: 1px gray solid; border-radius: 6px; -moz-border-radius: 6px; -webkit-border-radius: 6px;">
 <tr>
  <td>
   <h1 style="margin: 0; padding: 0; font-size: 10pt;">This change has been marked as submitted.</h1>
  </td>
 </tr>
</table>
<br />


<table bgcolor="#fefadf" width="100%" cellspacing="0" cellpadding="12" style="border: 1px #888a85 solid; border-radius: 6px; -moz-border-radius: 6px; -webkit-border-radius: 6px;">
 <tr>
  <td>

<div>Review request for KDE Frameworks.</div>
<div>By Denis Steckelmacher.</div>


<p style="color: grey;"><i>Updated Aug. 12, 2014, 8:35 p.m.</i></p>









<div style="margin-top: 1.5em;">
 <b style="color: #575012; font-size: 10pt;">Repository: </b>
kapidox
</div>


<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Description </h1>
 <table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" style="border: 1px solid #b8b5a0">
 <tr>
  <td>
   <pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">The README.md file of each framework repeats information like the mailing list or the git repository of the framework. This patch extends kapidox so that this information is extracted automatically from the metadata.yaml file and displayed in the menu bar of the apidox website. The information is displayed there because the menu is built using Jinja templates (easy to change and powerful) and because this place is always visible.</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Here is the information shown:</p>
<ul style="padding: 0;text-rendering: inherit;margin: 0 0 0 1em;line-height: inherit;white-space: normal;">
<li style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: normal;">A link to inqlude</li>
<li style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: normal;">Maintainer (if the "maintainer" key of metadata.yaml does not contain an at symbol, then "@kde.org" is appended). A module having no maintainer is said to be maintained by "The KDE Community"</li>
<li style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: normal;">Basic dependencies. The idea is to highlight the fact that Tier 1 frameworks depend only on Qt (and possibly other non-framework libraries). A list of real dependencies is not yet available but there are tools for that that may one day become available.</li>
<li style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: normal;">Supported platforms</li>
<li style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: normal;">Community links (mailing list, IRC channel and projects.kde.org page)</li>
<li style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: normal;">Code snippet showing how to use the framework with CMake</li>
<li style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: normal;">Code snippet showing how to use the framework with QMake (so that Qt-only users feel at home)</li>
<li style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: normal;">A "git clone" snippet</li>
</ul></pre>
  </td>
 </tr>
</table>


<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Testing </h1>
<table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" style="border: 1px solid #b8b5a0">
 <tr>
  <td>
   <pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">I've built the documentation of all the frameworks and the code runs. The information is correct in all case except the CMake and QMake library names of some frameworks. This comes from the fact that this information is not directly available in metadata.yaml and needs to be guessed. Problems arise when a framework does not follow the ususual K<name> or <name> naming scheme (for instance, KArchive is KF5::Archive, but KDED is not KF5::DED). This can be solved by adding a key in metadata.yaml:</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">cmakename: KDED</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Some changes are also needed when a framework installs several libraries (SonnetCore and SonnetUi for instance). This can be fixed using this key:</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">libraries: [SonnetCore, SonnetUi]</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">There may still be names that are not correct. Ideally, there should not be any guessing at all and all the metadata.yaml should provide a CMake configuration name, a list of CMake libraries and a list of QMake libraries. This information can be found in the CMakeLists.txt file and I'm okay with updating the metadata.yaml file of all the frameworks if you want.</p></pre>
  </td>
 </tr>
</table>


<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Diffs</b> </h1>
<ul style="margin-left: 3em; padding-left: 0;">

 <li>src/kapidox/data/templates/fwinfo.html <span style="color: grey">(PRE-CREATION)</span></li>

 <li>src/kapidox/generator.py <span style="color: grey">(203586e)</span></li>

 <li>src/kgenframeworksapidox <span style="color: grey">(fbc03c1)</span></li>

 <li>src/kapidox/data/htmlresource/kde.css <span style="color: grey">(0ecdf57)</span></li>

 <li>src/kapidox/data/templates/doxygen.html <span style="color: grey">(b7463c0)</span></li>

</ul>

<p><a href="https://git.reviewboard.kde.org/r/119740/diff/" style="margin-left: 3em;">View Diff</a></p>






  </td>
 </tr>
</table>




  </div>
 </body>
</html>