Re: Change to upgrade FOP to PDFBox 3.* / 4.* inter alia

2024-01-21 Thread Mark E.
Hello,

I'm not specifically aware of other external explicit requests for this
upgrade of the PDFBox version used in FOP.  For comparison, there were past
JIRA tickets to upgrade FOP to use various versions of PDFBox version
2.0.*, including https://issues.apache.org/jira/browse/FOP-2562 for the
upgrade from PDFBox major version 1 to 2.

>From a client standpoint on my part utilizing the PDFBox and FOP projects,
it seems rather desirable to co-opt the modern versions, features, and
paradigms of both projects in the dependency pipeline.

>From a development standpoint with these Apache SF projects, I could
maintain private/downstream forks of these repositories that synchronize
the FOP code to the latest PDFBox code, but it could be more cumbersome to
update over time due to further divergence upstream.  For this reason I
reckoned it mutually beneficial to volunteer my changes for this upgrade,
for community development to build on that synchronization with the latest
versions of both projects.

However, if there is a superseding project priority to maintain
compatibility with existing client uses of FOP that specifically depend on
the legacy PDFBox major version 2, and if the decision grounds of when to
implement an inter-dependency upgrade to the contrary are more nuanced than
the factor of expeditiousness, then I do understand if my changes won't be
(or are not currently) admissible for the Apache SF projects.

Based on these points, I appreciate your feedback and decision on whether
or not my proposed upgrade is plausible for inclusion at this juncture.


Sincerely,
Mark E.


RE: Change to upgrade FOP to PDFBox 3.* / 4.* inter alia

2024-01-21 Thread Simon Steiner
Hi,

 

If we upgrade it would break any other user code linked against pdfbox 2. Do we 
have a customer request to upgrade?

 

Thanks

 

From: Mark E.  
Sent: 21 January 2024 06:13
To: Apache Formatting Objects Processor development mailing list 

Subject: Change to upgrade FOP to PDFBox 3.* / 4.* inter alia

 

Greetings,

I am a developer who's kindly interested in contributing to the Apache FOP 
project.  I hope this message finds you well.

I would like to propose code changes I have made to synchronize the Apache FOP 
project to PDFBox version "3.0.2-SNAPSHOT".

That is, my draft is based on a commit in the Apache "pdfbox" project 
repository "3.0" branch, subsequent to release tag "3.0.1" and with numerous 
common changes that the PDFBox project has also been using for the "trunk" 
branch for currently unreleased PDFBox version 4.0.0 development.

My draft contains changes to the "xmlgraphics-fop" and 
"xmlgraphics-fop-pdf-images" repositories in the FOP project, along with 
concomitant necessary changes in the dependency "pdfbox" project repository.

I developed on the PDFBox "3.0" branch in particular, rather than "trunk", 
because I understand that PDFBox major version 4 breaks compatibility with Java 
versions prior to 11, and I'm unsure that the FOP project would currently be 
prepared to do that as well.  However, hopefully synchronizing FOP with the 
PDFBox major version 3 development track will make the collective codebase 
largely interoperable with the newfangled PDFBox versions 4.* / current trunk 
development as well.

There are some relevant upgrades/adjustments to unit-tests in addition to main 
production code.

My fixes also address miscellaneous issues and cleanup, for instance with 
outstanding logging-sensitive bugs.

Before I post/submit any changes, I would like to kindly obtain verification of 
whether this sort of upgrade to the FOP project would be welcomed.  I would be 
honored for my changes to be accepted and assimilated.

Because my changes impact two (2) separate but related Apache Software 
Foundation projects, I would appreciate if the committer team could please let 
me know the best way to post or submit this draft corresponding to each of the 
three (3) Git repositories.  For instance, please let me know if there is a 
preference between posting a JIRA ticket, cross-project pair of JIRA tickets, 
GitHub pull requests, etc.

Thank you in advance for considering this proposal and providing feedback.


Sincerely,
Mark E.