Breaking binary compatibility should break the build instead of
generating a report one might skip reading, especially for PRs.
Don't break BC.
Javadoc verbs.
Format Javadoc.
MODIFY
pom.xml
pom.xml
@@ -308,8 +308,6 @@ file comparators, endian transformation classes, and much more.
<spotbugs.plugin.version>4.1.4</spotbugs.plugin.version>
<spotbugs.impl.version>4.2.0</spotbugs.impl.version>
<japicmp.skip>false</japicmp.skip>
- <!-- generate report even if there are binary incompatible changes -->
- <commons.japicmp.breakBuildOnBinaryIncompatibleModifications>false</commons.japicmp.breakBuildOnBinaryIncompatibleModifications>
<jacoco.skip>${env.JACOCO_SKIP}</jacoco.skip>
<commons.release.isDistModule>true</commons.release.isDistModule>
<commons.releaseManagerName>Gary Gregory</commons.releaseManagerName>

MODIFY
src/main/java/org/apache/commons/io/output/TeeOutputStream.java
src/main/java/org/apache/commons/io/output/TeeOutputStream.java
import java.io.OutputStream;
/**
- * Classic splitter of {@link OutputStream}. Named after the Unix 'tee' command. It allows a stream to be branched off so there
- * are now two streams.
+ * Classic splitter of {@link OutputStream}. Named after the Unix 'tee' command. It allows a stream to be branched off
+ * so there are now two streams.
*/
public class TeeOutputStream extends ProxyOutputStream {
- /** the second OutputStream to write to */
- protected final OutputStream branch; //TODO consider making this private
+ /**
+ * The second OutputStream to write to.
+ *
+ * TODO Make private and final in 3.0.
+ */
+ protected OutputStream branch;
/**
* Constructs a TeeOutputStream.
+ *
* @param out the main OutputStream
* @param branch the second OutputStream
*/
@@ -39,7 +44,8 @@ public TeeOutputStream(final OutputStream out, final OutputStream branch) {
}
/**
- * Write the bytes to both streams.
+ * Writes the bytes to both streams.
+ *
* @param b the bytes to write
* @throws IOException if an I/O error occurs
*/
@@ -50,7 +56,8 @@ public synchronized void write(final byte[] b) throws IOException {
}
/**
- * Write the specified bytes to both streams.
+ * Writes the specified bytes to both streams.
+ *
* @param b the bytes to write
* @param off The start offset
* @param len The number of bytes to write
@@ -63,7 +70,8 @@ public synchronized void write(final byte[] b, final int off, final int len) thr
}
/**
- * Write a byte to both streams.
+ * Writes a byte to both streams.
+ *
* @param b the byte to write
* @throws IOException if an I/O error occurs
*/
@@ -75,6 +83,7 @@ public synchronized void write(final int b) throws IOException {
/**
* Flushes both streams.
+ *
* @throws IOException if an I/O error occurs
*/
@Override
@@ -85,14 +94,16 @@ public void flush() throws IOException {
/**
* Closes both output streams.
- *
+ * <p>
* If closing the main output stream throws an exception, attempt to close the branch output stream.
+ * </p>
*
+ * <p>
* If closing the main and branch output streams both throw exceptions, which exceptions is thrown by this method is
* currently unspecified and subject to change.
+ * </p>
*
- * @throws IOException
- * if an I/O error occurs
+ * @throws IOException if an I/O error occurs
*/
@Override
public void close() throws IOException {

Breaking binary compatibility should break the build instead of
generating a report one might skip reading, especially for PRs.

Don't break BC.
Javadoc verbs.
Format Javadoc.