[Engine-devel] Eclipse IDE setup

Shireesh Anjal sanjal at redhat.com
Tue Feb 7 14:26:10 UTC 2012


Hi,

I went through setting Eclipse IDE for engine development recently.

After getting the maven build to work, and after importing all projects into eclipse, following setup is required to get rid of all compilation errors reported by eclipse:

1) at restapi-definition -> project -> properties -> java build path -> source -> add source folder -> target/generated sources/xjc
2) at webadmin -> project -> properties -> java build path -> source -> add source folder-> target/generated sources/annotations,gwt,test-annotations

3) To get rid of the error "The method setCharacterEncoding(String) is undefined for the type  HttpServletResponse" in source frontend/webadmin/modules/frontend/src/main/java/org/ovirt/engine/ui/frontend/server/gwt/WebadminDynamicHostingServlet.java, I modified pom.xml at root level to change servlet API version from 2.3 to 2.4 as the concerned API is introduced in 2.4

<javax.ejb.api.version>3.0</javax.ejb.api.version>
- <javax.servlet.api.version>2.3</javax.servlet.api.version>
+ <javax.servlet.api.version>2.4</javax.servlet.api.version>
<jcraft.jsch.version>0.1.42</jcraft.jsch.version>

4) Make sure that you import the engine code formatter into eclipse _before_ starting development.

Window -> Preferences -> Java -> Code Style -> Formatter -> Import -> <ovirt-src-root>/config/engine-code-format.xml

5) Above mentioned formatted doesn't work in comments. This can be resolved by adding "Remove trailing whitespace" in "Save actions" as follows:

Window -> Preferences -> Java -> Editor -> Save Actions -> Additional Actions -> Configure -> Code Organizing -> Remove trailing whitespace ->  All lines

6) For some reason, editing a properties file in eclipse results in a lot of "diff" in git, making it difficult to review the code change. So I'm resorting to editing properties file in a text editor outside eclipse for the time being. I suspect this may not happen on all machines.

Regards,
Shireesh

----- Original Message -----
From: "Livnat Peer" <lpeer at redhat.com>
To: "Adam Litke" <agl at us.ibm.com>
Cc: engine-devel at ovirt.org
Sent: Tuesday, February 7, 2012 1:54:36 AM
Subject: Re: [Engine-devel] Eclipse IDE setup

On 06/02/12 21:47, Adam Litke wrote:
> On Mon, Feb 06, 2012 at 08:28:19PM +0200, Livnat Peer wrote:
>> On 06/02/12 19:18, Adam Litke wrote:
>>> On Mon, Feb 06, 2012 at 10:58:13AM -0500, Laszlo Hornyak wrote:
>>>> Hi Adam!
>>>>
>>>> Please check if workspace maven resolution is enabled, and run a maven build with install.
>>>> If it is still broken, then there must be a bad dependency in the pom.xml-s... it happens :-(
>>>
>>> Thanks for your suggestions.  Maven resolution is enabled.  Then I tried to
>>> build on the command line using mvn directly but got the same errors as in
>>> eclipse.  Next, I tried to checkout out the 3.0 branch (assuming that the build
>>> should be more stable) and I got a different set of compilation errors.
>>>
>>
>> Hi Adam,
>>
>>> This brings up a few questions:
>>>
>>> 1.) Which jdk should I use?  I am currently using OpenJDK
>>>
>>> /usr/lib/jvm/java-1.6.0-openjdk/bin/java -version
>>> java version "1.6.0_23"
>>> OpenJDK Runtime Environment (IcedTea6 1.11pre) (6b23~pre11-0ubuntu1.11.10.1)
>>> OpenJDK 64-Bit Server VM (build 20.0-b11, mixed mode)
>>>
>>
>> you are using the right JDK.
>>
>>> 2,) Does this need a Fedora/RH system to compile?
>>
>> The engine works on Fedora, RHEL, Ubuntu Gentoo  and should work on any
>> other Linux based operating system (Java is platform agnostic).
>>
>>
>>>
>>> 3.) My guess is that others are able to compile oVirt even if there are bad
>>> dependencies in the pom.xml files.  Otherwise they would already be fixed.  How
>>> do others fix the dependencies on their local systems.
>>>
>>
>> There should not be any local issues, let's try to figure out what the
>> issues are.
>>
>> The errors are probably not related to eclipse because you have
>> compilation errors from the command line as well.
>>
>> I would start by compiling the engine and api with no tests and no UI:
>>
>> Run from the command line -
>>
>> 1. $ovirt_engine_home> mvn clean
>> 2. $ovirt_engine_home> mvn install -DskipTests
>>
>> What is the result of the above two?
> 
> Thanks Livnat!  The mvn clean was successful.  Here are the errors from the
> install step:


