am 412dd546: am 53ec5d4f: (-s ours) am ffcf8047: Merge "Backport Java 8 compile time break workaround."

* commit '412dd546124fc15a0a6236f0cd2077273ca30a70':
diff --git a/README.version b/README.version
new file mode 100644
index 0000000..9eba486
--- /dev/null
+++ b/README.version
@@ -0,0 +1,3 @@
+URL: https://github.com/google/guava/archive/v14.0.1.tar.gz
+Version: 14.0.1
+BugComponent: 72793
diff --git a/guava/src/com/google/common/io/LegacyCloseables.java b/guava/src/com/google/common/io/LegacyCloseables.java
new file mode 100644
index 0000000..e0151e7
--- /dev/null
+++ b/guava/src/com/google/common/io/LegacyCloseables.java
@@ -0,0 +1,73 @@
+/*
+ * Copyright (C) 2007 The Guava Authors
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.google.common.io;
+
+import java.io.Closeable;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.Reader;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+
+import javax.annotation.Nullable;
+
+/**
+ * Legacy methods for working with {@link Closeable} objects.
+ */
+public final class LegacyCloseables {
+  private static final Logger logger = Logger.getLogger(LegacyCloseables.class.getName());
+
+  private LegacyCloseables() {}
+
+  /**
+   * Closes a {@link Closeable}, if an IOException is thrown by {@link Closeable#close()} then it is
+   * caught and logged.
+   *
+   * This is primarily useful in a finally block, where a thrown exception needs to be logged but
+   * not propagated (otherwise the original exception will be lost). If possible, use
+   * try-with-resources instead as that captures all the exceptions. Use this only if that is not
+   * possible, either because the application has to work on Android at an API level lower than 19
+   * that does not support try-with-resources, or the exceptions truly can be ignored.
+   *
+   * @param closeable the {@code Closeable} object to be closed, or null, in which case this method
+   *     does nothing
+   * @deprecated This method may suppress potentially significant exceptions, particularly when
+   *     closing writable resources. With a writable resource, a failure thrown from {@code close()}
+   *     should be considered as significant as a failure thrown from a write method because it may
+   *     indicate a failure to flush bytes to the underlying resource. When possible, use the
+   *     Source/Sink classes to handle opening and closing resources for you. When that isn't
+   *     possible, use
+   *     <a href="http://docs.oracle.com/javase/tutorial/essential/exceptions/tryResourceClose.html">
+   *     try-with-resources</a>. When that isn't possible and you are closing a readable
+   *     resource, use {@link #closeQuietly(InputStream)} or {@link #closeQuietly(Reader)}. See
+   *     <a href="https://code.google.com/p/guava-libraries/wiki/ClosingResourcesExplained">this
+   *     Guava wiki article</a> for more information on the problem with writable resources and the
+   *     alternatives to this method.
+   */
+  @Deprecated
+  public static void closeQuietly(@Nullable Closeable closeable) {
+    if (closeable == null) {
+      return;
+    }
+    try {
+      closeable.close();
+    } catch (IOException e) {
+      logger.log(Level.WARNING,
+          "IOException thrown while closing Closeable.", e);
+    }
+  }
+}