Merge 547e30a8f08f1a7e793e876a3d26a383afbbf608 on remote branch

Change-Id: I7ccc768a788837b3bc9dd6b5d229ba79c0d87181
diff --git a/build.gradle.kts b/build.gradle.kts
index f547279..f217598 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -1,5 +1,19 @@
+buildscript {
+    val snapshotSuffix = if (hasProperty("release")) {
+        // We're still tagging releases as betas until we have more thorough
+        // test automation.
+        "-beta-1"
+    } else {
+        "-SNAPSHOT"
+    }
+
+    extra.apply {
+        set("snapshotSuffix", snapshotSuffix)
+    }
+}
+
 group = "com.android"
-version = "1.0.0-SNAPSHOT"
+version = "1.0.0${extra.get("snapshotSuffix")}"
 
 plugins {
     distribution
diff --git a/curl/build.gradle.kts b/curl/build.gradle.kts
index 78c700f..089ef04 100644
--- a/curl/build.gradle.kts
+++ b/curl/build.gradle.kts
@@ -5,7 +5,7 @@
 val portVersion = "7.79.1"
 
 group = "com.android.ndk.thirdparty"
-version = "$portVersion-SNAPSHOT"
+version = "$portVersion${rootProject.extra.get("snapshotSuffix")}"
 
 plugins {
     id("maven-publish")
diff --git a/googletest/build.gradle.kts b/googletest/build.gradle.kts
index afd624a..c365519 100644
--- a/googletest/build.gradle.kts
+++ b/googletest/build.gradle.kts
@@ -5,7 +5,7 @@
 val portVersion = "1.11.0"
 
 group = "com.android.ndk.thirdparty"
-version = "$portVersion-SNAPSHOT"
+version = "$portVersion${rootProject.extra.get("snapshotSuffix")}"
 
 plugins {
     id("maven-publish")
diff --git a/jsoncpp/build.gradle.kts b/jsoncpp/build.gradle.kts
index 4745998..29ffc66 100644
--- a/jsoncpp/build.gradle.kts
+++ b/jsoncpp/build.gradle.kts
@@ -5,7 +5,7 @@
 val portVersion = "1.9.5"
 
 group = "com.android.ndk.thirdparty"
-version = "$portVersion-SNAPSHOT"
+version = "$portVersion${rootProject.extra.get("snapshotSuffix")}"
 
 plugins {
     id("maven-publish")
diff --git a/openssl/build.gradle.kts b/openssl/build.gradle.kts
index 4fff323..b7c7a48 100644
--- a/openssl/build.gradle.kts
+++ b/openssl/build.gradle.kts
@@ -23,7 +23,7 @@
 val prefabVersion = openSslVersionToCMakeVersion(portVersion)
 
 group = "com.android.ndk.thirdparty"
-version = "$portVersion-SNAPSHOT"
+version = "$portVersion${rootProject.extra.get("snapshotSuffix")}"
 
 plugins {
     id("maven-publish")
diff --git a/scripts/build.sh b/scripts/build.sh
deleted file mode 100755
index e7c16b6..0000000
--- a/scripts/build.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/bash
-set -e
-docker build -t ndkports .
-docker run --rm -v $(pwd):/src ndkports
diff --git a/scripts/build_release.sh b/scripts/build_release.sh
new file mode 100755
index 0000000..f99e223
--- /dev/null
+++ b/scripts/build_release.sh
@@ -0,0 +1,8 @@
+#!/bin/bash
+set -e
+docker build -t ndkports .
+# We need to specify the full argument list for gradle explicitly because
+# there's no way to append to docker's CMD. This should be kept the same as the
+# default, but adding -Prelease.
+docker run --rm -v $(pwd):/src ndkports \
+  --stacktrace -PndkPath=/ndk -Prelease release
diff --git a/scripts/build_snapshot.sh b/scripts/build_snapshot.sh
new file mode 100755
index 0000000..4c9d767
--- /dev/null
+++ b/scripts/build_snapshot.sh
@@ -0,0 +1,6 @@
+#!/bin/bash
+set -e
+docker build -t ndkports .
+# Default command for the docker image handles the NDK location, --stacktrace,
+# task list, etc.
+docker run --rm -v $(pwd):/src ndkports