[ovirt-devel] How to build a particular module of code

Greg Sheremeta gshereme at redhat.com
Thu Oct 19 17:11:22 UTC 2017


Since I needed to do a bunch of ovirt-engine recompiles today and I'm
disabling checks to make it go faster, I figured I'd share:

make install-dev PREFIX=/home/greg/ovirt-engine
DEV_EXTRA_BUILD_FLAGS="-Danimal.sniffer.skip -Dcheckstyle.skip
-Dgwt.compiler.localWorkers=1"
DEV_EXTRA_BUILD_FLAGS_GWT_DEFAULTS="-Dgwt.cssResourceStyle=pretty
-Dgwt.userAgent=safari" BUILD_UT=0 BUILD_GWT=1

make install-dev -- note I left out "clean", so that speeds things up

-Danimal.sniffer.skip -- skips animal sniffer [1], which takes quite some
time

-Dcheckstyle.skip -- skips checkstyle, which also takes much time

-Dgwt.cssResourceStyle=pretty -- doesn't completely obfuscate classes in
GWT, which allows you to use Dev Tools to inspect elements and see exactly
where they come from [example: <div class="row
GHW0VSTPAD-org-ovirt-engine-ui-common-widget-uicommon-NetworkFilterParameterEditor_WidgetUiBinderImpl_GenCss_style-wrapper">
shows me I need to go right to the NetworkFilterParameterEditor class to
mess with this widget, specifically the "wrapper" css style

-Dgwt.userAgent=safari -- if building GWT, build only 1 permutation for
Chrome/Safari

-Dgwt.compiler.localWorkers=1 -- use 1 thread for compiling GWT. Since I
only used Safari, it's not necessary to have this here on this particular
compile run, but you'll want to use this when doing more than 1
permutation/browser. It'll help prevent a crash during GWT compile, which,
of course, is the ultimate time waster :)

BUILD_UT=0 -- skip unit tests

BUILD_GWT=1 -- if you don't need a GWT rebuild, change to 0 for a *huge*
speedup :) [there must be a way to have that auto-detected ... hmm ...]

...

Before pushing a final version of a patch, you should enable the checks and
make sure they all pass. (They do run in CI, though.)

Best wishes,
Greg


[1] http://www.mojohaus.org/animal-sniffer/

On Tue, Oct 17, 2017 at 4:01 PM, shubham dubey <sdubey504 at gmail.com> wrote:

> Thanks,it worked.
>
> On Wed, Oct 18, 2017 at 1:24 AM, Roy Golan <rgolan at redhat.com> wrote:
>
>> The answer is in the pom.xml of uicommonweb, in its groupId:
>>   grep parent -A 1 frontend/webadmin/modules/uicommonweb/pom.xml
>>
>> So change it to "-pl *org.ovirt.engine.ui*:uicommonweb"
>>
>>
>>
>> On Tue, 17 Oct 2017 at 21:54 shubham dubey <sdubey504 at gmail.com> wrote:
>>
>>> Hi,
>>> I have tried to build uicommonweb alone using
>>> make install-dev PREFIX="$HOME/ovirt-engine" EXTRA_BUILD_FLAGS="-pl
>>> org.ovirt.engine.core:uicommonweb"
>>>
>>> but getting error that
>>> [ERROR] Could not find the selected project in the reactor:
>>> org.ovirt.engine.core:uicommonweb
>>>
>>> Am I doing something wrong?
>>>
>>> On Tue, Oct 17, 2017 at 11:50 PM, shubham dubey <sdubey504 at gmail.com>
>>> wrote:
>>>
>>>> Thanks,
>>>> This is exactly what I needed:)
>>>>
>>>> On Tue, Oct 17, 2017 at 11:37 PM, Greg Sheremeta <gshereme at redhat.com>
>>>> wrote:
>>>>
>>>>> I never do it, but
>>>>>
>>>>> https://www.ovirt.org/develop/developer-guide/engine/engine-
>>>>> development-environment has an example :
>>>>>
>>>>>
>>>>> To rebuild a single artifact, for example utils:
>>>>>
>>>>>   make clean install-dev PREFIX=$HOME/ovirt-engine \
>>>>>       EXTRA_BUILD_FLAGS="-pl org.ovirt.engine.core:utils"
>>>>>
>>>>>
>>>>> You can also disable animal sniffer, check style, unit tests, and GWT
>>>>> to speed things up. Just make sure they actually run before you push :)
>>>>>
>>>>> Greg
>>>>>
>>>>> On Oct 17, 2017 1:56 PM, "shubham dubey" <sdubey504 at gmail.com> wrote:
>>>>>
>>>>>> Hi,
>>>>>> I have a simple query.
>>>>>>
>>>>>> Whenever I do any change in my code I
>>>>>> run "make install-dev PREFIX="$HOME/ovirt-engine"".
>>>>>> But it takes a large time to compile.
>>>>>> I think there is a way to compile only that part of code
>>>>>> which I have changed. Like if I make changes in
>>>>>> uicommonweb then, how I compile only that part?
>>>>>>
>>>>>> Thanks in advance.
>>>>>>
>>>>>> Shubham
>>>>>>
>>>>>> _______________________________________________
>>>>>> Devel mailing list
>>>>>> Devel at ovirt.org
>>>>>> http://lists.ovirt.org/mailman/listinfo/devel
>>>>>>
>>>>>
>>>>
>>> _______________________________________________
>>> Devel mailing list
>>> Devel at ovirt.org
>>> http://lists.ovirt.org/mailman/listinfo/devel
>>
>>
>


-- 

GREG SHEREMETA

SENIOR SOFTWARE ENGINEER - TEAM LEAD - RHV UX

Red Hat NA

<https://www.redhat.com/>

gshereme at redhat.com    IRC: gshereme
<https://red.ht/sig>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ovirt.org/pipermail/devel/attachments/20171019/5dc63d17/attachment-0001.html>


More information about the Devel mailing list