Open patric-r opened 4 years ago
I haven't done so myself, but I remember that dom4j was metioned in birt\build\org.eclipse.birt.build\readme.txt
Thanks for your comment, I'll have a look at the mentioned readme.txt
How do you build BIRT within eclipse (without any errors)?
Yesterday I was able to have the BIRT project inside the Eclipse IDE without red lights by following the instructions at https://github.com/Flugtiger/birt/wiki/How-to-setup-an-Eclipse-IDE-for-Eclipse-BIRT.
But to be honest, I still don't know how to generate/run/test from inside Eclipse.
For building, I use Maven on the command line as described on the other Wiki page. I wrote a little CMD script for this, which makes it a bit easier, but building this way takes about 20 minutes on my machine (and we already use a Nexus proxy).
My scripts look like this:
Script mvn-umgebung.cmd:
set JAVA_HOME=c:\prog\jdk\jdk1.8.40\jre set Path=c:\prog\PortableGit\bin;c:\prog\apache-maven-3.6.1\bin;%JAVA_HOME%\bin;%Path% set JAVA_TOOL_OPTIONS=-Xmx1024m -Xms1024m
Script build-birt.cmd:
@echo off setlocal call mvn-umgebung.cmd if exist birt ( pushd birt del /S /Q build git checkout build popd ) else ( git clone https://github.com/hvbtup/birt.git ) if not exist c:\prog\m2\toolchains.xml copy toolchains.xml c:\prog\m2\ pushd birt rem mvn --global-settings c:\prog\m2\settings.xml --global-toolchains c:\prog\m2\toolchains.xml clean package -DskipTests mvn --global-settings c:\prog\m2\settings.xml --global-toolchains c:\prog\m2\toolchains.xml package -DskipTests popd echo Das fertige Ecclipse sollte in folgendem Verzeichnis zu finden sein: echo birt\build\birt-packages\birt-report-all-in-one\targets\products endlocal
Note that the script deletes and the eintire build directory before building. This seems to be necessary to have a really clean build.
I then extract the birt-report-designer-all-in-one-...zip and then start the eclipse.exe in the extracted directory.
When I only have minor changes in a few files, in order to save time, I directly copy the corresponding .class files to the .jar files, e.g. like this:
rem Test the DOCX emitter
setlocal
rem Configuration set TODAY=%DATE% set YYYY=%TODAY:~6,4% set MM=%TODAY:~3,2% set DD=%TODAY:~0,2%
set BIRT_ECLIPSE_HOME=C:\prog\birt-report-designer-all-in-one-4.11.0-%YYYY%%MM%%DD%-win32.win32.x86_64\eclipse set SRC_DIR=C:\git\repos\birt\engine
rem Update some of the plugins
pushd %SRC_DIR% call :UPDATE_JARS org.eclipse.birt.report.engine.emitter.config.docx call :UPDATE_JARS org.eclipse.birt.report.engine.emitter.config.wpml call :UPDATE_JARS org.eclipse.birt.report.engine.emitter.docx call :UPDATE_JARS org.eclipse.birt.report.engine.emitter.wpml call :UPDATE_JARS org.eclipse.birt.report.engine.ooxml
popd
SET JAVA_HOME=C:\prog\jdk\jdk8u212-b03\jre SET PATH=%JAVA_HOME%\bin;%PATH% start %BIRT_ECLIPSE_HOME%\eclipsec.exe
endlocal goto :EOF
:UPDATE_JARS for %%I in (%BIRT_ECLIPSEHOME%\plugins\%1*.jar) do set THE_JAR=%%I C:\prog\jdk\jdk8u212-b03\bin\jar.exe uf %THE_JAR% -C %SRC_DIR%\%1\target\classes . goto :EOF
This is of course not the recommended way, but it works. I wish I knew a more elegant way...
hi @patric-r , I'm glad there is someone interested in BIRT which has found his way to this repo. The error with dom4j is strange, the daily build of this repo ist still green (at least most of the time). Can you check your target definition whether everything was loaded correctly? Dom4J should be imported from Eclipse Orbit.
Test from inside eclipse can be started by choosing "Run As... -> Junit Plugin Test" given that all the build errors are gone (BIRT then can also be started from inside eclipse).
@Flugtiger Thank you for your comment and sorry for the summer delay. First of all, which Eclipse SDK release do you use for building BIRT within Eclipse? Is it possible to use the most recent one?
After this has been clarified, I will make another attempt for creating a working build environment. Thanks!
@Flugtiger As a kind reminder to the above, please. Which eclipse version does the project require? I was not able to get this working using the wiki article with eclipse 2020-09.
The oomph installation process failed to checkout the git project out-of-the-box: org.eclipse.jgit.api.errors.TransportException: git@github.com:flugtiger/birt.git: No more authentication methods available and the ooomph process stops. After cloning this repo manually and resuming oomph setup tasks, I get thousands of compile errors (but strangely, due to missing eclipse dependencies, like emf). Additionally eclipse asks for installing something from the Marketplace.
@patric-r Sorry for waiting so long for a reply. This BIRT fork is currently far from being my top priority. I'm currently trying to follow my own "How-to install an Eclipse IDE for BIRT". I would recommend not using the most recent version of Eclipse for a BIRT IDE. Eclipse nowadays requires Java 11 to run and BIRT is far from supporting Java 11. The last Eclipse version that was able to run with Java 8 seems to be Eclipse 2020-06 so I will try this version together with AdoptOpenJDK 8.
@patric-r When following my own "How-to" I also stumbled upon the errors you described.
I will try to mitigate these problems in the Oomph-setup soon, so that others don't run into these problems.
@Flugtiger Thanks for your response. Regarding first point: Thanks, this was a silly issue, I overlooked that it used ssh. Fixed.
However, afterwards, following your step-by-step tutorial, oomph fails in the 2nd stage (after eclipse 2020-06 has been started):
Fetching content.xml.xz from http://download.eclipse.org/tools/orbit/downloads/drops2/R20181128170323/repository/ (84,82kB)
ERROR: org.eclipse.pde.core code=0 Problems occurred while resolving the target contents
at org.eclipse.oomph.util.OomphPlugin.coreException(OomphPlugin.java:291)
at org.eclipse.oomph.util.pde.TargetPlatformUtil.activateTargetDefinition(TargetPlatformUtil.java:151)
at org.eclipse.oomph.setup.pde.impl.TargetPlatformTaskImpl.perform(TargetPlatformTaskImpl.java:293)
at org.eclipse.oomph.setup.internal.core.SetupTaskPerformer.doPerformNeededSetupTasks(SetupTaskPerformer.java:3851)
at org.eclipse.oomph.setup.internal.core.SetupTaskPerformer.access$1(SetupTaskPerformer.java:3794)
at org.eclipse.oomph.setup.internal.core.SetupTaskPerformer$WorkspaceUtil$1.run(SetupTaskPerformer.java:5160)
at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2292)
at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2317)
at org.eclipse.oomph.setup.internal.core.SetupTaskPerformer$WorkspaceUtil.performNeededSetupTasks(SetupTaskPerformer.java:5154)
at org.eclipse.oomph.setup.internal.core.SetupTaskPerformer$WorkspaceUtil.access$0(SetupTaskPerformer.java:5152)
at org.eclipse.oomph.setup.internal.core.SetupTaskPerformer.performNeededSetupTasks(SetupTaskPerformer.java:3785)
at org.eclipse.oomph.setup.internal.core.SetupTaskPerformer.performTriggeredSetupTasks(SetupTaskPerformer.java:3760)
at org.eclipse.oomph.setup.internal.core.SetupTaskPerformer.perform(SetupTaskPerformer.java:3638)
at org.eclipse.oomph.setup.ui.wizards.ProgressPage$9.run(ProgressPage.java:595)
at org.eclipse.oomph.setup.ui.wizards.ProgressPage$11$1.run(ProgressPage.java:722)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)
ERROR: org.eclipse.pde.core code=0 Problems loading repositories
ERROR: org.eclipse.pde.core code=0 Problems loading repositories
ERROR: org.eclipse.pde.core code=0 Unable to locate installable unit org.eclipse.emf.base.feature.group 2.17.0.v20181231-1705
ERROR: org.eclipse.pde.core code=0 Unable to locate installable unit org.eclipse.emf.ecore.feature.group 2.17.0.v20181231-1705
ERROR: org.eclipse.pde.core code=0 Unable to locate installable unit org.eclipse.emf.feature.group 2.17.0.v20190109-0952
So I had to click 'cancel' and not all eclipse dependencies could been resolved, therefore BIRT build breaks... Any hints?
Can you check whether the bundles that could not be resolved are still available in the given orbit repo (http://download.eclipse.org/tools/orbit/downloads/drops2/R20181128170323/repository/)? If yes, it might be a simple connection problem.
Question here.
First of all, thank you for this repo. It's good to see that there is still a BIRT community alive. I tried to follow your steps setup up the Eclipse IDE. However, a few (~100) build errors remain: dom4j imports cannot be resolved.
Is there something I missed? Thanks!