Re: [Engine-devel] Java Development Lifecycle

2013-08-28 Thread Eli Mesika


- Original Message -
 From: Yair Zaslavsky yzasl...@redhat.com
 To: Martin Perina mper...@redhat.com
 Cc: engine-devel@ovirt.org
 Sent: Wednesday, August 28, 2013 5:34:42 AM
 Subject: Re: [Engine-devel] Java Development Lifecycle
 
 
 
 - Original Message -
  From: Martin Perina mper...@redhat.com
  To: engine-devel@ovirt.org
  Sent: Tuesday, August 27, 2013 2:54:38 PM
  Subject: Re: [Engine-devel] Java Development Lifecycle
  
  For me the most time consuming problem is GWT compilation. 

When compiling GWT it build both Admin  User portals , it duplicates the 
compilation time , can this please be separated such that I can build admin 
portal without a user portal and vice verse ???

It would be
  really
  nice
  if we can agree to create some clear separation between frontend and
  backend
  part, for
  example if frontend would communicate with backend only through REST API,
  GWT
  would
  have to recompile only if REST API or some frontend code has been changed.
  
  It's not something what can be done i short term, but it would be nice if
  we
  can
  find a way how to do it and create a schedule for this task.
 
 +100
 
  
  
  
  - Original Message -
   From: Mooli Tayer mta...@redhat.com
   To: engine-devel engine-devel@ovirt.org
   Sent: Tuesday, August 27, 2013 1:29:01 PM
   Subject: [Engine-devel] Java Development Lifecycle
   
   Hello,
   
   I've been working on the engine for a few month now,
   And I feel I have not yet been able to find a productive and fast
   approach
   for Java development in different engine components.
   
   This revolves mainly around:
   
   Compiling and deploying artifacts:
   ==
   If I want to check a small change in the engine,
   Be it in an artifact that is part of engine.ear or when I am working on
   one
   of the side tools
   that might run as a service (e.g ovirt-engine-notifier)
   or just a single jar (engine-manage-domains)
   It is essential to compile only parts of the project and not all of it.
   
   This can be achieved usually quite easily with mvn,
   however afterwards I would like to be able to also deploy and run it
   locally
   or even take all jars comprising a project and run them exploded inside
   my
   IDE
   (I use intellij idea) so I can enjoy live code editing and other benefits
   idea
   jboss  gwt integration offers. I have been using remote debug
   (which is available by default in the engine and non existent in other
   jars
   so
   I have to tamper manually with a python service file to add debug flags -
   see
   next)
   But it's not as powerful as running inside an IDE and I feel my current
   development lifecycle is
   not as fast and productive as it could have been.
   (I do understand the engine is complex regarding configuration and
   deployment, so it's a challenge)
   
   Configuration:
   ==
   This might be more of a todo item, I'm not sure..
   After deployment of an artifact to run on a machine(again, engine,
   notifier
   or whatever)
   if I want to change it's configuration
   (configure it for remote debug as mentioned or change it's logging
   behavior
   and so on)
   It seems I always have to do it in a different place which I always spend
   hours finding.
   It could be great if for all artifacts configuration could be streamlined
   and
   monolithic
   across different components.
   
   These issues might seem obvious to some of you or unneeded to others, but
   I've decided to shout out
   in engine-devel because my usual way of approaching individuals has not
   got
   me very far,
   and also because I'm convinced some of you have found ways to be
   productive
   I
   am unaware of -
   Please share them! Others may have their own good ideas  approaches(or
   their
   own needs).
   
   Thanks,
   Mooli.
   ___
   Engine-devel mailing list
   Engine-devel@ovirt.org
   http://lists.ovirt.org/mailman/listinfo/engine-devel
   
  ___
  Engine-devel mailing list
  Engine-devel@ovirt.org
  http://lists.ovirt.org/mailman/listinfo/engine-devel
  
 ___
 Engine-devel mailing list
 Engine-devel@ovirt.org
 http://lists.ovirt.org/mailman/listinfo/engine-devel
 
___
Engine-devel mailing list
Engine-devel@ovirt.org
http://lists.ovirt.org/mailman/listinfo/engine-devel


Re: [Engine-devel] Java Development Lifecycle

2013-08-28 Thread Itamar Heim

On 08/27/2013 03:21 PM, Alon Bar-Lev wrote:

  # engine-setup --help
Usage: /usr/bin/engine-setup
 --log=file
 write log to this file.
 --config=file
 Load configuration files.
 --config-append=file
 Load extra configuration files.
 --offline
 Offline mode.
 --generate-answer=file
 Generate answer file.
 --jboss-home=dir
 Use this jboss.

Can you tell more precisely what is missing?

BTW: I also curious why you need to re-run fresh setup over and over.


its clear from usage above how to generate an answer file from above, 
not how it would be used for a non-interactive setup?

___
Engine-devel mailing list
Engine-devel@ovirt.org
http://lists.ovirt.org/mailman/listinfo/engine-devel


Re: [Engine-devel] Java Development Lifecycle

2013-08-28 Thread Alon Bar-Lev


- Original Message -
 From: Itamar Heim ih...@redhat.com
 To: Alon Bar-Lev alo...@redhat.com
 Cc: Martin Betak mbe...@redhat.com, engine-devel 
 engine-devel@ovirt.org
 Sent: Thursday, August 29, 2013 2:04:53 AM
 Subject: Re: [Engine-devel] Java Development Lifecycle
 
 On 08/27/2013 03:21 PM, Alon Bar-Lev wrote:
# engine-setup --help
  Usage: /usr/bin/engine-setup
   --log=file
   write log to this file.
   --config=file
   Load configuration files.
   --config-append=file
   Load extra configuration files.
   --offline
   Offline mode.
   --generate-answer=file
   Generate answer file.
   --jboss-home=dir
   Use this jboss.
 
  Can you tell more precisely what is missing?
 
  BTW: I also curious why you need to re-run fresh setup over and over.
 
 its clear from usage above how to generate an answer file from above,
 not how it would be used for a non-interactive setup?

Answer file is configuration, you use --config-append= to apply configuration, 
it can be the output of the answer file or any other setting. I will love to 
work with technical writer so a proper man page and usage can be perfected.

Regards,
Alon
___
Engine-devel mailing list
Engine-devel@ovirt.org
http://lists.ovirt.org/mailman/listinfo/engine-devel


Re: [Engine-devel] Java Development Lifecycle

2013-08-27 Thread Liran Zelkha
+1

- Original Message -
From: Mooli Tayer mta...@redhat.com
To: engine-devel engine-devel@ovirt.org
Sent: Tuesday, August 27, 2013 2:29:01 PM
Subject: [Engine-devel] Java Development Lifecycle

Hello,

I've been working on the engine for a few month now,
And I feel I have not yet been able to find a productive and fast approach  
for Java development in different engine components.

This revolves mainly around:

Compiling and deploying artifacts:
==
If I want to check a small change in the engine,
Be it in an artifact that is part of engine.ear or when I am working on one of 
the side tools
that might run as a service (e.g ovirt-engine-notifier)
or just a single jar (engine-manage-domains)
It is essential to compile only parts of the project and not all of it.

This can be achieved usually quite easily with mvn,
however afterwards I would like to be able to also deploy and run it locally
or even take all jars comprising a project and run them exploded inside my IDE 
(I use intellij idea) so I can enjoy live code editing and other benefits idea
jboss  gwt integration offers. I have been using remote debug 
(which is available by default in the engine and non existent in other jars so
I have to tamper manually with a python service file to add debug flags - see 
next)
But it's not as powerful as running inside an IDE and I feel my current 
development lifecycle is 
not as fast and productive as it could have been.
(I do understand the engine is complex regarding configuration and deployment, 
so it's a challenge)

Configuration:
==
This might be more of a todo item, I'm not sure..
After deployment of an artifact to run on a machine(again, engine, notifier or 
whatever)
if I want to change it's configuration 
(configure it for remote debug as mentioned or change it's logging behavior and 
so on)
It seems I always have to do it in a different place which I always spend hours 
finding.
It could be great if for all artifacts configuration could be streamlined and 
monolithic
across different components.

These issues might seem obvious to some of you or unneeded to others, but I've 
decided to shout out
in engine-devel because my usual way of approaching individuals has not got me 
very far,
and also because I'm convinced some of you have found ways to be productive I 
am unaware of -
Please share them! Others may have their own good ideas  approaches(or their 
own needs).

Thanks,
Mooli.
___
Engine-devel mailing list
Engine-devel@ovirt.org
http://lists.ovirt.org/mailman/listinfo/engine-devel
___
Engine-devel mailing list
Engine-devel@ovirt.org
http://lists.ovirt.org/mailman/listinfo/engine-devel


Re: [Engine-devel] Java Development Lifecycle

2013-08-27 Thread Alon Bar-Lev


- Original Message -
 From: Mooli Tayer mta...@redhat.com
 To: engine-devel engine-devel@ovirt.org
 Sent: Tuesday, August 27, 2013 2:29:01 PM
 Subject: [Engine-devel] Java Development Lifecycle
 
 Hello,
 
 I've been working on the engine for a few month now,
 And I feel I have not yet been able to find a productive and fast approach
 for Java development in different engine components.
 
 This revolves mainly around:
 
 Compiling and deploying artifacts:
 ==
 If I want to check a small change in the engine,
 Be it in an artifact that is part of engine.ear or when I am working on one
 of the side tools
 that might run as a service (e.g ovirt-engine-notifier)
 or just a single jar (engine-manage-domains)
 It is essential to compile only parts of the project and not all of it.
 
 This can be achieved usually quite easily with mvn,
 however afterwards I would like to be able to also deploy and run it locally
 or even take all jars comprising a project and run them exploded inside my
 IDE
 (I use intellij idea) so I can enjoy live code editing and other benefits
 idea
 jboss  gwt integration offers. I have been using remote debug
 (which is available by default in the engine and non existent in other jars
 so
 I have to tamper manually with a python service file to add debug flags - see
 next)
 But it's not as powerful as running inside an IDE and I feel my current
 development lifecycle is
 not as fast and productive as it could have been.
 (I do understand the engine is complex regarding configuration and
 deployment, so it's a challenge)
 
 Configuration:
 ==
 This might be more of a todo item, I'm not sure..
 After deployment of an artifact to run on a machine(again, engine, notifier
 or whatever)
 if I want to change it's configuration
 (configure it for remote debug as mentioned or change it's logging behavior
 and so on)
 It seems I always have to do it in a different place which I always spend
 hours finding.
 It could be great if for all artifacts configuration could be streamlined and
 monolithic
 across different components.
 
 These issues might seem obvious to some of you or unneeded to others, but
 I've decided to shout out
 in engine-devel because my usual way of approaching individuals has not got
 me very far,
 and also because I'm convinced some of you have found ways to be productive I
 am unaware of -
 Please share them! Others may have their own good ideas  approaches(or their
 own needs).

So to make long story short, you want:

1. Be able to partially build project.

This is already supported[1], so I do not understand what is missing.

[1] http://www.ovirt.org/OVirt_Engine_Development_Environment#Usage

2. Setup all components with debug port enabled at development mode.

This can be achieved quite easy, but there is a catch... in tools you might 
want to add environment variable to halt at startup and wait for debugger.

Patches are welcomed!

3. Be able to run all under ide without installation.

This is how developers worked until recently, it created an entire new category 
of art, running engine without actually setup it.

Artists are hard to find and harder to duplicate.

So I am sorry, but this is not the right way to go.

You can build partially, install over existing setup, and debug using remote 
debugger.

Any other mean is a waste of resources to set up, maintain and sync.

Regards,
Alon Bar-Lev.
___
Engine-devel mailing list
Engine-devel@ovirt.org
http://lists.ovirt.org/mailman/listinfo/engine-devel


Re: [Engine-devel] Java Development Lifecycle

2013-08-27 Thread Martin Perina
For me the most time consuming problem is GWT compilation. It would be really 
nice
if we can agree to create some clear separation between frontend and backend 
part, for
example if frontend would communicate with backend only through REST API, GWT 
would
have to recompile only if REST API or some frontend code has been changed.

It's not something what can be done i short term, but it would be nice if we can
find a way how to do it and create a schedule for this task.



- Original Message -
 From: Mooli Tayer mta...@redhat.com
 To: engine-devel engine-devel@ovirt.org
 Sent: Tuesday, August 27, 2013 1:29:01 PM
 Subject: [Engine-devel] Java Development Lifecycle
 
 Hello,
 
 I've been working on the engine for a few month now,
 And I feel I have not yet been able to find a productive and fast approach
 for Java development in different engine components.
 
 This revolves mainly around:
 
 Compiling and deploying artifacts:
 ==
 If I want to check a small change in the engine,
 Be it in an artifact that is part of engine.ear or when I am working on one
 of the side tools
 that might run as a service (e.g ovirt-engine-notifier)
 or just a single jar (engine-manage-domains)
 It is essential to compile only parts of the project and not all of it.
 
 This can be achieved usually quite easily with mvn,
 however afterwards I would like to be able to also deploy and run it locally
 or even take all jars comprising a project and run them exploded inside my
 IDE
 (I use intellij idea) so I can enjoy live code editing and other benefits
 idea
 jboss  gwt integration offers. I have been using remote debug
 (which is available by default in the engine and non existent in other jars
 so
 I have to tamper manually with a python service file to add debug flags - see
 next)
 But it's not as powerful as running inside an IDE and I feel my current
 development lifecycle is
 not as fast and productive as it could have been.
 (I do understand the engine is complex regarding configuration and
 deployment, so it's a challenge)
 
 Configuration:
 ==
 This might be more of a todo item, I'm not sure..
 After deployment of an artifact to run on a machine(again, engine, notifier
 or whatever)
 if I want to change it's configuration
 (configure it for remote debug as mentioned or change it's logging behavior
 and so on)
 It seems I always have to do it in a different place which I always spend
 hours finding.
 It could be great if for all artifacts configuration could be streamlined and
 monolithic
 across different components.
 
 These issues might seem obvious to some of you or unneeded to others, but
 I've decided to shout out
 in engine-devel because my usual way of approaching individuals has not got
 me very far,
 and also because I'm convinced some of you have found ways to be productive I
 am unaware of -
 Please share them! Others may have their own good ideas  approaches(or their
 own needs).
 
 Thanks,
 Mooli.
 ___
 Engine-devel mailing list
 Engine-devel@ovirt.org
 http://lists.ovirt.org/mailman/listinfo/engine-devel
 
___
Engine-devel mailing list
Engine-devel@ovirt.org
http://lists.ovirt.org/mailman/listinfo/engine-devel


Re: [Engine-devel] Java Development Lifecycle

2013-08-27 Thread Martin Betak
For me personally the most time consuming part of development
is when I have to frequently change/update configurations
of the engine, I have to manually deal with the interactive setup
wizzard. Thanks to the new development environment I managed to automate
all other parts of my process using scripts, except engine-setup.
I would greatly appreciate if there were some way of supplying 'answers'
to the engine-setup from command line (or answer files, like in the 'full'
version) so it could be scripted.

Best regards,

Martin
___
Engine-devel mailing list
Engine-devel@ovirt.org
http://lists.ovirt.org/mailman/listinfo/engine-devel


Re: [Engine-devel] Java Development Lifecycle

2013-08-27 Thread Alon Bar-Lev


- Original Message -
 From: Martin Betak mbe...@redhat.com
 To: Alon Bar-Lev alo...@redhat.com
 Cc: engine-devel engine-devel@ovirt.org
 Sent: Tuesday, August 27, 2013 3:17:44 PM
 Subject: Re: [Engine-devel] Java Development Lifecycle
 
 For me personally the most time consuming part of development
 is when I have to frequently change/update configurations
 of the engine, I have to manually deal with the interactive setup
 wizzard. Thanks to the new development environment I managed to automate
 all other parts of my process using scripts, except engine-setup.
 I would greatly appreciate if there were some way of supplying 'answers'
 to the engine-setup from command line (or answer files, like in the 'full'
 version) so it could be scripted.

 # engine-setup --help
Usage: /usr/bin/engine-setup
--log=file
write log to this file.
--config=file
Load configuration files.
--config-append=file
Load extra configuration files.
--offline
Offline mode.
--generate-answer=file
Generate answer file.
--jboss-home=dir
Use this jboss.

Can you tell more precisely what is missing?

BTW: I also curious why you need to re-run fresh setup over and over.

Thanks,
Alon
___
Engine-devel mailing list
Engine-devel@ovirt.org
http://lists.ovirt.org/mailman/listinfo/engine-devel


Re: [Engine-devel] Java Development Lifecycle

2013-08-27 Thread Yair Zaslavsky


- Original Message -
 From: Martin Perina mper...@redhat.com
 To: engine-devel@ovirt.org
 Sent: Tuesday, August 27, 2013 2:54:38 PM
 Subject: Re: [Engine-devel] Java Development Lifecycle
 
 For me the most time consuming problem is GWT compilation. It would be really
 nice
 if we can agree to create some clear separation between frontend and backend
 part, for
 example if frontend would communicate with backend only through REST API, GWT
 would
 have to recompile only if REST API or some frontend code has been changed.
 
 It's not something what can be done i short term, but it would be nice if we
 can
 find a way how to do it and create a schedule for this task.

+100

 
 
 
 - Original Message -
  From: Mooli Tayer mta...@redhat.com
  To: engine-devel engine-devel@ovirt.org
  Sent: Tuesday, August 27, 2013 1:29:01 PM
  Subject: [Engine-devel] Java Development Lifecycle
  
  Hello,
  
  I've been working on the engine for a few month now,
  And I feel I have not yet been able to find a productive and fast approach
  for Java development in different engine components.
  
  This revolves mainly around:
  
  Compiling and deploying artifacts:
  ==
  If I want to check a small change in the engine,
  Be it in an artifact that is part of engine.ear or when I am working on one
  of the side tools
  that might run as a service (e.g ovirt-engine-notifier)
  or just a single jar (engine-manage-domains)
  It is essential to compile only parts of the project and not all of it.
  
  This can be achieved usually quite easily with mvn,
  however afterwards I would like to be able to also deploy and run it
  locally
  or even take all jars comprising a project and run them exploded inside my
  IDE
  (I use intellij idea) so I can enjoy live code editing and other benefits
  idea
  jboss  gwt integration offers. I have been using remote debug
  (which is available by default in the engine and non existent in other jars
  so
  I have to tamper manually with a python service file to add debug flags -
  see
  next)
  But it's not as powerful as running inside an IDE and I feel my current
  development lifecycle is
  not as fast and productive as it could have been.
  (I do understand the engine is complex regarding configuration and
  deployment, so it's a challenge)
  
  Configuration:
  ==
  This might be more of a todo item, I'm not sure..
  After deployment of an artifact to run on a machine(again, engine, notifier
  or whatever)
  if I want to change it's configuration
  (configure it for remote debug as mentioned or change it's logging behavior
  and so on)
  It seems I always have to do it in a different place which I always spend
  hours finding.
  It could be great if for all artifacts configuration could be streamlined
  and
  monolithic
  across different components.
  
  These issues might seem obvious to some of you or unneeded to others, but
  I've decided to shout out
  in engine-devel because my usual way of approaching individuals has not got
  me very far,
  and also because I'm convinced some of you have found ways to be productive
  I
  am unaware of -
  Please share them! Others may have their own good ideas  approaches(or
  their
  own needs).
  
  Thanks,
  Mooli.
  ___
  Engine-devel mailing list
  Engine-devel@ovirt.org
  http://lists.ovirt.org/mailman/listinfo/engine-devel
  
 ___
 Engine-devel mailing list
 Engine-devel@ovirt.org
 http://lists.ovirt.org/mailman/listinfo/engine-devel
 
___
Engine-devel mailing list
Engine-devel@ovirt.org
http://lists.ovirt.org/mailman/listinfo/engine-devel