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@gmail.com> wrote:
Thanks,it worked.

On Wed, Oct 18, 2017 at 1:24 AM, Roy Golan <rgolan@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@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@gmail.com> wrote:
Thanks,
This is exactly what I needed:)

On Tue, Oct 17, 2017 at 11:37 PM, Greg Sheremeta <gshereme@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@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@ovirt.org
http://lists.ovirt.org/mailman/listinfo/devel


_______________________________________________
Devel mailing list
Devel@ovirt.org
http://lists.ovirt.org/mailman/listinfo/devel




--

GREG SHEREMETA

SENIOR SOFTWARE ENGINEER - TEAM LEAD - RHV UX

Red Hat NA

gshereme@redhat.com    IRC: gshereme