Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 331001 - CI build for Gemini DBAccess
Summary: CI build for Gemini DBAccess
Status: RESOLVED FIXED
Alias: None
Product: Gemini.DBaccess
Classification: RT
Component: Core (show other bugs)
Version: unspecified   Edit
Hardware: PC Windows Server 2003
: P3 normal (vote)
Target Milestone: ---   Edit
Assignee: Project Inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-11-24 04:50 EST by Krum Tsvetkov CLA
Modified: 2011-10-02 06:34 EDT (History)
1 user (show)

See Also:


Attachments
Patch to enable building Gemini.DBAccess with Maven/Tycho (61.63 KB, patch)
2010-12-17 10:35 EST, Krum Tsvetkov CLA
juergen.kissner: iplog+
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Krum Tsvetkov CLA 2010-11-24 04:50:33 EST
Gemini DBAccess doesn't have currently a build setup on Hudson.

I can try to setup one. As a first step I can offer to try and get the project building with Tycho. I will prepare the neccessary changes (basically defining a target platform, and adding a pom.xml file for every bundle) and will attach them here together with some description how to run the build locally.
You can then have a look, try it out and decide if this is something you'd like to go for or not.

I still need some time to play with this and then I'll write again.
Comment 1 Krum Tsvetkov CLA 2010-12-17 10:35:18 EST
Created attachment 185428 [details]
Patch to enable building Gemini.DBAccess with Maven/Tycho

Here is a patch which will allow you to build dbaccess with maven/tycho.

I'll try to describe the changes below. I suggest that you try to use the build locally and see if this is something that fits your needs. If you find it ok, I can try to setup a hudson job which does the build once in a while.

If you have questions afterwards, just let me know. 

1) To run locally, you'll need maven 3.
2) Maven will need to download some things from internet, therefore you may need to configure the proxy settings (this is done already fot the hudson at Eclipse). To do this, edit the file /mvn_parent/settings.xml and replace the TODOs with the right proxy settings.
3) To execute the build, go into /mvn_parent and call:
mvn -fae -s settings.xml clean install

Hopefully then everything works fine :)

Some remarks on what the build does:
- the folder /mvn_parent contains a pom.xml which is the "parent" of all subprojects. Every bundle which is build has its own pom.xml file
- it builds every bundle (result as usually for maven is under /target in the respective directory)
- I added a feature, which currently includes everything except the tests. The feature is also built.
- I added an update site /gemini.dbaccess.updatesite . When this is build, you should find there under /target/site/ a p2 repository containing the feature and all plugins included into it. This is I think the most important product of the build
- currently there are no tests executed. The tests are only built
- I added some configuration to allow running findbugs. If you add findbugs:findbugs at the end of the command line, you'll find in the different /target directories which are produced some information from findbugs. This can be later nicely aggregated and displayed in Hudson. To try it, just run:
mvn -fae -s settings.xml clean install findbugs:findbugs

Well this is what comes to my mind at the moment. Give it a try and tell me then your opinion.
Comment 2 Krum Tsvetkov CLA 2010-12-17 10:38:32 EST
If this one works fine, I could try setting up a tycho build for gemini.jpa. It will be more challanging because of the dependency on EclipseLink, but I think I could get it working.
Comment 3 Juergen Kissner CLA 2010-12-17 10:54:59 EST
Hi Krum,
sounds good --- I'll give it a try.

However, I am still not sure how to handle a central build for additional JDBC drivers like MySQL...
Comment 4 Juergen Kissner CLA 2010-12-20 09:42:51 EST
Hi Krum,
After your submission on Friday, Mike Keith beat me in committing his changes --- he refactored the project and included MySQL. That means, the question about how to handle JDBC drivers beyond Derby is not just theory any more. Unfortunately, the maven/tycho project setup in its current form needs to be revised too.
Comment 5 Juergen Kissner CLA 2011-10-02 06:29:31 EDT
Comment on attachment 185428 [details]
Patch to enable building Gemini.DBAccess with Maven/Tycho

Used a modified version of Krums suggestion
Comment 6 Juergen Kissner CLA 2011-10-02 06:34:26 EDT
Maven/Tycho build included