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

Greg Sheremeta gshereme at redhat.com
Thu Oct 19 19:15:52 UTC 2017


On Thu, Oct 19, 2017 at 3:08 PM, Roy Golan <rgolan at redhat.com> wrote:

>
>
> On Thu, 19 Oct 2017 at 20:12 Greg Sheremeta <gshereme at redhat.com> wrote:
>
>> 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
>>
>>
> Then this worth a new make rule for 'install-dev-quick' or similar that
> will have all of those inside.  another option is to add a SKIP_CHECKS=1
> that will achieve the same without extra rule:
>
>   make install-dev SKIP_CHECKS=1
>

Yeah, lol, that would be simpler :)


>
>
>> -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>
>> _______________________________________________
>> 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/1c9e7d2a/attachment-0001.html>


More information about the Devel mailing list