Comments (7)
Ooh! That is great. I was looking at upgrading this the other day and also noticed that the API was changed. Thanks for taking this on.
from birt.
I was able to get this to work for my client in 4.8 but I didn't use Maven. I just let eclipse auto-build the classes and copied them into the birt runtime jar and it worked, but in 4.9 I need to use Maven.
I have zero experience with using maven for building things that require eclipse plugins. I can see that the 3.9 poi jars are getting put into a variety of lib and plugins folders all of which are inside target folders, so maven is putting them there but I don't know how it knows to do that. I need to switch 3.9 to 4.1.1 and add 3 other plugins from orbit. I've found a couple of files by search for /poi.*3.9/ but modifying them hasn't done anything except cause errors. Maybe it's using a target platform but I can't figure out how.
Can anyone give me any guidance?
from birt.
You can just update the .target file. It is located in the org.eclipse.build.target bundle in the build folder.
https://github.com/eclipse/birt/tree/master/build/org.eclipse.birt.target
Let me know if you need help.
from birt.
I see a file named org.eclipse.birt.target.target and it contains these lines:
<unit id="org.apache.poi" version="0.0.0"/>
<unit id="org.apache.poi.ooxml" version="0.0.0"/>
<unit id="org.apache.poi.ooxml.schemas" version="0.0.0"/>
How does it know those are currently 3.9 and how can I change to 4.1.1?
Update: I see the <repository> tag and it's pointing to an orbit repo that only has poi 3.9. The latest repo has both 3.9 and 4.1.1. I'll experiment with it.
from birt.
This was the error I was getting:
[INFO] Scanning for projects...
[ERROR] Internal error: java.lang.IllegalArgumentException: invalid range "[4.1.1": invalid format: NoSuchElementException -> [Help 1]
org.apache.maven.InternalErrorException: Internal error: java.lang.IllegalArgumentException: invalid range "[4.1.1": invalid format
but it turns out I accidentally deleted the leading quote, so it was a syntax error.
Following is what I changed, in case anyone has any comments. Some of these might be unnecessary.
build/org.eclipse.birt.target/org.eclipse.birt.target.target:
Added a new location pointing to the latest orbit repo, with version specified instead of 0.0.0. Removed the 3 poi units from the original location. Added new units for org.apache.commons.collections4 4.4.1, org.apache.commons.compress 1.19.0, org.apache.xmlbeans 3.1.0, and removed org.apache.xmlbeans from the old location.
<location includeAllPlatforms="false" includeConfigurePhase="true" includeMode="planner" includeSource="true" type="InstallableUnit">
<repository location="https://download.eclipse.org/tools/orbit/downloads/drops/I20210306035740/repository/"/>
<unit id="org.apache.poi" version="4.1.1.v20200604-1524"/>
<unit id="org.apache.poi.ooxml" version="4.1.1.v20200820-1148"/>
<unit id="org.apache.poi.ooxml.schemas" version="4.1.1.v20200922-2105"/>
<unit id="org.apache.commons.collections4" version="4.4.0.v20200420-1700"/>
<unit id="org.apache.commons.compress" version="1.19.0.v20200106-2343"/>
<unit id="org.apache.xmlbeans" version="3.1.0.v20200922-1359"/>
</location>
build/org.eclipse.birt.build/externalRepo.properties:
the comment says "If the bundle under ReportEngine/lib has changed version in this release, it should be removed from this property file, otherwise, it should be added into this file" so I removed the three poi lines.
releng/maps/orbit_bundles.map:
Changed the poi plugin to 4.1.1 and pasted the URL from orbit. Added new lines for poi.ooxml and poi.ooxml.schemas. Also added org.apache.commons.collections4 4.4.0, org.apache.commons.compres 1.19.0, and org.apache.xmlbeans 3.1.0 which are now needed by poi 4.1.1.
4 MANIFEST.MF files:
Changed "[3.9.0,4.0.0)" to "[4.1.1,5.0.0)" for all poi required bundles.
from birt.
Ok, that looks fine. Please create a PR to see if it builds correctly.
from birt.
PR successful, so closing
from birt.
Related Issues (20)
- BIRT reports getting wrong date from date parameters HOT 2
- Font aliasing case-insensivity still not quite working HOT 3
- Page Numbering Breaks While Dynamically Inserting HTML On PDF HOT 2
- BIRT 4.15 milestone: eclipse-designer (all-in-one) shows error on 1st report and the report will be hidden after restart (eclipse-restart-option) HOT 1
- BIRT 4.15 rcp-designer: "XML Source"-tab of report not available (empty page due to NullPointerException, provider = null) HOT 29
- BIRT 4.15 milestone, "Build Project" shows 48 JS-library issues due to missing APIs of Rhino 1.7.14 (dependency update #1567) HOT 8
- "New Preview Prototype" tab HOT 7
- OSGi-version: BackgroundImageInformaton, could produce "NoSuchElementException" due to unchecked iterator-element HOT 2
- Very misleading exception stacktrace when an image file is not found at runtime HOT 6
- BIRT 4.14: HTML-Output: Text-content wrong parsed/Changed parsing behavior: element "TEXT", type "HTML", tag "script", content, script-string with internal "HTML-tag" HOT 3
- BIRT 4.15: SVG images won't be displayed on HTML-preview which are embedded on TEXT-element (type HTML) HOT 6
- 4.16 Releng HOT 6
- BIRT 4.16 opening ceremony HOT 4
- Should the github action archive so much stuff? HOT 14
- Invalid operation: Can not access encrypted password from script HOT 12
- Derby missing from runtime HOT 34
- java.lang.NullPointerException: Cannot invoke "org.w3c.tidy.Attribute.setNowrap(boolean)" because "org.w3c.tidy.AttributeTable.attrContent" is null HOT 2
- DOCX emitter doesn't set language for correction HOT 14
- Line Break in DOCX HOT 4
- XLSX Emitter "Cannot add merged region" - again HOT 9
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from birt.