Tag List Report

The following document contains the listing of user tags found in the code. Below is the summary of the occurrences per tag.

Tag Class Total number of occurrences Tag strings used by tag class
Deprecated Work 138 @deprecated
FIXME Work 5 fixme, @fixme
Todo Work 7 todo, @todo

Each tag is detailed below:

Deprecated Work

Number of occurrences found in the code: 138

org.apache.maven.shared.utils.PathTool Line
This is a utility class with only static methods. Don't create instances of it. 41
org.apache.maven.shared.utils.PropertyUtils Line
This is a utility class with only static methods. Don't create instances of it. 39
use {@link #loadOptionalProperties(java.net.URL)} instead. This method should not be used as it suppresses exceptions silently when loading properties fails and returns {@code null} instead of an empty {@code Properties} instance when the given {@code URL} is {@code null}. 47
use {@link #loadOptionalProperties(java.io.File)} instead. This method should not be used as it suppresses exceptions silently when loading properties fails and returns {@code null} instead of an empty {@code Properties} instance when the given {@code File} is {@code null}. 64
use {@link #loadOptionalProperties(java.io.InputStream)} instead. This method should not be used as it suppresses exceptions silently when loading properties fails. 85
org.apache.maven.shared.utils.ReaderFactory Line
use {@code java.nio.charset.StandardCharset.ISO_8859_1} 49
use {@code java.nio.charset.StandardCharset.US_ASCII} 58
use {@code java.nio.charset.StandardCharset.UTF_16} 68
use {@code java.nio.charset.StandardCharset.UTF_16BE} 77
use {@code java.nio.charset.StandardCharset.UTF_16LE} 86
use {@code java.nio.charset.StandardCharset.UTF_8} 95
use org.apache.commons.io.input.XmlStreamReader instead 111
use org.apache.commons.io.input.XmlStreamReader instead 124
use {@code org.apache.commons.io.input.XmlStreamReader} instead 137
always specify an encoding. Do not depend on the default platform character set. 151
org.apache.maven.shared.utils.StringUtils Line
use {@code java.lang.Objects.equals()} 208
use <code>java.lang.String.join(</code>) instead 558
use <code>java.lang.String.join(</code>) instead 589
use {@code java.lang.Objects.toString()} 1670
use {@code java.lang.Objects.toString()} 1688
this method produces platform dependent code and contributes to non-reproducible builds. In the context of Maven, this is almost never what's needed. Remove calls to this method and do not replace them. That is, change {@code Stringutils.unifyLineSeparators(s)} to simply {@code s}. 2148
org.apache.maven.shared.utils.WriterFactory Line
use {@code java.nio.charset.StandardCharset.ISO_8859_1} 48
use {@code java.nio.charset.StandardCharset.US_ASCII} 57
use {@code java.nio.charset.StandardCharset.UTF_16} 67
use {@code java.nio.charset.StandardCharset.UTF_16BE} 76
use {@code java.nio.charset.StandardCharset.UTF_16LE} 85
use {@code java.nio.charset.StandardCharset.UTF_8} 94
use org.apache.commons.io.input.XmlStreamWriter instead 111
use org.apache.commons.io.input.XmlStreamWriter instead 125
always specify an encoding. Do not depend on the default platform character set. 137
always specify an encoding. Do not depend on the default platform character set. 150
org.apache.maven.shared.utils.cli.CommandLineUtils Line
use System#getenv() 351
use System#getenv() 364
org.apache.maven.shared.utils.cli.Commandline Line
please use {@link #setShellEnvironmentInherited(boolean)} 187
org.apache.maven.shared.utils.cli.StreamPumper Line
As of 3.2.0, removed without replacement. 106
As of 3.2.0, removed without replacement. 116
org.apache.maven.shared.utils.cli.shell.CommandShell Line
Windows ME is long dead. Update to Windows 10 and use {@link CmdShell}. 25
org.apache.maven.shared.utils.io.DirectoryScanResult Line
use {@code java.nio.file.DirectoryStream} and related classes 25
org.apache.maven.shared.utils.io.DirectoryScanner Line
use {@code java.nio.file.DirectoryStream} or {@code java.nio.Files.walkFileTree()} and related classes 118
this method does not work correctly on Windows. 731
this method is buggy. Do not depend on it. 773
org.apache.maven.shared.utils.io.DirectoryWalkListener Line
use {@code java.nio.file.FileVisitor} and related classes 26
org.apache.maven.shared.utils.io.FileUtils Line
use {@code Paths.get(path).getParent().getName()} 163
use {@code Paths.get(path).getName()} 177
use {@code org.apache.commons.io.FilenameUtils.getExtension} 192
use {@code java.io.File.exists()} 221
use {@code new String(java.nio.files.Files.readAllBytes(file))} 235
use {@code new String(java.nio.files.Files.readAllBytes(Paths.get(file)), encoding)} 248
use {@code new String(java.nio.files.Files.readAllBytes(file.toPath()))} 262
use {@code new String(java.nio.files.Files.readAllBytes(file.toPath()), encoding)} 275
use {@code java.nio.files.Files.readAllLines()} 301
use {@code java.nio.files.Files.write(filename, data.getBytes(), StandardOpenOption.APPEND, StandardOpenOption.CREATE)} 318
use {@code java.nio.files.Files.write(filename, data.getBytes(encoding), StandardOpenOption.APPEND, StandardOpenOption.CREATE)} 333
use {@code java.nio.files.Files.write(filename, data.getBytes(), StandardOpenOption.CREATE)} 353
use {@code java.nio.files.Files.write(Paths.get(filename), data.getBytes(encoding), StandardOpenOption.CREATE)} 368
use {@code java.nio.files.Files.write(file.toPath(), data.getBytes(encoding), StandardOpenOption.CREATE)} 385
use {@code java.nio.files.Files.write(file.toPath(), data.getBytes(encoding), StandardOpenOption.CREATE)} 405
use {@code java.nio.files.Files.write(file.toPath(), data.getBytes(encoding), StandardOpenOption.CREATE)} 420
use {@code Files.delete(Paths.get(fileName))} 442
use {@code java.nio.file.Files.createDirectories(Paths.get(dir))} 539
use {@code org.apache.commons.io.FilenameUtils.removeExtension()} 640
use {@code org.apache.commons.io.FilenameUtils.getExtension()} 666
use {@code org.apache.commons.io.FileUtils.copyFileToDirectory()} 686
use {@code java.nio.Files.copy(source.toPath(), destination.toPath(), LinkOption.NOFOLLOW_LINKS, StandardCopyOption.REPLACE_EXISTING)} 732
use {@code java.nio.Files.copy(source.openStream(), destination.toPath(), StandardCopyOption.REPLACE_EXISTING)} 828
use {@code java.nio.Files.copy(source, destination.toPath(), StandardCopyOption.REPLACE_EXISTING)} 850
use {@code org.apache.commons.io.FileNameUtils.normalize()} 891
use {@code org.apache.commons.io.FileUtils.deleteQuietly()} 1005
use {@code org.apache.commons.io.FileUtils.deleteQuietly()} 1017
use {@code java.nio.files.Files.delete(file.toPath())} 1041
use {@code java.nio.files.Files.delete(file.toPath())} 1051
use {@code org.apache.commons.io.FileUtils.deleteDirectory()} 1126
use {@code org.apache.commons.io.FileUtils.deleteDirectory()} 1138
use {@code org.apache.commons.io.FileUtils.cleanDirectory()} 1166
use {@code org.apache.commons.io.FileUtils.sizeOf()} 1206
use {@code org.apache.commons.io.FileUtils.sizeOf()} 1218
use {@code org.apache.commons.io.FileUtils.copyDirectory()} 1446
use {@code org.apache.commons.io.FileUtils.copyDirectory()} 1472
use {@code org.apache.commons.io.FileUtils.copyDirectory()} 1505
use {@code java.nio.Files.move()} 1589
use {@code java.nio.Files.createTempFile()} 1630
assumes the platform default character set 1810
use {@code java.nio.file.Files.isSymbolicLink(file.toPath())} 1873
use {@code java.nio.file.Files.isSymbolicLink(file.toPath())} 1887
org.apache.maven.shared.utils.io.IOUtil Line
use {@code org.apache.commons.io.IOUtils.copy()} or in Java 9 and later {@code InputStream.transferTo()}. 132
use {@code org.apache.commons.io.IOUtils.copy()} or in Java 9 and later {@code InputStream.transferTo()}. 149
use {@code org.apache.commons.io.IOUtils.copy()}. 167
use {@code org.apache.commons.io.IOUtils.copy()}. 181
use {@code org.apache.commons.io.IOUtils.copy()}. 211
use {@code org.apache.commons.io.IOUtils.copy()}. 227
use {@code org.apache.commons.io.IOUtils.copy()}. 246
use {@code org.apache.commons.io.IOUtils.copy()}. 267
always specify a character encoding 290
always specify a character encoding 306
use {@code org.apache.commons.io.IOUtils.toString()}. 325
use {@code org.apache.commons.io.IOUtils.toString()}. 343
use {@code org.apache.commons.io.IOUtils.readFully()}. 363
use {@code org.apache.commons.io.IOUtils.readFully()}. 378
always specify a character encoding 403
always specify a character encoding 418
use {@code org.apache.commons.io.IOUtils.toString()}. 438
use {@code org.apache.commons.io.IOUtils.toString()}. 453
always specify a character encoding 472
always specify a character encoding 487
always specify a character encoding 511
always specify a character encoding 526
use {@code org.apache.commons.io.IOUtils.write()}. 548
always specify a character encoding 564
always specify a character encoding 579
always specify a character encoding 605
always specify a character encoding 621
use {@code org.apache.commons.io.IOUtils.write()}. 640
use {@code org.apache.commons.io.IOUtils.write()}. 660
always specify a character encoding 682
always specify a character encoding 698
use {@code new String(input, encoding)} 717
use {@code new String(input, encoding)} 735
inline this method 755
use {@code org.apache.commons.io.IOUtils.contentEquals()} 769
use try-with-resources 882
use try-with-resources 983
use try-with-resources 1084
use try-with-resources 1185
use try-with-resources 1286
org.apache.maven.shared.utils.io.Java7Support Line
no longer needed, prefer to use {@link java.nio.file.Files} methods directly. 32
org.apache.maven.shared.utils.io.MatchPattern Line
use {@code java.nio.file.DirectoryStream.Filter<T>} and related classes 35
org.apache.maven.shared.utils.io.MatchPatterns Line
use {@code java.nio.file.DirectoryStream.Filter<T>} and related classes 29
org.apache.maven.shared.utils.io.ScanConductor Line
use {@code java.nio.file.Files.walkFileTree()} and related classes 34
org.apache.maven.shared.utils.io.SelectorUtils Line
use {@code java.nio.file.Files.walkFileTree()} and related classes 41
org.apache.maven.shared.utils.io.WalkCollector Line
use {@code java.nio.file.FileVisitor} and related classes 26
org.apache.maven.shared.utils.logging.MessageBuilder Line
Rather use {@link MessageBuilder#build()} 149
org.apache.maven.shared.utils.xml.XmlStreamReader Line
use org.apache.commons.io.input.XmlStreamReader instead 31
org.apache.maven.shared.utils.xml.XmlStreamWriter Line
use org.apache.commons.io.input.XmlStreamWriter instead 26
org.apache.maven.shared.utils.xml.Xpp3Dom Line
use <code>str != null &amp;&amp; !str.isEmpty()</code> 362
use <code>str == null || str.trim().isEmpty()</code> 375
org.apache.maven.shared.utils.xml.Xpp3DomBuilder Line
use the two-arg variant 69
use {#build(java.io.Reader)} 87
org.apache.maven.shared.utils.xml.Xpp3DomUtils Line
use <code>str == null || String.isBlank(str)</code> (Java 11+) or <code>org.apache.commons.lang3.StringUtils.isBlank(str)</code> 126

FIXME Work

Number of occurrences found in the code: 5

org.apache.maven.shared.utils.io.DirectoryScannerTest Line
3 (Windows) and 5 (Linux) are both wrong. The correct answer is 4. This method is broken in different ways on different operating systems. 174
getIncludedFiles is broken on Windows; correct answer is 9 181
org.apache.maven.shared.utils.io.FileUtils Line
I'm almost certain this // removal is unnecessary, as getAbsoluteFile() strips them. However, I'm not sure about this UNC stuff. (JT) 964
org.apache.maven.shared.utils.io.MatchPattern Line
ICK! But we can't do partial matches for regex, so we have to reserve judgment until we have a file to deal with, or we can definitely say this is an exclusion... 93
org.apache.maven.shared.utils.io.SelectorUtils Line
ICK! But we can't do partial matches for regex, so we have to reserve judgement until we have a file to deal with, or we can definitely say this is an exclusion... 108

Todo Work

Number of occurrences found in the code: 7

org.apache.maven.shared.utils.cli.CommandLineUtils Line
Find out if waitUntilDone needs to be called using a try-finally construct. The method may throw an InterruptedException so that calls to waitUntilDone may be skipped. try { if ( inputFeeder != null ) { inputFeeder.waitUntilDone(); } } finally { try { outputPumper.waitUntilDone(); } finally { errorPumper.waitUntilDone(); } } 278
org.apache.maven.shared.utils.introspection.ReflectionValueExtractorTest Line
assert exception message 214
assert exception message 222
org.apache.maven.shared.utils.io.FileUtilsTest Line
Maybe test copy to itself like for copyFile() 286
org.apache.maven.shared.utils.io.SymlinkTestSetup Line
set file attributes (not used here) 51
org.apache.maven.shared.utils.xml.pull.Xpp3DomTest Line
This does not work when loaded. Probably a bug related to null vs "" handling Xpp3Dom t1 = build( "<top combine.self='override' attr='value'></top>" ); 70
When we used xpp3dom, all methods using this assert used to return null 213