maven-shared-utils is a replacement for plexus-utils. It is not a drop-in replacement though as all packages are under org.apache.maven.shared.utils
.
...
Rationale
- A lot of old plugins use plexus-utils, thus it's crucial to remain backward compatible. By moving to an own package space and largely remain API compatible we can finally remove old obsolete code.
...
- Many classes of plexus utils are forks of classes from Ant / jakarta / commons / maven1-utils and a whole lot other Apache projects. Having this stuff maintained outside the ASF makes it hard to contribute back changes and apply important fixes from the original projects.
...
Status
This effort is ongoing WorkInProgressonoing WorkInProgress: see maven-shared-utils.h3
Open Questions
- How to deal with stuff which is available in commons-io and other commons projects? Simply shade them in? I'd not suggest to move to commons-* directly as this might cause problems with plugins which use very old commons libraries themselfs. But otoh I do not like to maintain any commons code in our own codebase!
...
plexus-utils Class | maven-shared-utils Class | Status | IP-cleaned | Note | |||||
---|---|---|---|---|---|---|---|---|---|
AbstractScanner |
|
|
|
| |||||
Base64 |
|
| we shall shade in commons-io Base64 where this class is taken from originally anyway | Yes, ALv2 and ASF already |
| ||||
CachedMap |
|
|
|
| |||||
CollectionUtils | CollectionUtils |
| Yes, moved from maven-verifier + additional rewrites |
| |||||
DirectoryScanner | io/DirectoryScanner |
| Yes, moved from maven-verifier + patches from iCLA folks |
| |||||
DirectoryWalkListener | io/DirectoryWalkListener |
| Yes, imported ALv2 (c) ASF DirectoryWalker |
| |||||
DirectoryWalker | io/DirectoryWalker |
| Yes, cleanroom rewrite imported ALv2 (c) ASF |
| |||||
ExceptionUtils | ExceptionUtils |
| Yes, complete clean rewrite |
| |||||
Expand | Expand |
| Yes, complete clean rewrite |
| |||||
FastMap |
|
| doubt that is of any use nowadays. java.util maps are much faster these days. | Yes, not needed as it's not implemented |
| ||||
FileUtils | io/FileUtils |
| Yes, moved from maven-verifier + patches from iCLA folks |
| |||||
IOUtil | io/IOUtil |
| Yes, moved from maven-verifier + patches from iCLA folks |
| |||||
InterpolationFilterReader |
|
|
|
| |||||
LineOrientedInterpolatingReader |
|
|
|
| |||||
Os | Os |
| Yes, moved from maven-verifier + patches from iCLA folks |
| |||||
PathTool | PathTool |
| Yes, complete clean rewrite |
| |||||
PropertyUtils | PropertyUtils |
| Yes, complete clean rewrite |
| |||||
ReaderFactory |
|
|
|
| |||||
ReflectionUtils |
|
|
|
| |||||
Scanner |
|
|
|
| |||||
SelectorUtils | io/SelectorUtils |
| Yes, moved from maven-verifier + patches from iCLA folks |
| |||||
StringInputStream |
|
|
|
| |||||
StringOutputStream |
|
|
|
| |||||
StringUtils | StringUtils |
| Yes, moved from maven-verifier + patches from iCLA folks |
| |||||
SweeperPool |
|
|
|
| |||||
TypeFormat |
|
|
|
| |||||
WalkCollector | io/WalkCollector |
| Yes, clean rewrite |
| |||||
WriterFactory |
|
|
|
| |||||
cli/* | cli/* | Just missing the import of 3 classes which krosenvold authored to 100% | Yes |
|
|
|
| , moved from maven-verifier + patches from iCLA folks |
|
|
|
|
|
|