Keep history after reset (b/34176642)
diff --git a/Dockerfile b/Dockerfile
index 644c120..4491c22 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -1,17 +1,23 @@
-FROM gcr.io/cloud-builders/javac:8
+FROM ubuntu:22.04
 
+# Install tools required for port tasks.
 RUN apt-get update && apt-get install -y \
     cmake \
     curl \
     ninja-build \
-    python3-pip
+    openjdk-8-jdk \
+    python3-pip \
+    zip
 RUN pip3 install meson
+
+# Install ADB for tests.
 RUN curl -L -o platform-tools.zip \
     https://dl.google.com/android/repository/platform-tools-latest-linux.zip
 RUN unzip platform-tools.zip platform-tools/adb
 RUN mv platform-tools/adb /usr/bin/adb
 RUN mkdir -m 0750 /.android
 
+# Build release artifacts.
 WORKDIR /src
 ENTRYPOINT ["./gradlew", "--no-daemon", "--gradle-user-home=.gradle_home", "--stacktrace", "-PndkPath=/ndk"]
 CMD ["-Prelease", "clean", "release"]
diff --git a/buildSrc/src/main/kotlin/com/android/ndkports/Abi.kt b/buildSrc/src/main/kotlin/com/android/ndkports/Abi.kt
index f6dbc01..ce9905a 100644
--- a/buildSrc/src/main/kotlin/com/android/ndkports/Abi.kt
+++ b/buildSrc/src/main/kotlin/com/android/ndkports/Abi.kt
@@ -24,9 +24,9 @@
     val triple: String,
     val minSupportedVersion: Int
 ) {
-    Arm("arm", "armeabi-v7a", "arm-linux-androideabi", 19),
+    Arm("arm", "armeabi-v7a", "arm-linux-androideabi", 21),
     Arm64("arm64", "arm64-v8a", "aarch64-linux-android", 21),
-    X86("x86", "x86", "i686-linux-android", 19),
+    X86("x86", "x86", "i686-linux-android", 21),
     X86_64("x86_64", "x86_64", "x86_64-linux-android", 21);
 
     fun adjustMinSdkVersion(minSdkVersion: Int) =
@@ -35,4 +35,4 @@
     companion object {
         fun fromAbiName(name: String) = values().find { it.abiName == name }
     }
-}
\ No newline at end of file
+}
diff --git a/curl/build.gradle.kts b/curl/build.gradle.kts
index 8dfa105..9fb1f99 100644
--- a/curl/build.gradle.kts
+++ b/curl/build.gradle.kts
@@ -20,7 +20,7 @@
 ndkPorts {
     ndkPath.set(File(project.findProperty("ndkPath") as String))
     source.set(project.file("src.tar.gz"))
-    minSdkVersion.set(19)
+    minSdkVersion.set(21)
 }
 
 tasks.prefab {
diff --git a/googletest/build.gradle.kts b/googletest/build.gradle.kts
index b86b9eb..222315d 100644
--- a/googletest/build.gradle.kts
+++ b/googletest/build.gradle.kts
@@ -2,7 +2,7 @@
 import com.android.ndkports.CMakeCompatibleVersion
 import com.android.ndkports.CMakePortTask
 
-val portVersion = "1.11.0"
+val portVersion = "1.14.0"
 
 group = "com.android.ndk.thirdparty"
 version = "$portVersion${rootProject.extra.get("snapshotSuffix")}"
@@ -16,7 +16,7 @@
 ndkPorts {
     ndkPath.set(File(project.findProperty("ndkPath") as String))
     source.set(project.file("src.tar.gz"))
-    minSdkVersion.set(16)
+    minSdkVersion.set(21)
 }
 
 val buildTask = tasks.register<CMakePortTask>("buildPort") {
diff --git a/googletest/src.tar.gz b/googletest/src.tar.gz
index 8163d74..6ac9efd 100644
--- a/googletest/src.tar.gz
+++ b/googletest/src.tar.gz
Binary files differ
diff --git a/jsoncpp/build.gradle.kts b/jsoncpp/build.gradle.kts
index 101bf38..c821427 100644
--- a/jsoncpp/build.gradle.kts
+++ b/jsoncpp/build.gradle.kts
@@ -16,7 +16,7 @@
 ndkPorts {
     ndkPath.set(File(project.findProperty("ndkPath") as String))
     source.set(project.file("src.tar.gz"))
-    minSdkVersion.set(16)
+    minSdkVersion.set(21)
 }
 
 tasks.extractSrc {
diff --git a/openssl/build.gradle.kts b/openssl/build.gradle.kts
index 2052043..d4b0c46 100644
--- a/openssl/build.gradle.kts
+++ b/openssl/build.gradle.kts
@@ -2,25 +2,7 @@
 import com.android.ndkports.AndroidExecutableTestTask
 import com.android.ndkports.CMakeCompatibleVersion
 
-fun openSslVersionToCMakeVersion(openSslVersion: String): CMakeCompatibleVersion {
-    val (major, minor, microAndLetter) = openSslVersion.split(".")
-    val letter = microAndLetter.last()
-    val micro = microAndLetter.substringBefore(letter)
-    val tweak = if (letter.isDigit()) {
-        // 1.1.1 is 1.1.1.0.
-        0
-    } else {
-        // 1.1.1a is 1.1.1.1.
-        letter.toInt() - 'a'.toInt() + 1
-    }
-
-    return CMakeCompatibleVersion(
-        major.toInt(), minor.toInt(), micro.toInt(), tweak
-    )
-}
-
-val portVersion = "1.1.1s"
-val prefabVersion = openSslVersionToCMakeVersion(portVersion)
+val portVersion = "3.2.1"
 
 group = "com.android.ndk.thirdparty"
 version = "$portVersion${rootProject.extra.get("snapshotSuffix")}"
@@ -34,7 +16,7 @@
 ndkPorts {
     ndkPath.set(File(project.findProperty("ndkPath") as String))
     source.set(project.file("src.tar.gz"))
-    minSdkVersion.set(16)
+    minSdkVersion.set(21)
 }
 
 val buildTask = tasks.register<AdHocPortTask>("buildPort") {
@@ -71,7 +53,9 @@
 }
 
 tasks.prefabPackage {
-    version.set(prefabVersion)
+    version.set(CMakeCompatibleVersion.parse(portVersion))
+
+    licensePath.set("LICENSE.txt")
 
     modules {
         create("crypto")
diff --git a/openssl/src.tar.gz b/openssl/src.tar.gz
index 9f41c50..4c1350d 100644
--- a/openssl/src.tar.gz
+++ b/openssl/src.tar.gz
Binary files differ