Need help to setup workspace to build BIRT [message #671860] |
Thu, 19 May 2011 04:07  |
Eclipse User |
|
|
|
Hello,
I need some professional help to setup a workspace in which I can build the BIRT project (i.e. any plugin that starts with org.eclipse.birt + the feature sets)
Since this is for work, I can spend some bucks on this help.
So if you're a Java developer working on the source (not just on BIRT report designs), please reply.
Thanks a lot.
|
|
|
|
|
|
|
|
Re: Need help to setup workspace to build BIRT [message #673746 is a reply to message #673733] |
Tue, 24 May 2011 11:38   |
Eclipse User |
|
|
|
Jason Weathersby wrote on Tue, 24 May 2011 17:12Can you just copy and replace them?
Not really. For one, my qualifier is different and when I tried last time, Eclipse wasn't stable (either my changes weren't picked up or I got errors).
So my current solution is to unpack the plugins, strip the signing information from the MANIFEST.MF file, replace the changed classes, and package the plugin again with the same name.
That ... works.
But it's sort of a proof that PDE is a failure. I mean: PDE is used to build Eclipse plugins, features and even the whole Eclipse IDE. Why is it so hard to repeat that process outside of the Eclipse build servers? What magic are they using there that I'm missing?
Contrary example: When building things with Maven, I do "mvn install" and that's it. It just works. It downloads everything it needs automatically, runs all the tests to make sure I get what I expect, etc.
With PDE, I either fail to locate the main build file, I can't start it because some parameters are not set to useful defaults or the build fails in the 112th recursive Ant build file with an error like "Something is wrong." 
Which is why I came here with a very specific question: how does the BIRT build work?
|
|
|
Re: Need help to setup workspace to build BIRT [message #673786 is a reply to message #673746] |
Tue, 24 May 2011 13:58   |
Eclipse User |
|
|
|
Aaron
Can you give me an example of a change you made. I want to try and
reproduce the issue to see what is happening.
Jason
On 5/24/2011 11:38 AM, Aaron Digulla wrote:
> Jason Weathersby wrote on Tue, 24 May 2011 17:12
>> Can you just copy and replace them?
>
>
> Not really. For one, my qualifier is different and when I tried last
> time, Eclipse wasn't stable (either my changes weren't picked up or I
> got errors).
>
> So my current solution is to unpack the plugins, strip the signing
> information from the MANIFEST.MF file, replace the changed classes, and
> package the plugin again with the same name.
>
> That ... works.
>
> But it's sort of a proof that PDE is a failure. I mean: PDE is used to
> build Eclipse plugins, features and even the whole Eclipse IDE. Why is
> it so hard to repeat that process outside of the Eclipse build servers?
> What magic are they using there that I'm missing?
>
> Contrary example: When building things with Maven, I do "mvn install"
> and that's it. It just works. It downloads everything it needs
> automatically, runs all the tests to make sure I get what I expect, etc.
>
> With PDE, I either fail to locate the main build file, I can't start it
> because some parameters are not set to useful defaults or the build
> fails in the 112th recursive Ant build file with an error like
> "Something is wrong." :(
>
> Which is why I came here with a very specific question: how does the
> BIRT build work?
|
|
|
|
Re: Need help to setup workspace to build BIRT [message #674284 is a reply to message #673935] |
Thu, 26 May 2011 08:09   |
Eclipse User |
|
|
|
Hi,
Thanks for chiming in. I feel that you understand what bugs me 
Xiaoying Gu wrote on Wed, 25 May 2011 10:30BIRT daily build was created by PDE script in headless mode based on feature definition. I think it's difficult for you to reproduce the complete build process since it composes of many customized packaging scripts.
Exactly. But the nightly build is exactly what I'm looking for. Can you please help me to set this up?
Quote:You can refer to the Readme.html under org.eclipse.birt.releng.birtbuilder plugin, which gives basic concept how BIRT build its featurs.
Thanks. One of the problems was to find out which build.xml was the root one. A couple of questions regarding this file:
- It was updated Dec 27, 2007 last time. Can you please have a quick look to see if anything major has changed. I'm pretty sure a JDK 1.4 isn't enough anymore
- Then it talks about "Eclipse 3.4", "WTP 3.0/EMF2.4/GEF3.4 M5 builds and DTP latest 1.6 nightly builds" ... These must be outdated. Does the build download them? if not, how do I find out which versions I need now and how do I supply them?
- I checked the file build.properties. Would it be possible to move all common paths to a property?
- Can you copy the Readme.html into the Eclipse wiki to make it easier to update? I have Eclipse committer rights, so I could maintain that page as I make this work.
- Is the file "bootstrap.sh" still useful?
Quote:For building inside Eclipse for modified plugins/features, I think PDE export tools should have the complete ability to do the job.
My problem with the PDE export is that it's not repeatable: I can't save the settings somewhere. So as soon as another developer needs to repeat my work, things get hairy. Especially since I'm unsure myself which option I need and what they all do.
For example: Do I have to specify a classifier?
Quote:1. Copy the exported plugins into <Target Platform>/dropins/eclipse/plugins/ folder. But you need to make sure the exported plugin version is greater than the old one, which locates in your <Target Platform>/plugins/ directory. You can set the plugin version in export dialog.
I didn't try dropins because the BIRT feature contains specific references to plugin versions like: org.eclipse.birt:2.6.1.v20100813
So I did expect that Eclipse would load only this exact plugin and nothing else.
I will give this a try.
Quote:2. You can choose to export a BIRT feature and create the P2 repository. In your target platform, you can choose to install the exported feature. This also can be achieved in PDE export tools.
Errr... I'm not sure what half of these words mean.
How do I export a BIRT feature? Specifically, what do I have to select in the workbench before I open the export dialog? What values do I have to supply in the export dialog?
"target platform": As I understand, a target platform is to tell Eclipse which plugins will be available when a plugin/feature is installed. Why would I want to install my exported feature there? I want to install it in a normal Eclipse installation.
Best regards,
A. Digulla
|
|
|
|
Re: Need help to setup workspace to build BIRT [message #675982 is a reply to message #674284] |
Thu, 02 June 2011 05:17   |
Eclipse User |
|
|
|
I see that you are trying to set up the headless nightly build of BIRT, not create a one-time patch plugin or feature.
Quote:Thanks. One of the problems was to find out which build.xml was the root one. A couple of questions regarding this file:
The top-level build script of the daily build is bootstrap.sh and buildAll.xml, which we are using.
If you are trying to build the 2.6.2 stream BIRT, please check out the birtbuilder from BIRT_2_6_2_Branch.
Quote:- Then it talks about "Eclipse 3.4", "WTP 3.0/EMF2.4/GEF3.4 M5 builds and DTP latest 1.6 nightly builds" ... These must be outdated. Does the build download them? if not, how do I find out which versions I need now and how do I supply them?
You can find these infos on the BIRT main download site(http://download.eclipse.org/birt/downloads/build_list.php). on each build download page, we list the Eclipse Project Dependencies projects versions and download URL. You should install the same projects version into the ${baseLocation} for your build environment.
Quote:- I checked the file build.properties. Would it be possible to move all common paths to a property?
Common paths defined in build.properties should be changed to corresponding value of your build environment.
Quote:- Is the file "bootstrap.sh" still useful?
yes.
Quote:I didn't try dropins because the BIRT feature contains specific references to plugin versions like: org.eclipse.birt:2.6.1.v20100813
So I did expect that Eclipse would load only this exact plugin and nothing else.
Eclipse doesn't load plugins by version defined in features. It will always load the plugin that have the greater version suffix, no matter it locates under the plugins/ dir or dropins/*/eclipse/plugins/ dir.
[quote]How do I export a BIRT feature? Specifically, what do I have to select in the workbench before I open the export dialog? What values do I have to supply in the export dialog?[quote]
For exporting a feature, you should have the birt feature, for example, org.eclipse.birt.feature and your customized plugin, for example org.eclipse.birt.core in your workbench.
Then you could choose the feature project -> Export -> Plugin-Devlopement -> Deployable features
Else are same as plugin exporting. The exported contents contains p2-metadata and zipped up features and plugins.
Quote:"target platform": As I understand, a target platform is to tell Eclipse which plugins will be available when a plugin/feature is installed. Why would I want to install my exported feature there? I want to install it in a normal Eclipse installation.
What I meant was you could provide the build in the form of p2 repository for end users. You could install your own features, which contains the modified plugins based on the original BIRT release build.
|
|
|
|
Re: Need help to setup workspace to build BIRT [message #676224 is a reply to message #671860] |
Fri, 03 June 2011 05:24   |
Eclipse User |
|
|
|
Thanks for your long answer. I tried to build BIRT using bootstrap.sh but I failed.
There are many problems with this script:
* The CVS command near the top works on the branch "BIRT_2_6_1_Branch" but the checkout is from 2.6.2.
* There are two "build dir" variables: builderDir and buildDirectory. They don't have the same value, one can be set from the command line, the other has a fixed value. And buildDirectory seems obsolete (it's only used in an echo command). Please check.
* There are many places where "/home/adb/releng.260" is used. Why don't you use a common variable like "workDir" here? Or how about "$HOME/releng.260"?
* The scripts contains internal IP addresses like 192.168.218.218.
* The script replaceBuildInfo.sh doesn't do anything useful: It creates a file, does "sed file > file" (which probably doesn't work as you expect) and then deletes the file.
* Where can I find releng.dtp.182/dtpURLmonitor.properties?
I could fix all of those with a small script that replaces those strings with something that works for me, but now, I've run into a big problem: Many files contain ":ext:xgu":
- $builderDir/directory.txt
- $builderDir/fetch_org.eclipse.birt.sdk.xml
- $builderDir/build/retrieve.xml
- $builderDir/maps/source/org.eclipse.birt.releng/maps/*
How can I fix those files? From what I can see, those are checked out from CVS. The checkout happens somewhere deep in the ANT scripts, so there is no way I can fix those files from my "fix script".
My current solution is to start the script, wait for the error, then fix the CVSROOTs in the map files and start the build a second time.
Now I get an error for this URL: http://build-birt/software/platform/orbit-S20100519200754-Helios/bundles/org.apache.batik.bridge_1.6.0.v200912221622.jar
This probably works on your machine because someone edited /etc/hosts on the build server but what should I do? Again, this string comes from map files. Which URL can I use? I couldn't find a way to get single bundles from the orbit download site.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Re: Automated build of BIRT 4.2.2 from git [message #1181623 is a reply to message #1074187] |
Mon, 11 November 2013 13:28  |
Eclipse User |
|
|
|
Hi,
I am trying to do code build as per steps mentioned in
http://wiki.eclipse.org/BIRT/FAQ/Birt_Project#Q:_How_to_Build_BIRT_3.7.1.2B_from_GIT.3F. I am using Java JDK 1.7 and EE JRE7.
A. code build for eclipse BIRT4.2.2 reporting code
I am trying to do BIRT4.2.2 code build as per instructions.
I took the BIRT 4.2.2 from Git and trying to compile it, I get error '
Referenced element 'enablement' is not defined' for elementAdapters.exsd /org.eclipse.birt.report.designer.ui/schema (line 92 Plug-in Problem)
reportItemEditpart.exsd /org.eclipse.birt.report.designer.ui/schema (line 51 Plug-in Problem).
Is this problem resolved in BIRT code 4.2.2 or I have to follow steps in https://bugs.eclipse.org/bugs/show_bug.cgi?id=310987.
Is it necessary to take code from BIRT-All-in-one and not from the git.
B. Create BIRT Viewer
I tried to follow steps mentioned in URL above, but found that viewservlets.jar is not getting generated under \WebInf\lib though I get other messages as written.
I get message "build successful" at the end of process. So how to create jar viewservlets.jar in webinf/lib folder.
C. How do I export org.eclipse.birt.report.runtime jar for 4.2.2 BIRT web viewer?
The birt runtime jar is getting created by following the steps mentioned in FAQ.
But I try to deploy it in apache tomcat server 7.0.35, its not getting deployed and get error stack as follows:
INFO: Deploying web application archive C:\apache-tomcat-7.0.35\webapps\birt.war
Nov 10, 2013 11:20:00 PM org.apache.catalina.core.ContainerBase addChildInternal
SEVERE: ContainerBase.addChild: start:
org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/birt]]
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:901)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:633)
at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:977)
at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1655)
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.SecurityException: Invalid signature file digest for Manifest main attributes
at sun.security.util.SignatureFileVerifier.processImpl(Unknown Source)
at sun.security.util.SignatureFileVerifier.process(Unknown Source)
at java.util.jar.JarVerifier.processEntry(Unknown Source)
at java.util.jar.JarVerifier.update(Unknown Source)
at java.util.jar.JarFile.initializeVerifier(Unknown Source)
at java.util.jar.JarFile.getInputStream(Unknown Source)
at org.apache.tomcat.util.scan.FileUrlJar.getEntryInputStream(FileUrlJar.java:97)
at org.apache.catalina.startup.ContextConfig.processAnnotationsJar(ContextConfig.java:1980)
at org.apache.catalina.startup.ContextConfig.processAnnotationsUrl(ContextConfig.java:1947)
at org.apache.catalina.startup.ContextConfig.processAnnotations(ContextConfig.java:1932)
at org.apache.catalina.startup.ContextConfig.webConfig(ContextConfig.java:1326)
at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:878)
at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:369)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5179)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
... 11 more
Nov 10, 2013 11:20:00 PM org.apache.catalina.startup.HostConfig deployWAR
SEVERE: Error deploying web application archive C:\apache-tomcat-7.0.35\webapps\birt.war
java.lang.IllegalStateException: ContainerBase.addChild: start: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/birt]]
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:904)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:633)
at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:977)
at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1655)
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Need your help to rectify the errors. Pls. send me document link if its available for latest BIRT release.
Regards,
G
|
|
|