1. do you have latest? when did you fetch last (I can fetch the same
commit hash to make sure it compiles, I have latest and it compiles)

2. let try to compile the engine without the GWT stub -
 $ovirt_engine_home> cd backend/manager
 $ovirt_engine_home/backend/manager > mvn install -DskipTests

What is the result of the above?

BTW if you want online help I am on the ovirt IRC channel.





> 
> [INFO] ------------------------------------------------------------------------
> [INFO] Building Shared GWT code
> [INFO]    task-segment: [install]
> [INFO] ------------------------------------------------------------------------
> [INFO] [clean:clean {execution: auto-clean}]
> [INFO] [dependency:unpack {execution: copy}]
> [INFO] Configured Artifact: org.ovirt.engine.core:common:sources:3.0.0-0001:jar
> [INFO] Configured Artifact: org.ovirt.engine.core:compat:sources:3.0.0-0001:jar
> [INFO] Configured Artifact: org.ovirt.engine.core:searchbackend:sources:3.0.0-0001:jar
> [INFO] Unpacking /home/aglitke/.m2/repository/org/ovirt/engine/core/common/3.0.0-0001/common-3.0.0-0001-sources.jar to
>   /home/aglitke/src/ovirt-engine/frontend/webadmin/modules/sharedgwt/src/main/java
>    with includes null and excludes:null
> [INFO] Unpacking /home/aglitke/.m2/repository/org/ovirt/engine/core/compat/3.0.0-0001/compat-3.0.0-0001-sources.jar to
>   /home/aglitke/src/ovirt-engine/frontend/webadmin/modules/sharedgwt/src/main/java
>    with includes null and excludes:null
> [INFO] Unpacking /home/aglitke/.m2/repository/org/ovirt/engine/core/searchbackend/3.0.0-0001/searchbackend-3.0.0-0001-sources.jar to
>   /home/aglitke/src/ovirt-engine/frontend/webadmin/modules/sharedgwt/src/main/java
>    with includes null and excludes:null
> [INFO] [resources:resources {execution: default-resources}]
> [INFO] Using 'UTF-8' encoding to copy filtered resources.
> [INFO] Copying 3 resources
> [INFO] skip non existing resourceDirectory /home/aglitke/src/ovirt-engine/frontend/webadmin/modules/sharedgwt/src/main/resources
> [INFO] [gwt:resources {execution: default}]
> [INFO] 750 source files copied from GWT module org.ovirt.engine.SharedGwt
> [INFO] [compiler:compile {execution: default-compile}]
> [INFO] Compiling 749 source files to /home/aglitke/src/ovirt-engine/frontend/webadmin/modules/sharedgwt/target/classes
> [INFO] ------------------------------------------------------------------------
> [ERROR] BUILD FAILURE
> [INFO] ------------------------------------------------------------------------
> [INFO] Compilation failure
> 
> Quota.java:[52,52] cannot find symbol
> symbol  : variable QUOTA_NAME_SIZE
> location: class org.ovirt.engine.core.common.businessentities.BusinessEntitiesDefinitions
> 
> Quota.java:[58,52] cannot find symbol
> symbol  : variable QUOTA_DESCRIPTION_SIZE
> location: class org.ovirt.engine.core.common.businessentities.BusinessEntitiesDefinitions
> 
> 
> [INFO] ------------------------------------------------------------------------
> [INFO] For more information, run Maven with the -e switch
> [INFO] ------------------------------------------------------------------------
> [INFO] Total time: 1 minute 52 seconds
> [INFO] Finished at: Mon Feb 06 13:45:09 CST 2012
> [INFO] Final Memory: 241M/575M
> [INFO] ------------------------------------------------------------------------
> 
> 

_______________________________________________
Engine-devel mailing list
Engine-devel at ovirt.org
http://lists.ovirt.org/mailman/listinfo/engine-devel



More information about the Engine-devel mailing list