TIKA-249 inlined select commons-io classes in order to simplify the dependency tree and save some space.
I believe these arguments are weaker nowadays due to the following concerns:
- Most of the non-core modules already use commons-io, and since tika-core is usually not used by itself, commons-io is already included with it
- Since some modules use both tika-core and commons-io, it's not clear which code should be used
- Having the inlined classes causes more maintenance and/or technology debt (which in turn causes more maintenance)
- Newer commons-io code utilizes newer platform code, e.g. using Charset objects instead of encoding names, being able to use StringBuilder instead of StringBuffer, and so on.
I'll be happy to provide a patch to replace usages of the inlined classes with commons-io classes if this is accepted.