[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.

+1 ----- Original Message ----- From: "Mooli Tayer" <mtayer@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

----- Original Message -----
From: "Mooli Tayer" <mtayer@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.

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" <mtayer@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

----- Original Message -----
From: "Martin Perina" <mperina@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.
I agree, and I think this is on roadmap.
----- Original Message -----
From: "Mooli Tayer" <mtayer@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

----- Original Message -----
From: "Martin Perina" <mperina@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" <mtayer@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

----- Original Message -----
From: "Yair Zaslavsky" <yzaslavs@redhat.com> To: "Martin Perina" <mperina@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" <mperina@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" <mtayer@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

I don't think I'm the only one in the community who thinks we should reconsider our GWT usage... On Wed, Aug 28, 2013 at 12:55 PM, Eli Mesika <emesika@redhat.com> wrote:
----- Original Message -----
From: "Yair Zaslavsky" <yzaslavs@redhat.com> To: "Martin Perina" <mperina@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" <mperina@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" <mtayer@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

----- Original Message -----
From: "Eli Mesika" <emesika@redhat.com> To: "Yair Zaslavsky" <yzaslavs@redhat.com> Cc: engine-devel@ovirt.org Sent: Wednesday, August 28, 2013 12:55:21 PM Subject: Re: [Engine-devel] Java Development Lifecycle
----- Original Message -----
From: "Yair Zaslavsky" <yzaslavs@redhat.com> To: "Martin Perina" <mperina@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" <mperina@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 ???
make .... BUILD_GWT_USERPORTAL=0
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" <mtayer@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

----- Original Message -----
From: "Alon Bar-Lev" <alonbl@redhat.com> To: "Eli Mesika" <emesika@redhat.com> Cc: "Yair Zaslavsky" <yzaslavs@redhat.com>, engine-devel@ovirt.org Sent: Wednesday, August 28, 2013 1:00:02 PM Subject: Re: [Engine-devel] Java Development Lifecycle
----- Original Message -----
From: "Eli Mesika" <emesika@redhat.com> To: "Yair Zaslavsky" <yzaslavs@redhat.com> Cc: engine-devel@ovirt.org Sent: Wednesday, August 28, 2013 12:55:21 PM Subject: Re: [Engine-devel] Java Development Lifecycle
----- Original Message -----
From: "Yair Zaslavsky" <yzaslavs@redhat.com> To: "Martin Perina" <mperina@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" <mperina@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 ???
make .... BUILD_GWT_USERPORTAL=0
Yap , that's great Just one thing , since 99% a developer compiles dev env is for admin portal , it will be nice to default BUILD_GWT_USERPORTAL to 0 for ease of use
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" <mtayer@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

----- Original Message -----
From: "Eli Mesika" <emesika@redhat.com> To: "Alon Bar-Lev" <alonbl@redhat.com> Cc: "Yair Zaslavsky" <yzaslavs@redhat.com>, engine-devel@ovirt.org Sent: Wednesday, August 28, 2013 11:18:59 PM Subject: Re: [Engine-devel] Java Development Lifecycle
----- Original Message -----
From: "Alon Bar-Lev" <alonbl@redhat.com> To: "Eli Mesika" <emesika@redhat.com> Cc: "Yair Zaslavsky" <yzaslavs@redhat.com>, engine-devel@ovirt.org Sent: Wednesday, August 28, 2013 1:00:02 PM Subject: Re: [Engine-devel] Java Development Lifecycle
----- Original Message -----
From: "Eli Mesika" <emesika@redhat.com> To: "Yair Zaslavsky" <yzaslavs@redhat.com> Cc: engine-devel@ovirt.org Sent: Wednesday, August 28, 2013 12:55:21 PM Subject: Re: [Engine-devel] Java Development Lifecycle
----- Original Message -----
From: "Yair Zaslavsky" <yzaslavs@redhat.com> To: "Martin Perina" <mperina@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" <mperina@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 ???
make .... BUILD_GWT_USERPORTAL=0
Yap , that's great Just one thing , since 99% a developer compiles dev env is for admin portal , it will be nice to default BUILD_GWT_USERPORTAL to 0 for ease of use
Well, I will love to see discussion over that. Also adding if BUILT_UT should be default enabled. In the meantime, you can just create a wrapper script to setup whatever you prefer :)
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" <mtayer@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

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

----- Original Message -----
From: "Martin Betak" <mbetak@redhat.com> To: "Alon Bar-Lev" <alonbl@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

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?

----- Original Message -----
From: "Itamar Heim" <iheim@redhat.com> To: "Alon Bar-Lev" <alonbl@redhat.com> Cc: "Martin Betak" <mbetak@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
participants (9)
-
Alon Bar-Lev
-
Eli Mesika
-
Itamar Heim
-
Liran Zelkha
-
Liran Zelkha
-
Martin Betak
-
Martin Perina
-
Mooli Tayer
-
Yair Zaslavsky