[ https://issues.apache.org/jira/browse/FOP-2733?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16737448#comment-16737448 ]
ASF GitHub Bot commented on FOP-2733: ------------------------------------- GitHub user aanno opened a pull request: https://github.com/apache/fop/pull/43 FOP-2733: remove avalon I removed avalon (a project that is dead for over a decade now) from the code base. For this to happen, I've written a clean-room (i.e. I didn't looked at the avalon code) implementation of the few bits of avalon that are still in use by FOP. After that I fixed the tests. Apart from some minor stuff that is only used for testing, the main thing of avalon that was still in use was the Configuration stuff. I also renamed the packages name of the (now embeded) avalon stuff like this: * `org.apache.avalon.framework.configuration` moved to `org.apache.fop.configuration` * `org.apache.avalon.framework.activity` moved to `org.apache.fop.activity` * `org.apache.avalon.framework.container`also moved to `org.apache.fop.activity` This rename is completely optional, i.e. if there are concerns against it, I will update my change request and keep the original package names. I would be glad if you could consider my patch for merge into the `trunk` branch. Kind regards, aanno You can merge this pull request into a Git repository by running: $ git pull https://github.com/aanno/fop feature/pr-remove-avalon-1 Alternatively you can review and apply these changes as the patch at: https://github.com/apache/fop/pull/43.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #43 ---- commit 6ea0e7f79e4f5fd4056c727bd786db53b61b5ffd Author: Thomas Pasch <thomas.pasch@...> Date: 2019-01-08T18:30:52Z FOP-2733: remove avalon commit abf5af144477c7d6975e9ce74d6a8bb0743fb7c7 Author: Thomas Pasch <thomas.pasch@...> Date: 2019-01-08T19:12:59Z fixes ---- > [PATCH] Drop dependency on Avalon-Framework > ------------------------------------------- > > Key: FOP-2733 > URL: https://issues.apache.org/jira/browse/FOP-2733 > Project: FOP > Issue Type: Bug > Reporter: Chris West > Priority: Major > Attachments: fop-no-avalon-1.patch > > > FOP depends on avalon-framework, an old Apache project officially abandoned > in 2004. Nearly nobody uses avalon-framework anymore, and I'd like to see it > laid to rest. > avalon-framework no-longer compiles with Java 9. Fixing it yet again seems > like insanity. This isn't a problem for Maven users, who can keep using the > old binary (and suffer slow verification on startup), but is a problem for > distros like Debian, who want to be able to build everything. > Others have asked about this before, e.g. > http://apache-fop.1065347.n5.nabble.com/FOP-and-Avalon-td44302.html > I propose removing the dependency on Avalon entirely, fixing the couple of > cases where it breaks, and inlining the two packages that are actually still > used.. I have created a patch here: > https://github.com/apache/fop/compare/trunk...FauxFaux:trunk , also attached. > It's not great to read in patch form, so here's a summary of the changes: > * Remove dependence on avalon-framework from Maven, classpath variables etc. > * Add Avalon's configuration package as main:org.apache.fop.configuration > directly, and keep using it essentially unmodified. > * Add Avalon's logging framework as test:org.apache.fop.threading.logger. > This is only used in test code, in the threaded test code runner. It is > essentially source compatible with log4j/commons-logging, so could probably > be deleted. > * Change `CIDFontType` from a Avalon enum to a Java5 `enum`. This appears to > be source, but not binary, compatible. > * Remove some use of lifecycle management interfaces in test code, which are > not doing anything. > * Change some exception printing in test code to print the full exception > (using the Java api), instead of a truncated exception. The output is not > asserted upon, just sent to stderr. > * Stop using Cascading*Exception in tests, and for ConfigurationException. I > doubt anyone will notice, as it offers no real functionality. > That's it! > The most controversial thing here is probably adding the configuration > package, and the extra lines of code it drags along with it. I am happy to > give it a bit of a polish; make significant changes to fop to remove all the > unused interfaces / abstract classes (which are just waste); put some > generics and formatting in, etc.? -- This message was sent by Atlassian JIRA (v7.6.3#76005)