[Engine-devel] if there is a updated debug environment how to?

Alon Bar-Lev alonbl at redhat.com
Tue Jun 18 11:32:52 UTC 2013



----- Original Message -----
> From: "Vojtech Szocs" <vszocs at redhat.com>
> To: "Alon Bar-Lev" <alonbl at redhat.com>
> Cc: awels at redhat.com, engine-devel at ovirt.org
> Sent: Tuesday, June 18, 2013 2:01:01 PM
> Subject: Re: [Engine-devel] if there is a updated debug environment how to?
> 
> Hi Alon,
> 
> revisiting this thread, I have some comments regarding GWT debugging via
> standard development environment, as described in README.developer.

Thank you for your comments!
As the file is within git, you can submit a patch... :)
I will create one for the following comments.
 
> - README.developer says:
>   For example, if your machine is low on memory, use:
>   EXTRA_BUILD_FLAGS_DEV="-Dgwt-plugin.localWorkers=2"
>   however this should be:
>   For example, if your machine is low on memory, use:
>   EXTRA_BUILD_FLAGS_DEV="-Dgwt.compiler.localWorkers=2"

Fixed.

> 
> - README.developer says:
>   By default, only the gecko1_8 support is built
>   I'd rather explain what this means:
>   By default, only the gecko1_8 (Mozilla Firefox) support is built

Fixed.
 
> - what's the point of having EXTRA_BUILD_FLAGS_DEV_GWT vs.
> EXTRA_BUILD_FLAGS_DEV ?

I wanted to allow customization of GWT as standalone as it require more flags and defaults.

So I can put the following with a default for gwt while allowing application customization.

For example if I have:
EXTRA_BUILD_FLAGS_DEV_GWT:=-D gwt.userAgent=gecko1_8

and execute:
$ make EXTRA_BUILD_FLAGS_DEV="-DskipTests"

I do not override the GWT settings.

BTW: there is a pending patch to rename this to DEV_XXXX[1] to be more consistent.

[1] http://gerrit.ovirt.org/#/c/15735/


>   if EXTRA_BUILD_FLAGS_DEV_GWT is meant to control target browser(s) then it
>   should be renamed appropriately

Any flags, including debug port and such. But I am opened to suggestions... what do you expect it to be named?

>   if EXTRA_BUILD_FLAGS_DEV_GWT is meant to group all GWT-specific flags,
>   README.developer shouldn't advise to do EXTRA_BUILD_FLAGS_DEV="-Dgwt..."

But then I lose the gwt settings.
 
> - Makefile gwt-debug target looks OK to me
> 
> > What I do expect is that the debugger not to require a specific relation
> > with
> > specific application (Webadmin, userportal).
> 
> gwt-maven-plugin must be invoked in context of a specific Maven module
> representing GWT application you want to debug. In other words, you need to
> start GWT Development Mode for specific application module. This is why you
> need to "cd" to specific directory (webadmin/userportal-gwtp) before
> invoking "mvn ... gwt:debug" command.
> 
> You cannot start GWT Development Mode in a generic (application-agnostic) way
> and *then* connect to it from browser and Java IDE, this is not how GWT
> Development Mode is meant to be used. JBoss remote socket debugging and GWT
> application debugging are two different things.

Well, I do expect this to be a feature of top level pom.xml...

something like:
$ mvn -Pgwt-debug -Ddebug.module=webadmin

so that the profile will do whatever necessary to activate the debugger.

> > The fact that maven is used to start the debugger is not important.
> 
> gwt-maven-plugin is just a wrapper to invoke GWT Development Mode (Java
> class). Regardless of how you start GWT Development Mode, you need to
> specify which application (more precisely, GWT modules) you want to debug
> right when starting GWT Development Mode. See [1] - "module(s)" are always
> specific for given application.

So basically what you saying is that you cannot debug two modules at one time...
It is strange... but as long as you fine with it, we are OK.

> 
> [1]
> https://developers.google.com/web-toolkit/doc/latest/DevGuideCompilingAndDebugging#DevGuideCompilerOptions
> 
> > If I add "-P gwtdev" to default build using install-dev, all gwt
> > applications
> > should be built and installed using the extra debugging information, using:
> 
> Yes, as described in [2], besides using "gwtdev" profile for debugging, it
> can also be used for GWT compilation (i.e. "make install-dev") - in this
> case, resulting JavaScript will be un-obfuscated and not-too-optimized in
> order to easily profile the JavaScript application in the browser. In other
> words, using "gwtdev" for GWT compilation has nothing to do with debugging,
> maybe we should create separate profile for this purpose.

