<div dir="ltr"><div>for the below scenario of making a change limited to one module, where you want a really fast install but do not want to forgo unit tests or checks, you can run a direct install of just that module like so:<br><br>cd $DEV_ENGINE/backend/manager/modules/utils; mvn clean install && cp target/utils-$ENGINE_VERSION-SNAPSHOT.jar $DEP_ENGINE/share/ovirt-engine/modules/common/org/ovirt/engine/core/utils/main/utils.jar; cd - #install utils-manager<br><br></div>where:<br><ul><li>$DEV_ENGINE is your source code home dir</li><li>$DEP_ENGINE is your prefix dir</li><li>$ENGINE_VERSION is the current snapshot version. e.g. 4.2.0</li><li>using a hash at the end, allows me to quickly call this command with reverse search on bash</li></ul><p><br></p><p>BUILD SUCCESS<br>[INFO] ------------------------------------------------------------------------<br>[INFO] Total time: 2.699s</p><p><br></p><p>:)<br></p></div><div class="gmail_extra"><br><div class="gmail_quote">On Sun, Nov 12, 2017 at 7:28 PM, Greg Sheremeta <span dir="ltr"><<a href="mailto:gshereme@redhat.com" target="_blank">gshereme@redhat.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div>Hi,</div><div><br></div><div>I've added a SKIP_CHECKS flag to the ovirt-engine build here [1]. Thanks to Roy for the idea [2].</div><div><br></div><div>TL;DR: you'll save roughly 2 minutes 10 seconds per full compile with SKIP_CHECKS. You'll save more (3 min 10 sec) if you don't need a 'clean'. You'll save the most (about 3 min 20 sec) if you can skip rebuilding GWT.</div><div><br></div><div>Here are some statistics (3 runs per command, for averages sake)<br></div><div><br></div><div>My test machine is a</div><div>Intel(R) Core(TM) i5-3570 CPU @ 3.40GHz<br></div><div>256GB Samsung SSD (old, using SATA)</div><div>32GB DDR3 @ 1333 MT/s</div><div><br></div><div>---</div><div><br></div><div>fresh master checkout</div><div><br></div><div>no clean, no gwt, skip checks:</div><div><br></div>make install-dev PREFIX=/home/greg/ovirt-engine BUILD_GWT=0 SKIP_CHECKS=1<div>1:04.38 total<div>1:06.04 total<br></div><div><div>1:04.41 total<br></div><div><br></div><div>same as above, but now change one non-GWT class in the utils project</div><div><br></div><div>make install-dev PREFIX=/home/greg/ovirt-engine BUILD_GWT=0 SKIP_CHECKS=1<br></div><div>1:05.49 total<br></div><div><br></div><div>Ok, pretend we recompiled and our utils class change had an error.</div><div>Same as above, change the one non-GWT class in the utils project again, and use the resume (-pl) functionality:<br></div><div><br></div><div>make install-dev PREFIX=/home/greg/ovirt-engine BUILD_GWT=0 SKIP_CHECKS=1 EXTRA_BUILD_FLAGS="-pl org.ovirt.engine.core:utils"<br></div><div>17.958 total (yes, 18 seconds, obviously a world record for any engine build)</div><div><br></div><div>[The resume piece is EXTRA_BUILD_FLAGS="-pl org.ovirt.engine.ui:webadmin" -- I personally need to use this more often!]</div><div><br></div><div>---</div><div><br></div><div>no clean, no gwt, run checks (but skip unit tests):<br></div><div><br></div><div><div>make install-dev PREFIX=/home/greg/ovirt-engine BUILD_GWT=0 BUILD_UT=0 3:07.66 total</div></div><div><div>3:16.69 total</div></div><div><div>3:14.28 total</div></div><div><br></div><div>clean, no gwt, skip checks:</div><div><br></div><div>make clean install-dev PREFIX=/home/greg/ovirt-engine BUILD_GWT=0 SKIP_CHECKS=1</div><div><br></div><div>4:17.74 total<br></div><div>4:15.76 total<br></div><div><div>4:13.90 total</div></div><div><br></div><div>no clean, gwt (1 permutation for chrome), skip checks:<br></div><div><div><br></div>make install-dev PREFIX=/home/greg/ovirt-engine BUILD_GWT=1 SKIP_CHECKS=1 DEV_EXTRA_BUILD_<wbr>FLAGS_GWT_DEFAULTS="-Dgwt.<wbr>userAgent=safari"<br></div><div><br></div><div>4:25.63 total<br></div><div>4:26.71 total<br></div><div>4:30.69 total<br></div><div><br></div><div><div>no clean, gwt (1 permutation for chrome), run checks but skip unit tests:</div><div><br></div><div>make install-dev PREFIX=/home/greg/ovirt-engine BUILD_GWT=1 BUILD_UT=0 DEV_EXTRA_BUILD_FLAGS_GWT_<wbr>DEFAULTS="-Dgwt.userAgent=<wbr>safari"</div></div><div><br></div><div>6:44.23 total<br></div><div><br></div><div>And the whole enchilada [3] ... clean, gwt (1 permutation for chrome), run checks, run unit tests:</div><div><br></div><div>11:52.25 total ... wow :)<br></div><div><br></div><div><br></div><div>Hope this helps you have a faster change-compile-check cycle :)</div><div><br></div><div>Best wishes,</div><div>Greg</div><div><br></div><div><br></div><div>[1] <a href="https://gerrit.ovirt.org/#/c/83961/" target="_blank">https://gerrit.ovirt.org/#/c/<wbr>83961/</a></div><div>[2] <a href="https://www.mail-archive.com/devel@ovirt.org/msg10377.html" target="_blank">https://www.mail-archive.com/<wbr>devel@ovirt.org/msg10377.html</a></div><div>[3] <a href="https://idioms.thefreedictionary.com/whole+enchilada" target="_blank">https://idioms.<wbr>thefreedictionary.com/whole+<wbr>enchilada</a></div><span class="HOEnZb"><font color="#888888"><div><br></div><div><br></div>-- <br><div class="m_-6770267685147954236gmail_signature"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><p style="color:rgb(0,0,0);font-family:overpass,sans-serif;font-weight:bold;margin:0px;padding:0px;font-size:14px;text-transform:uppercase"><span>GREG</span> <span>SHEREMETA</span></p><p style="color:rgb(0,0,0);font-family:overpass,sans-serif;font-size:10px;margin:0px 0px 4px;text-transform:uppercase"><span>SENIOR SOFTWARE ENGINEER - TEAM LEAD - RHV UX</span><span style="color:rgb(170,170,170);margin:0px"></span></p><p style="font-family:overpass,sans-serif;margin:0px;font-size:10px;color:rgb(153,153,153)"><a href="https://www.redhat.com/" style="color:rgb(0,136,206);margin:0px" target="_blank">Red Hat NA<span><br><br></span></a></p><p style="font-family:overpass,sans-serif;margin:0px 0px 6px;font-size:10px;color:rgb(153,153,153)"><span style="margin:0px;padding:0px"><a href="mailto:gshereme@redhat.com" style="color:rgb(0,136,206);margin:0px" target="_blank">gshereme@redhat.com</a> </span> <span>IRC: <span>gshereme</span></span></p><table style="color:rgb(0,0,0);font-family:overpass,sans-serif;font-size:medium" border="0"><tbody><tr><td width="100px"><a href="https://red.ht/sig" target="_blank"><img src="https://www.redhat.com/files/brand/email/sig-redhat.png" width="90" height="auto"></a></td></tr></tbody></table></div></div></div></div></div></div></div></div></div>
</font></span></div></div></div>
<br>______________________________<wbr>_________________<br>
Devel mailing list<br>
<a href="mailto:Devel@ovirt.org">Devel@ovirt.org</a><br>
<a href="http://lists.ovirt.org/mailman/listinfo/devel" rel="noreferrer" target="_blank">http://lists.ovirt.org/<wbr>mailman/listinfo/devel</a><br></blockquote></div><br><br clear="all"><br>-- <br><div class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr">IRC: erav<br></div></div>
</div>