<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/125732/">https://git.reviewboard.kde.org/r/125732/</a>
     </td>
    </tr>
   </table>
   <br />





<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
 <p style="margin-top: 0;">On October 21st, 2015, 9:08 a.m. CEST, <b>Andreas Pakulat</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
  <pre style="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;">Since the BuildSet has always been controversial even while I was still hacking KDevelop I think this is a good step. But I do want to highlight another usecase that I happened to use within kdevelop: Build multiple targets within a single project (and their dependencies) but not 'other' stuff. I've been using this to concentrate working on a particular small set of kdevelop plugins that are related but don't depend on each other. Examples are: the vcs plugins or the buildsystem plugins.</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">That gets more cumbersome (unless the structure in the filesystem changed meanwhile creating such grouping of plugins) without a buildset.</p></pre>
 </blockquote>







</blockquote>

<pre style="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;">As I see it, wanting to build 2 elements in the tree rather than the whole tree is a workaround and usually leads to errors.</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Personally, I've solved that by using <code style="text-rendering: inherit;color: #4444cc;padding: 0;white-space: normal;margin: 0;line-height: inherit;">ninja</code> instead of <code style="text-rendering: inherit;color: #4444cc;padding: 0;white-space: normal;margin: 0;line-height: inherit;">make</code>.
We could try to bodge that use-case into the new approach (by making it possible to set the new build item with 2 selected items), but I'm afraid it wouldn't be very intuitive anyway.</p></pre>
<br />










<p>- Aleix</p>


<br />
<p>On October 21st, 2015, 1:56 a.m. CEST, Aleix Pol Gonzalez wrote:</p>








<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 KDevelop.</div>
<div>By Aleix Pol Gonzalez.</div>


<p style="color: grey;"><i>Updated Oct. 21, 2015, 1:56 a.m.</i></p>









<div style="margin-top: 1.5em;">
 <b style="color: #575012; font-size: 10pt;">Repository: </b>
kdevplatform
</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;">For years my task in KDevelop has been to advertise how useful it is to have the projects loaded.</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">I've always had a hard time at explaining how the build set works, and many people have told me they consider it too complex. If anything, I can agree that it has a very prominent space in the UI (especially being in one of the most used ToolViews).</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">With this new approach we have some uses that aren't available, but I like it because it's slightly more straight to the point and it hides the complexity elsewhere.</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">The idea is that we will have instead just 1 item to be built/installed every time (instead of N). This is the most common use-case and that's covered.
The reason I always understood having many of them, is that sometimes you want to have a project installed before installing another one. (e.g. you are a konqueror hacker and need kparts installed every time you build konqueror). To solve this I added a project configuration page where people can add the dependencies. These will be installed every time the user builds the currently selected item.</p></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;">Seems to just work, I've been using it for a couple of days and I'm not annoyed. There might be quirks but my proposal is to get it in master for 5.1, it's not pressing to have it.</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>interfaces/iprojectcontroller.h <span style="color: grey">(0e232db)</span></li>

 <li>plugins/projectmanagerview/CMakeLists.txt <span style="color: grey">(cd045e1)</span></li>

 <li>plugins/projectmanagerview/projectbuildsetwidget.h <span style="color: grey">(ade1cfc)</span></li>

 <li>plugins/projectmanagerview/projectbuildsetwidget.cpp <span style="color: grey">(7108a92)</span></li>

 <li>plugins/projectmanagerview/projectbuildsetwidget.ui <span style="color: grey">(5de669e)</span></li>

 <li>plugins/projectmanagerview/projectmanagerview.h <span style="color: grey">(07e24d6)</span></li>

 <li>plugins/projectmanagerview/projectmanagerview.cpp <span style="color: grey">(fd8bc02)</span></li>

 <li>plugins/projectmanagerview/projectmanagerview.ui <span style="color: grey">(3b2a78a)</span></li>

 <li>plugins/projectmanagerview/projectmanagerviewplugin.h <span style="color: grey">(d2d7109)</span></li>

 <li>plugins/projectmanagerview/projectmanagerviewplugin.cpp <span style="color: grey">(04af3a4)</span></li>

 <li>project/CMakeLists.txt <span style="color: grey">(2e6fe7d)</span></li>

 <li>project/projectbuildsetmodel.h <span style="color: grey">(bce29fa)</span></li>

 <li>project/projectbuildsetmodel.cpp <span style="color: grey">(286f668)</span></li>

 <li>project/projectmodel.cpp <span style="color: grey">(841105d)</span></li>

 <li>shell/projectcontroller.h <span style="color: grey">(188184c)</span></li>

 <li>shell/projectcontroller.cpp <span style="color: grey">(766c280)</span></li>

 <li>tests/CMakeLists.txt <span style="color: grey">(bc6632b)</span></li>

</ul>

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



<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">File Attachments </h1>


 <li><a href="https://git.reviewboard.kde.org/media/uploaded/files/2015/10/20/d5a791a1-45fc-4ec0-815f-68db0f7f2854__kdevelop-build.png">GUI</a></li>

</ul>




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







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