Skip to content
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

Improve org.eclipse.birt.engine.runtime content #1822

Merged
merged 1 commit into from
Jul 25, 2024

Conversation

merks
Copy link
Contributor

@merks merks commented Jul 25, 2024

  • Remove SWT dependencies because only the win32 fragment has been available so this can't have worked across operating systems.
  • Ensure the runtime is based on the latest orbit aggregation dependencies, except for derby.
  • Specify org.apache.commons.commons-logging in DeploymentRuntime category.xml and in org.eclipse.birt.report.data.oda.excel.
  • Improve the runtime_readme.txt to remove the out-dated dependency descriptions and to use current https URLs.
  • Remove org.eclipse.birt.chart.device.swt from the org.eclipse.birt.chart.osgi.runtime feature.
  • Remove org.eclipse.pde.ui from org.eclipse.birt.report.designer.ui.ide.

- Remove SWT dependencies because only the win32 fragment has been
available so this can't have worked across operating systems.
- Ensure the runtime is based on the latest orbit aggregation
dependencies, except for derby.
- Specify org.apache.commons.commons-logging in DeploymentRuntime
category.xml and in org.eclipse.birt.report.data.oda.excel.
- Improve the runtime_readme.txt to remove the out-dated dependency
descriptions and to use current https URLs.
- Remove org.eclipse.birt.chart.device.swt from the
org.eclipse.birt.chart.osgi.runtime feature.
- Remove org.eclipse.pde.ui from
org.eclipse.birt.report.designer.ui.ide.
@merks
Copy link
Contributor Author

merks commented Jul 25, 2024

@speckyspooky @wimjongman

This reduces the runtime content to the following where only the derby dependency does not come from the current orbit aggregation.

image

I really think removing the swt dependencies is the right thing to do...

Any concerns?

@wimjongman
Copy link
Contributor

wimjongman commented Jul 25, 2024

I think SWT is used for the charting component.

@merks
Copy link
Contributor Author

merks commented Jul 25, 2024

Yes, it's used in the IDE to render charts and it's still in the charts feature and still installed in the IDE:

image

image

In the runtime though I expect charts are rendered to SVG and/or PDF and not to SWT widgets. Moreover, it can't possibly have worked in the runtime in general in the past because there has never been linux or macos fragments included (and two of each for the two support architectures). Even if it those were included, in the non-OSGi runtime it's a flat classpath, so one cannot possibly include both or many and expect the correct one be chosen and to work correctly. So, as far as I can tell, it always will be and always has been completely bogus to include it in the runtimes. Of course the entire workbench was previously included in the runtime which also completely bogus. I expect no one complains about bogus junk but rather only note a problem if something is missing because something doesn't work.

@wimjongman
Copy link
Contributor

@merks
Copy link
Contributor Author

merks commented Jul 25, 2024

Looking back the org.eclipse.birt.chart.device.swt bundle was first added in 4.14 and was not present in 4.13 or earlier:

image

The org.eclipse.birt.chart.device.pdf was added at this point as well, which to me makes sense, but the SWT one does not.

@wimjongman
Copy link
Contributor

Ok, let's merge and test some reports when the nightly is available.

@wimjongman wimjongman self-requested a review July 25, 2024 17:59
@speckyspooky
Copy link
Contributor

If you find more and more then we will get a BIRT-slim-version ;o)

@merks merks merged commit 36452dc into eclipse-birt:master Jul 25, 2024
3 checks passed
@merks merks deleted the pr-purify-runtime branch July 25, 2024 18:44
@merks
Copy link
Contributor Author

merks commented Jul 25, 2024

Guys, if I manage to create a new bundlized version of derby, how can I test/validate that it work corrects? Please assume that I"m really stupid and that nothing which might seem obvious to you will actually be obvious to me...

@wimjongman
Copy link
Contributor

In BIRT all-in-one? I have a getting started video here:

https://www.youtube.com/watch?v=WaRNFVlSMo0&t=296s

@hvbtup
Copy link
Contributor

hvbtup commented Jul 26, 2024

You can perform at least a basic test if for example you create a new data source, choose the Classic Models Inc Sample DataSource,
then add a JDBC select dataset, select the datasource you created, then type select * from productlines as the SQL query and drag the dataset into the layout.
This should give you some columns, two of them aren't rendered correctly which is normal:
The column HTMLDESCRIPTION cannot be rendered as a data item. Delete the data item, and insert a "dynamic text item" instead in the layout. Choose row["HTMLDESCRIPTION"] as expression. BIRT should now show the HTML correctly formatted.

For the image, it is slightly more complicated, so I'm not going to explain here. The data is shown as hex values.

But for the sake of testing basic Derby functionality, this should suffice IMHO.
It demonstrates that queries can be executed and that BLOB columns work.

@merks
Copy link
Contributor Author

merks commented Jul 26, 2024

Thanks for the info guys. This is super helpful!!

@wimjongman
Copy link
Contributor

Drop this in a project and run it. Remove the txt extension.

new_report.rptdesign.txt

@speckyspooky speckyspooky added this to the 4.17 milestone Jul 27, 2024
@speckyspooky speckyspooky added the Dependencies Pull requests that update a dependency file label Jul 27, 2024
@merks
Copy link
Contributor Author

merks commented Aug 2, 2024

FYI, it looks very promising that this "specially rewrapped" version just works as a drop-in upgrade:

image

@speckyspooky
Copy link
Contributor

@merks
The report looks good.

I see another point at your screen where I not know if it is wanted or not.
The register at the lefthand side are without the white background in compare to BIRT 4.16

Do you know if it is "normal" / "wanted" with eclipse 2024-09?

Compare-Screen
grafik

@merks
Copy link
Contributor Author

merks commented Aug 2, 2024

That's the "new improved modern styling" from the platform:

eclipse-platform/eclipse.platform.ui#2114

@speckyspooky
Copy link
Contributor

Ahhh, ohhh, it's not a bug its a feature.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Dependencies Pull requests that update a dependency file
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants