To start with the obvious, one of the advantages of an OSS project is that you use the source code to study, modify, or improve the software as you see fit. In a large project, like BIRT, it can be difficult to get the source. Worse, the documentation for fetching the source changes with each build. No one likes to writes docs, but having to re-write docs is particularly tedious.
In the Eclipse world there are two mechanisms that can be used to help tame these project structures and make it easier to get and build the source code from the version control systems. The release engineering (releng) systems is a comprehensive system that is used to fetch, build and release the Eclipse projects, including BIRT. Unfortunately, the releng process has a relatively high barrier to entry for someone that is un-familiar with the Eclipse process (its complicated).
The more user focused mechanism for getting a collection of projects from a version control system is the Team Project Set. Developers can create a Project Set File (PSF) that describes the repositories, projects, and version tags that make up a collection. Users can use the Import => Team => Team Project Set functionality in the Java Perspective to fetch the projects specified in the PSF.
I have created a simple program that uses the map files that are core to the RelEng process to build PSF files for the BIRT project. I am working to get this added to the BIRT version control system, but I am hoping to get some feedback on the files before we commit this to the BIRT project.
Here are the direct links to the PSF files:
- all_projects.psf
- birt_chart.psf
- birt_crosstab.psf
- birt_data.psf
- birt_doc.psf
- birt_engine.psf
- birt_features.psf
- birt_gui.psf
- birt_i18n.psf
- birt_model.psf
- birt_test.psf
- dtp_i18n.psf
I currently have the PSF files set up to pull the current release candidates from BIRT and DTP respectively.
BIRT_2_3_1_RC2_20080910
DTP_1_6_1_M1_20080725
If you would like to pull a different version of the source you have a couple of options. First you can pull the PSF files and then just do a string substitution on the version tags. The other option is to use a subversion client (subclipse or subversive) to check out the conversion project from version control. The project that builds the PSf files is located on my subversion server at http://longlake.minnovent.com/repos/birt_example.
Next you need to pull the org.eclipse.birt.releng project from the dev.eclipse.org server using the /cvsroot/birt repository. The project can be found under the Head/source folder, anonymous will work as the user name. Remember you will want to pull the version of the releng project that matches the version you are trying to get from CVS.
Now you have to open up the ConvertMapToPsf.java file and change lines 30 and 31 to use the appropriate CVS version tags. You will need to lookup the tags from CVS. The other popular tag you will want is the BIRT Ganymede Release 2.3.0:
BIRT_2_3_0_Release_200806181122
DTP_1_6_release_200806181028
If you have any problems with the Team Project Sets let me know. Hopefully we will have this in the product and a part of the BIRT web site soon, your feedback will be helpful.
EDITED TO ADD: Is anyone using stackoverflow.com? I have been following this startup question and answer site for a while. If you have questions or comments maybe you want to post them on the related post at stackoverflow.com. Here is the Post
9 comments:
Thank You! The last days I was looking at BIRT and team project sets is exactly what was missing....
Great stuff guys! All the projects should be so well organized...
I am a stack overflow user, and a new birt user. I just posted my first question about birt to stackoverflow. Check it out!
Where can I find the source code for the com.f1j stuff, such as com.f1j.data.query.JdbcQuery
wgoldman, I am confused what is the f1j.data.query?
sr
Scott, it is code found in essd9.jar, that I downloaded. Examples of it being used can be found in espreadsheet manual, spreadsheet-api-and-engine.pdf, which you get when you download the spreadsheet engine.
Scott, the pdf can be found here;
www.birt-exchange.com/documentation/Manuals/spreadsheet-api-and-engine.pdf
OMG! Link broken!
The project set files are now available on the download page for each BIRT build. For example 2.3.1 has it here:
http://download.eclipse.org/birt/downloads/build.php?build=R-R1-2_3_1-200809221151
Post a Comment