Repository navigation
·
1 commit
to master
since this release
plexus-utils 4.2.0 makes the file deletion helpers safe around symbolic links, lets CommandLineUtils forward the console's standard input to a child process, and fixes several FileUtils and command-line parsing edge cases. It requires Java 8 or later. The XML classes live in plexus-xml, which this release moves up to 3.1.1.
โจ Highlights
- Deleting a tree no longer deletes outside it.
FileUtils.forceDeleteOnExitfollowed symbolic links to directories, so a link inside the tree got every file under its target deleted when the JVM exited.deleteDirectorycould empty a link's target when the link itself could not be removed. Both now remove only the link (#348, thanks @kakkar87d). - Child processes can read the console. When
CommandLineUtils.executeCommandLinegetsSystem.inas the process input, it now polls it instead of blocking inread(), so the call returns once the process exits rather than hanging on an idle terminal (#351, fixes #260). translateCommandlinesplits at tabs and line breaks. Outside quotes,\t,\nand\rnow separate arguments like a space does. Input that held one of these characters unquoted now yields more arguments; quoted text is unchanged (#352, fixes #329).- Clearer
FileUtilsfailures.forceDeleteusesFiles.deleteIfExists, so it also removes dangling symbolic links and skips the Windows retry delay for files that are already gone (#350, fixes #21).copyDirectoryStructureandcleanDirectoryOnExitreport an unreadable directory as anIOExceptionnaming it, instead of aNullPointerException(#349). - plexus-xml 3.1.1 fixes a parser buffer overrun on a supplementary character in an XML comment (#354).
The same fixes, without the standard-input change, are in 3.6.3 for the 3.x line.
๐ New features and improvements
- Poll System.in for stdin in CommandLineUtils.executeCommandLine (#351) @slachiewicz
๐ Bug Fixes
- Do not follow symlinks in forceDeleteOnExit and deleteDirectory (#348) @kakkar87d
- Split translateCommandline at tabs and line breaks (#352) @slachiewicz
- Use Files.deleteIfExists in FileUtils.forceDelete (#350) @slachiewicz
- Report an unlistable directory as IOException instead of NullPointerException (#349) @slachiewicz
๐ Documentation updates
- Drop the Source Xref menu item (#344) @slachiewicz
- Stop pinning a version in the README snippet (#343) @slachiewicz
- Advertise 4.1.0 in the README (#341) @slachiewicz
๐ง Build
- Allow running the release drafter by hand (#346) @slachiewicz
- Draft the version the labels imply, not always a patch (#342) @slachiewicz
๐ฆ Dependency updates
- Bump plexus-xml to 3.1.1 and keep Dependabot on 3.x (#354) @slachiewicz
- Bump release-drafter/release-drafter from 7.7.0 to 7.10.0 (#345, #347) @dependabot[bot]