That's good.
 
> [2]
> http://www.ovirt.org/DebugFrontend#Compiling_Frontend_applications_in_detailed_mode
> 
> PS: I'll update http://www.ovirt.org/DebugFrontend with regard to standard
> development environment, as described in README.developer
> 
> Vojtech
> 
> 
> ----- Original Message -----
> > From: "Alon Bar-Lev" <alonbl at redhat.com>
> > To: awels at redhat.com
> > Cc: engine-devel at ovirt.org
> > Sent: Friday, June 7, 2013 10:07:40 PM
> > Subject: Re: [Engine-devel] if there is a updated debug environment how to?
> > 
> > 
> > 
> > ----- Original Message -----
> > > From: "Alexander Wels" <awels at redhat.com>
> > > To: "Alon Bar-Lev" <alonbl at redhat.com>
> > > Cc: engine-devel at ovirt.org, "bigclouds" <bigclouds at 163.com>
> > > Sent: Friday, June 7, 2013 10:56:40 PM
> > > Subject: Re: [Engine-devel] if there is a updated debug environment how
> > > to?
> > > 
> > > > > > So if I understand correctly, the following is sequence is
> > > > > > required:
> > > > > > 
> > > > > > Build and deploy code:
> > > > > > $ make install-dev PREFIX="${HOME}/ovirt-engine"
> > > > > > $
> > > > > > "${HOME}/ovirt-engine/share/ovirt-engine/services/ovirt-engine.py"
> > > > > > start
> > > > >  
> > > > >  You missed this part:
> > > > > 1. cd into the source code directory of either webadmin or user
> > > > > portal.
> > > > > you have to change directory to either
> > > > > frontend/webadmin/modules/webadmin
> > > > > or frontend/webadmin/modules/userportal-gwtp
> > > > > 
> > > > > As the maven gwt plugin is only defined in the webadmin and
> > > > > userportal
> > > > > poms
> > > > > and
> > > > > not in the root pom.
> > > > 
> > > 
> > > It doesn't make much sense to put the gwt plugin in the root pom, as the
> > > root
> > > pom has nothing to do with GWT. The plugin exists in userportal and
> > > webadmin
> > > as those are GWT modules. The debugger is specifically a GWT debugger,
> > > you
> > > can't debug anything else with it.
> > 
> > You perceive this as something of gwt project, while I perceive this part
> > of
> > the environment.
> > 
> > What I expect it to allow as simple development environment as we can.
> > Just like I enable the debug port of jboss automatically I would like to
> > enable gwt debug.
> > 
> > If I add "-P gwtdev" to default build using install-dev, all gwt
> > applications
> > should be built and installed using the extra debugging information, using:
> > 
> > $ make install-dev PREFIX="${HOME}/ovirt-engine"
> > 
> > I can even add GWT_DEBUGGER=1 to optionally enable/disable this feature.
> > 
> > Now, after starting ovirt-engine service, all I expect is a simple command
> > to
> > start the gwt debugger.
> > 
> > $ make gwt-debugger
> > or:
> > ./gwt-debugger
> > 
> > The fact that maven is used to start the debugger is not important.
> > 
> > What I do expect is that the debugger not to require a specific relation
> > with
> > specific application (Webadmin, userportal).
> > 
> > I would have understood if I had to execute something like the following to
> > run the debugger:
> > 
> > $ cd frontend
> > $ mvn gwt:debug -Dgwt.noserver=true
> > 
> > Or better to avoid building anything:
> > 
> > $ cd frontend/debugger
> > $ mvn gwt:debug -Dgwt.noserver=true
> > 
> > But I do not understand why a cd to specific application is required.
> > 
> > Thanks!
> > Alon
> > _______________________________________________
> > Engine-devel mailing list
> > Engine-devel at ovirt.org
> > http://lists.ovirt.org/mailman/listinfo/engine-devel
> > 
> 



More information about the Devel mailing list