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

Roy Golan rgolan at redhat.com
Thu Oct 19 19:08:59 UTC 2017


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


> -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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ovirt.org/pipermail/devel/attachments/20171019/e95f9e1f/attachment.html>


More information about the Devel mailing list