diff --git a/pom.xml b/pom.xml index efad18f9..164776b0 100644 --- a/pom.xml +++ b/pom.xml @@ -96,6 +96,21 @@ limitations under the License. + + maven-compiler-plugin + + + default-compile + + compile + + + 1.8 + 1.8 + + + + org.apache.maven.plugins maven-scm-publish-plugin @@ -134,7 +149,79 @@ limitations under the License. + + maven-jar-plugin + + + + true + + + + + + + jdk9+ + + [9,) + + + + + + maven-compiler-plugin + + + compile-java-9 + + compile + + + 9 + + ${project.basedir}/src/main/java9 + + true + + + + + + + + + + jdk10+ + + [10,) + + + + + + maven-compiler-plugin + + + compile-java-10 + + compile + + + 10 + + ${project.basedir}/src/main/java10 + + true + + + + + + + + + diff --git a/src/main/java/org/codehaus/plexus/util/BaseIOUtil.java b/src/main/java/org/codehaus/plexus/util/BaseIOUtil.java new file mode 100644 index 00000000..ac2ade02 --- /dev/null +++ b/src/main/java/org/codehaus/plexus/util/BaseIOUtil.java @@ -0,0 +1,27 @@ +package org.codehaus.plexus.util; + +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; +import java.io.Reader; +import java.io.Writer; + +/** + * Implementation specific to Java SE 8 version. + */ +abstract class BaseIOUtil +{ + private static final int DEFAULT_BUFFER_SIZE = 1024 * 16; + + static void copy( final InputStream input, final OutputStream output ) + throws IOException + { + IOUtil.copy( input, output, DEFAULT_BUFFER_SIZE ); + } + + static void copy( final Reader input, final Writer output ) + throws IOException + { + IOUtil.copy( input, output, DEFAULT_BUFFER_SIZE ); + } +} diff --git a/src/main/java/org/codehaus/plexus/util/IOUtil.java b/src/main/java/org/codehaus/plexus/util/IOUtil.java index 3fab8411..b431a8d9 100644 --- a/src/main/java/org/codehaus/plexus/util/IOUtil.java +++ b/src/main/java/org/codehaus/plexus/util/IOUtil.java @@ -132,7 +132,7 @@ * method variants to specify buffer size and encoding, each row may correspond to up to 4 methods. */ -public final class IOUtil +public final class IOUtil extends BaseIOUtil { private static final int DEFAULT_BUFFER_SIZE = 1024 * 16; @@ -156,7 +156,7 @@ private IOUtil() public static void copy( final InputStream input, final OutputStream output ) throws IOException { - copy( input, output, DEFAULT_BUFFER_SIZE ); + BaseIOUtil.copy( input, output ); } /** @@ -186,7 +186,7 @@ public static void copy( final InputStream input, final OutputStream output, fin public static void copy( final Reader input, final Writer output ) throws IOException { - copy( input, output, DEFAULT_BUFFER_SIZE ); + BaseIOUtil.copy( input, output ); } /** diff --git a/src/main/java10/org/codehaus/plexus/util/BaseIOUtil.java b/src/main/java10/org/codehaus/plexus/util/BaseIOUtil.java new file mode 100644 index 00000000..fc792be3 --- /dev/null +++ b/src/main/java10/org/codehaus/plexus/util/BaseIOUtil.java @@ -0,0 +1,25 @@ +package org.codehaus.plexus.util; + +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; +import java.io.Reader; +import java.io.Writer; + +/** + * Implementation specific to Java SE 10 version. + */ +abstract class BaseIOUtil +{ + static void copy( final InputStream input, final OutputStream output ) + throws IOException + { + input.transferTo( output ); + } + + static void copy( final Reader input, final Writer output ) + throws IOException + { + input.transferTo( output ); + } +} diff --git a/src/main/java9/org/codehaus/plexus/util/BaseIOUtil.java b/src/main/java9/org/codehaus/plexus/util/BaseIOUtil.java new file mode 100644 index 00000000..7e0826c4 --- /dev/null +++ b/src/main/java9/org/codehaus/plexus/util/BaseIOUtil.java @@ -0,0 +1,27 @@ +package org.codehaus.plexus.util; + +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; +import java.io.Reader; +import java.io.Writer; + +/** + * Implementation specific to Java SE 9 version. + */ +abstract class BaseIOUtil +{ + private static final int DEFAULT_BUFFER_SIZE = 1024 * 16; + + static void copy( final InputStream input, final OutputStream output ) + throws IOException + { + input.transferTo( output ); + } + + static void copy( final Reader input, final Writer output ) + throws IOException + { + IOUtil.copy( input, output, DEFAULT_BUFFER_SIZE ); + } +}