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(a)redhat.com>
To: "Adam Litke" <agl(a)us.ibm.com>
Cc: engine-devel(a)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(a)ovirt.org
http://lists.ovirt.org/mailman/listinfo/engine-devel