Disallow overwritting existing files in GCS.

Allowing overwriting files is error-prone and lead to overwriting the java_tools-javac10-v5.0 release.

Closes #10037.

PiperOrigin-RevId: 274776084
diff --git a/src/create_java_tools_release.sh b/src/create_java_tools_release.sh
index f1e9bf5..9376b0a 100755
--- a/src/create_java_tools_release.sh
+++ b/src/create_java_tools_release.sh
@@ -80,27 +80,32 @@
     release_artifact="releases/javac${java_version}/v${java_tools_version}/java_tools_javac${java_version}_${platform}-v${java_tools_version}.zip"
     release_sources_artifact="releases/javac${java_version}/v${java_tools_version}/sources/java_tools_javac${java_version}_${platform}-v${java_tools_version}.zip"
     # Make release candidate the release artifact for the current platform.
-    gsutil -q cp "${gcs_bucket}/${rc_url}" "${gcs_bucket}/${release_artifact}"
+    # Don't overwrite existing file.
+    gsutil -q cp -n "${gcs_bucket}/${rc_url}" "${gcs_bucket}/${release_artifact}"
 
     # Copy the associated zip file that contains the sources of the release zip.
-    gsutil -q cp "${gcs_bucket}/${rc_sources_url}" "${gcs_bucket}/${release_sources_artifact}"
+    # Don't overwrite existing file.
+    gsutil -q cp -n "${gcs_bucket}/${rc_sources_url}" "${gcs_bucket}/${release_sources_artifact}"
   else
     tmp_url=$(gsutil ls -lh ${gcs_bucket}/tmp/build/${commit_hash}/java${java_version}/java_tools_javac${java_version}_${platform}* | sort -k 2 | grep gs -m 1 | awk '{print $4}')
 
 
     # Make the generated artifact a release candidate for the current platform.
-    gsutil -q cp ${tmp_url} "${gcs_bucket}/${rc_url}"
+    # Don't overwrite existing file.
+    gsutil -q cp -n ${tmp_url} "${gcs_bucket}/${rc_url}"
     release_artifact="${rc_url}"
 
     # Copy the associated zip file that contains the sources of the release zip.
+    # Don't overwrite existing file.
     tmp_sources_url=$(gsutil ls -lh ${gcs_bucket}/tmp/sources/${commit_hash}/java${java_version}/java_tools_javac${java_version}_${platform}* | sort -k 2 | grep gs -m 1 | awk '{print $4}')
-    gsutil -q cp ${tmp_sources_url} ${gcs_bucket}/${rc_sources_url}
+    gsutil -q cp -n ${tmp_sources_url} ${gcs_bucket}/${rc_sources_url}
   fi
 
   # Download the file locally to compute its sha256sum (needed to update the
   # java_tools in Bazel).
+  # Don't overwrite existing file.
   local_zip="$tmp_dir/java_tools_$platform.zip"
-  gsutil -q cp ${gcs_bucket}/${rc_url} ${local_zip}
+  gsutil -q cp -n ${gcs_bucket}/${rc_url} ${local_zip}
   file_hash=$(sha256sum ${local_zip} | cut -d' ' -f1)
   echo "${release_artifact} ${file_hash}"
 done