-
Notifications
You must be signed in to change notification settings - Fork 385
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
How to import BIRT code into eclipse #628
Comments
+1 Same here. IMHO, this is much more important than other things currently discussed (e.g. having a new logo/website). |
@Flugtiger mentioned oomph setup script. I don't know if he still plans to submit it but this would be very helpful. |
A working oomph script would be helpful. @ruspl-afed How does your BIRT development environment currently look like? |
What I did: (should be covered by oomph)
(plan to contribute it after tests will be fixed for master)
|
Thanks. Which Java version/Eclipse SDK release needs to be currently used? |
Java 8 is important at the moment, but there is a plan to upgrade to Java 11. |
Here's what I did.
I think that at least some of the unresolved classes and packages may be due misconfigured java build path (e.g. no source folder), java packages no longer supported (javax.xml.bind), and J2SE-1.5 execution environment. All of these can be fixed in due course. I do have one really weird error where it's obviously trying to unzip a pom.xml file. It seems to be caused by an unpack goal in the maven-dependency-plugin in birt-runtime-test. No idea why it's doing that. I also have "An API baseline has not been set for the current workspace". I've tried setting it to org.eclipse.birt.target.target but that gives me "There is a possible API baseline mismatch since none of the workspace projects is in the baseline", so that probably wan't the right thing to do. |
We don't have API baseline defined yet, but we need to create one that points to the latest officially released BIRT. @wimjongman do we know the git tag and the p2 repo URL of the latest official BIRT release? |
I still cannot get it to work. I used the most recent eclipse-for-commiters package, like @ruspl-afed said. I have more than 20000 compile errors (e.g. org.eclipse.emf cannot be resolved - although I installled EMF, com.lowagie cannot be resolved - but when I click on the imports, the source file is opened. This really looks like a configuration error. IMHO, if BIRT want to encourage other developers, the project really needs a document how to setup a proper build/development environment. Currently, it is very frustrating. |
I see this release directory R-R1-4.8.0-201806261756. There is no tag for it but I expect it is commit 8e9ce5f. So tag BIRT_4_8_0_Release_201806261756 must be made out of commit 8e9ce5f |
I don't have the authority to do that. I expect this can only be done by project leads. |
What target do you use? Please try with
|
@ruspl-afed Thanks, I opened /org.eclipse.birt.target/org.eclipse.birt.target.target This dropped the error count down to 1052. Good!
Any hints are appreciated. |
If you open the problems view, you can select the "..lifecycle.." error. It enables you to download a couple of extra plugins. If that does not solve it, it also enables you to silence the errors in the preferences. Eclipse is running its own compile anyway. |
Thank you so much, @wimjongman ! I used quick fix->Discover new m2e connectors Down to 89 errors. But not all of them:
When using Quick fix, it shows me: In addition to the maven errors, I have a few others:
|
Can you start to write a "getting started" document that explains all steps? |
@wimjongman |
please choose "Ignore" Quick Fix for this
Since we don't have baseline defined at the moment let's set this error to warning in preferences As for java version related problem I fixed a number of them in master, but perhaps not all |
Instead of ignoring, why can't we fix the root cause of those issues? What about the other issues? |
Go to the root of the git repo and run the build. This might resolve some of the compile issues. mvn clean verify -DskipTests |
To fix the root cause we will need to implement a maven to eclipse lifecycle mapping for this maven plugin. I think this is out of scope for this project.
Please update us with the list of issues you still have after building the latest master with
as @wimjongman suggested |
|
Yes, it needs to be run with JDK 8. I am working on a > JDK8 (JDK11) build and I am one failing test away from success. Please try to run the same with branch prepare_for_java11 |
@wimjongman Thanks, running maven with a JDK 8 worked. However, the situation didn't change in eclipse. Even after refreshing and doing a clean build, I still have 89 errors. |
What errors are left? |
We just released a new build. Please update BIRT and check the remaining errors. BIRT build must now be done with JDK11+ |
@wimjongman mvn verify goal with JDK 11 works after pulling the newest changes. Now we are back on all those "package org.w3c.dom is accessible from more than one module: , java.xml" errors. Aren't you getting those errors in your eclipse? |
Please try Project/Clean.. Clean all projects. |
I already did this. I refreshed maven configuration, I closed the projects and re-opened it, ran clean all - the result is the same. |
Ok, let me try on a fresh workspace. |
The "baseline workflow" is a method to prevent undocumented API changes. How does it work:
Now Eclipse can compare 4.8 to 4.9 and warn us for undocumented API changes. |
So the "baseline" is a method to ensure that certain projects are API compatible to a specific, e.g. older eclipse release (different to the eclipse SDK which we are using for development) to ensure BIRT will run on those releases as well? With "all-in-one" you mean Is this something every contributor needs to do in order to properly compile, change and test a working copy of birt? |
Not so much to an older Eclipse release but more to an older BIRT release. If we want BIRT to run against the API of an older Eclipse release then we have to build against that version. The current target platform runs against the latest Eclipse version. This means that we now can use new Eclipse API that would prevent BIRT from running on older Eclipse releases. However, I have no intention to support older Eclipse releases. For that, we have BIRT 4.8. The other reason is that any new BIRT API is properly documented with a "@SInCE" tag. If this is not the case then the baseline will complain. Try adding a new API (e.g. public method) to a project that uses the baseline and you will see an error appearing.
Yes,
The error is an error for Eclipse but it does not prevent running BIRT. The error can also be switched off in the preferences. Also, the lifecycle errors that you got are just logical errors as far as Eclipse is concerned. It does not hinder the execution of BIRT from within Eclipse. |
Fixed javadoc generation Fixed pom warning
With my latest push also the build is working again. Run maven with a java11 SDK. On the command line: mvn package -DskipTests |
After the build, you will find the created products in the
directory |
build failing again after merge with master |
Fixed build after merge with master
I've tried to write Oomph setup in the current state, as observed above, it's hard to even do this manually. For /org.eclipse.birt.chart.device.pdf/META-INF/MANIFEST.MF lib/fop-2.3.jar is missing. You can't really build with compliance set to Java 11 because it complains about APIs being visible from multiple different modules. You need a Java 8, JDK, and you need to tools.jar on the classpath or the com.sun.jdi* things don't resolve For /org.eclipse.birt.data.oda.pojo.ui/META-INF/MANIFEST.MF the Fragment-Host doesn't resolve, it should probably be Fragment-Host: org.eclipse.birt.data.oda.pojo;bundle-version="[2.1.0,5.0.0)" instead. For org.eclipse.birt.report.debug.internal.ui.launcher.util.ReportLauncherUtils.getEclipseHome() it should probably be like this
For org.eclipse.birt.report.viewer.mock.ServletContextSimulator it should implement more 'newer' methods. And of course all the Maven errors should be disabled, at least for now... There's also the issue of Jetty dependencies and where to get those. The ones proved by the platform/SimRel aren't all the ones that are needed... Given that things are in a state of flux and are quite badly broken, it's not really so feasible to automate the setup process at the moment. I fixed some of the problems above via the setup, but others I had to fix manually. In the end, I do have an error-free workspace... |
Thank you so much Ed @merks for investing your time. I was creating setup in parallel, but may be I can continue from your variant. Do you plan to create a PR? |
I'm familiar with the Gerrit workflow but I don't know how to do this with forks and pull requests. I'll just attach the work in progress here as a zip. It's mostly just boiler plate and the JRE task isn't much good because it only works with Java 8 right now... |
* How to import BIRT code into eclipse #628 Add project set for easy import * How to import BIRT code into eclipse #628 Add project set for easy import * How to import BIRT code into eclipse #628 Forbidden references should not be a warning but an error. ReportLauncherUtils failed to compile with internal API Jetty and Lucense upgrade Removed shady references from the updatesite pom Moved BIRT target to latest Eclipse Moved debug.ui to Java11 Upgrade fop to 4.6 in chart.device.pdf Removed version constrains in features * How to import BIRT code into eclipse #628 Forbidden references should not be a warning but an error. ReportLauncherUtils failed to compile with internal API Jetty and Lucense upgrade Removed shady references from the updatesite pom Moved BIRT target to latest Eclipse Moved debug.ui to Java11 Upgrade fop to 4.6 in chart.device.pdf Removed version constrains in features Added projectSet.psf for easy import Moved to fop 2.6 * How to import BIRT code into eclipse #628 Forbidden references should not be a warning but an error. ReportLauncherUtils failed to compile with internal API Jetty and Lucense upgrade Removed shady references from the updatesite pom Moved BIRT target to latest Eclipse Moved debug.ui to Java11 Upgrade fop to 4.6 in chart.device.pdf Removed version constrains in features Added projectSet.psf for easy import Moved to fop 2.6 Added preferences for engine.odf and engine.odp * How to import BIRT code into eclipse #628 Forbidden references should not be a warning but an error. ReportLauncherUtils failed to compile with internal API Jetty and Lucense upgrade Removed shady references from the updatesite pom Moved BIRT target to latest Eclipse Moved debug.ui to Java11 Upgrade fop to 4.6 in chart.device.pdf Removed version constrains in features Added projectSet.psf for easy import Moved to fop 2.6 Added preferences for engine.odf and engine.odp, and many others * How to import BIRT code into eclipse #628 Forbidden references should not be a warning but an error. ReportLauncherUtils failed to compile with internal API Jetty and Lucense upgrade Removed shady references from the updatesite pom Moved BIRT target to latest Eclipse Moved debug.ui to Java11 Upgrade fop to 4.6 in chart.device.pdf Removed version constrains in features Added projectSet.psf for easy import Moved to fop 2.6 Added preferences for engine.odf and engine.odp, and many others * How to import BIRT code into eclipse #628 Forbidden references should not be a warning but an error. ReportLauncherUtils failed to compile with internal API Jetty and Lucense upgrade Removed shady references from the updatesite pom Moved BIRT target to latest Eclipse Moved debug.ui to Java11 Upgrade fop to 4.6 in chart.device.pdf Removed version constrains in features Added projectSet.psf for easy import Moved to fop 2.6 Added preferences for engine.odf and engine.odp, and many others * How to import BIRT code into eclipse #628 Forbidden references should not be a warning but an error. ReportLauncherUtils failed to compile with internal API Jetty and Lucense upgrade Removed shady references from the updatesite pom Moved BIRT target to latest Eclipse Moved debug.ui to Java11 Upgrade fop to 4.6 in chart.device.pdf Removed version constrains in features Added projectSet.psf for easy import Moved to fop 2.6 Added preferences for engine.odf and engine.odp, and many others * How to import BIRT code into eclipse #628 Add project set for easy import * How to import BIRT code into eclipse #628 Add project set for easy import * How to import BIRT code into eclipse #628 Forbidden references should not be a warning but an error. ReportLauncherUtils failed to compile with internal API Jetty and Lucense upgrade Removed shady references from the updatesite pom Moved BIRT target to latest Eclipse Moved debug.ui to Java11 Upgrade fop to 4.6 in chart.device.pdf Removed version constrains in features * How to import BIRT code into eclipse #628 Forbidden references should not be a warning but an error. ReportLauncherUtils failed to compile with internal API Jetty and Lucense upgrade Removed shady references from the updatesite pom Moved BIRT target to latest Eclipse Moved debug.ui to Java11 Upgrade fop to 4.6 in chart.device.pdf Removed version constrains in features Added projectSet.psf for easy import Moved to fop 2.6 * How to import BIRT code into eclipse #628 Forbidden references should not be a warning but an error. ReportLauncherUtils failed to compile with internal API Jetty and Lucense upgrade Removed shady references from the updatesite pom Moved BIRT target to latest Eclipse Moved debug.ui to Java11 Upgrade fop to 4.6 in chart.device.pdf Removed version constrains in features Added projectSet.psf for easy import Moved to fop 2.6 Added preferences for engine.odf and engine.odp * How to import BIRT code into eclipse #628 Forbidden references should not be a warning but an error. ReportLauncherUtils failed to compile with internal API Jetty and Lucense upgrade Removed shady references from the updatesite pom Moved BIRT target to latest Eclipse Moved debug.ui to Java11 Upgrade fop to 4.6 in chart.device.pdf Removed version constrains in features Added projectSet.psf for easy import Moved to fop 2.6 Added preferences for engine.odf and engine.odp, and many others * How to import BIRT code into eclipse #628 Forbidden references should not be a warning but an error. ReportLauncherUtils failed to compile with internal API Jetty and Lucense upgrade Removed shady references from the updatesite pom Moved BIRT target to latest Eclipse Moved debug.ui to Java11 Upgrade fop to 4.6 in chart.device.pdf Removed version constrains in features Added projectSet.psf for easy import Moved to fop 2.6 Added preferences for engine.odf and engine.odp, and many others * How to import BIRT code into eclipse #628 Forbidden references should not be a warning but an error. ReportLauncherUtils failed to compile with internal API Jetty and Lucense upgrade Removed shady references from the updatesite pom Moved BIRT target to latest Eclipse Moved debug.ui to Java11 Upgrade fop to 4.6 in chart.device.pdf Removed version constrains in features Added projectSet.psf for easy import Moved to fop 2.6 Added preferences for engine.odf and engine.odp, and many others * How to import BIRT code into eclipse #628 Forbidden references should not be a warning but an error. ReportLauncherUtils failed to compile with internal API Jetty and Lucense upgrade Removed shady references from the updatesite pom Moved BIRT target to latest Eclipse Moved debug.ui to Java11 Upgrade fop to 4.6 in chart.device.pdf Removed version constrains in features Added projectSet.psf for easy import Moved to fop 2.6 Added preferences for engine.odf and engine.odp, and many others * issue with line endings or encoding * How to import BIRT code into eclipse #628 Forbidden references should not be a warning but an error. ReportLauncherUtils failed to compile with internal API Jetty and Lucense upgrade Removed shady references from the updatesite pom Moved BIRT target to latest Eclipse Moved debug.ui to Java11 Upgrade fop to 4.6 in chart.device.pdf Removed version constrains in features Added projectSet.psf for easy import Moved to fop 2.6 Added preferences for engine.odf and engine.odp, and many others * How to import BIRT code into eclipse #628 Forbidden references should not be a warning but an error. ReportLauncherUtils failed to compile with internal API Jetty and Lucense upgrade Removed shady references from the updatesite pom Moved BIRT target to latest Eclipse Moved debug.ui to Java11 Upgrade fop to 4.6 in chart.device.pdf Removed version constrains in features Added projectSet.psf for easy import Moved to fop 2.6 Added preferences for engine.odf and engine.odp, and many others Fixed move to jetty 10 * How to import BIRT code into eclipse #628 Forbidden references should not be a warning but an error. ReportLauncherUtils failed to compile with internal API Jetty and Lucense upgrade Removed shady references from the updatesite pom Moved BIRT target to latest Eclipse Moved debug.ui to Java11 Upgrade fop to 4.6 in chart.device.pdf Removed version constrains in features Added projectSet.psf for easy import Moved to fop 2.6 Added preferences for engine.odf and engine.odp, and many others Fixed move to jetty 10 Fixed memory in products Added embedded java runtime to the products Fixed build so that is uses a target platform * How to import BIRT code into eclipse #628 Forbidden references should not be a warning but an error. ReportLauncherUtils failed to compile with internal API Jetty and Lucense upgrade Removed shady references from the updatesite pom Moved BIRT target to latest Eclipse Moved debug.ui to Java11 Upgrade fop to 4.6 in chart.device.pdf Removed version constrains in features Added projectSet.psf for easy import Moved to fop 2.6 Added preferences for engine.odf and engine.odp, and many others Fixed move to jetty 10 Fixed memory in products Fixed build so that it uses a target platform Merged with new master Moved to Tycho 2.4.0 * How to import BIRT code into eclipse #628 Fixed update site to add * correct javax.servlet api * jetty-continuation and "Manage using" plugins instead of features * How to import BIRT code into eclipse #628 Added additional requirements to the target added a birt launch config * How to import BIRT code into eclipse #628 Change maven-jar-plugin version fixed target for batik Switched to package deps for batik * How to import BIRT code into eclipse #628 Fixed javadoc generation Fixed pom warning * How to import BIRT code into eclipse #628 Fixed build after merge with master
Sorry about this Ed. I just pushed a big stabilization change that I did not realize you were not seeing. |
This one was fixed. Thanks all for pushing this. An important step forward. Please use the new installer link and follow the instructions. The link is also available from the README.MD: |
Strange, I thougt it was fixed by the latest manifest adjustments |
I just merged #678 , please try to update sources from |
@ruspl-afed Yes, this fixed the problem! All java errors are now gone. However, I had several UI freezes (maybe because of the M2?). Next questions:
|
I also saw the UI freezes. For the report designer to run you have to create a run configuration. There is already one run configuration available, you can run from there: For the unit test to run you also have to create a run configuration. You can start finding the classes that are name AllTests and run these as JUnit plugins tests. This will create a run configuration that you will have to tweak in the Run Configuration dialog |
When running the "birtrun" configuration, I get: Is this a known issue? A click on "continue" starts the report designer, however.
Has something changed regarding the project explorer in BIRT? (will test junit later) |
Thanks. Have you seen my 2nd question? |
Please create another issue to discuss this. We will need steps to reproduce. Please also check if you can see the same problem when running from pre-built BIRT binaries. |
That was an answer to your second question. Change the application to see BIRT in different outfits. The one you are looking at now does not have the project explorer. #628 (comment) |
@ruspl-afed: Which pre-built BIRT binaries do you mean? This one? https://download.eclipse.org/birt/downloads/drops/I-R1-4.8.0-201805221921/birt-report-designer-all-in-one-4.8.0-20180522-win32.win32.x86_64.zip @wimjongman |
the binaries that you can produce with the local maven build. |
Patrick we can continue this discussion here: #692 |
I have not been successful at importing the BIRT code into eclipse without there being errors. I've tried several methods of importing, including importing existing project at the root level, importing existing project for each individual project, and importing existing maven project at the root level, with varying results. I'd like to know if anyone has been able to get the code imported without any errors and specifically how to do it.
The text was updated successfully, but these errors were encountered: