From 32640edd69a2e85010d73ba2356cae0d847c4b0a Mon Sep 17 00:00:00 2001 From: Greyson Parrelli Date: Thu, 10 Apr 2025 15:38:52 -0400 Subject: [PATCH] Update to NDK r28 to support 16kb pages. --- .gitignore | 1 + build.gradle | 4 +- gradle/wrapper/gradle-wrapper.properties | 4 +- library/build.gradle | 89 ++++++++++--------- .../third_party/boringssl/src/CMakeLists.txt | 2 +- .../boringssl/src/util/BUILD.toplevel | 1 - 6 files changed, 52 insertions(+), 49 deletions(-) diff --git a/.gitignore b/.gitignore index c7790d9..9d7eade 100644 --- a/.gitignore +++ b/.gitignore @@ -13,3 +13,4 @@ .externalNativeBuild .idea gradle.properties +**/.cxx diff --git a/build.gradle b/build.gradle index e11a5b3..371937f 100644 --- a/build.gradle +++ b/build.gradle @@ -4,10 +4,9 @@ buildscript { repositories { google() jcenter() - } dependencies { - classpath 'com.android.tools.build:gradle:3.3.2' + classpath 'com.android.tools.build:gradle:8.9.1' // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files @@ -18,7 +17,6 @@ allprojects { repositories { google() jcenter() - } } diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 0437bfd..97bbf02 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ -#Tue Apr 09 17:56:40 PDT 2019 +#Wed Apr 09 14:38:15 EDT 2025 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists +distributionUrl=https\://services.gradle.org/distributions/gradle-8.11.1-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-4.10.1-all.zip diff --git a/library/build.gradle b/library/build.gradle index 4d8da3b..49993c5 100644 --- a/library/build.gradle +++ b/library/build.gradle @@ -1,5 +1,5 @@ apply plugin: 'com.android.library' -apply plugin: 'maven' +apply plugin: 'maven-publish' apply plugin: 'signing' archivesBaseName = "aesgcmprovider" @@ -7,10 +7,12 @@ version = "0.0.3" group = "org.signal" android { - compileSdkVersion 26 + namespace "org.signal.aesgcmprovider" + compileSdkVersion 35 defaultConfig { - minSdkVersion 19 - targetSdkVersion 26 + minSdkVersion 21 + targetSdkVersion 34 + ndkVersion "28.0.13004108" versionCode 1 versionName "1.0" testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" @@ -33,10 +35,13 @@ android { path "src/main/cpp/CMakeLists.txt" } } + publishing { + singleVariant("release") + } } dependencies { - testImplementation 'junit:junit:4.12' + testImplementation 'junit:junit:4.13.2' androidTestImplementation 'com.android.support.test:runner:1.0.2' androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2' androidTestImplementation 'org.mockito:mockito-android:2.7.22' @@ -60,55 +65,55 @@ def getRepositoryPassword() { } signing { - required { isReleaseBuild() && gradle.taskGraph.hasTask("uploadArchives") } + required { isReleaseBuild() && gradle.taskGraph.hasTask("publishing") } sign configurations.archives } -uploadArchives { - configuration = configurations.archives - repositories.mavenDeployer { - beforeDeployment { MavenDeployment deployment -> signing.signPom(deployment) } +afterEvaluate { + publishing { + publications { + mavenJava(MavenPublication) { + from components.release + groupId = group + artifactId = archivesBaseName - repository(url: getReleaseRepositoryUrl()) { - authentication(userName: getRepositoryUsername(), password: getRepositoryPassword()) - } + pom { + name = 'aesgcmprovider' + packaging = 'aar' + description = 'A BoringSSL-backed AES-GCM provider for Android' + url = 'https://github.com/signalapp/AES-GCM-Provider' - pom.project { - name 'aesgcmprovider' - packaging 'aar' - description 'A BoringSSL-backed AES-GCM provider for Android' - url 'https://github.com/signalapp/AES-GCM-Provider' + scm { + url = 'scm:git@github.com:signalapp/AES-GCM-Provider.git' + connection = 'scm:git@github.com:signalapp/AES-GCM-Provider.git' + developerConnection = 'scm:git@github.com:signalapp/AES-GCM-Provider.git' + } - scm { - url 'scm:git@github.com:signalapp/AES-GCM-Provider.git' - connection 'scm:git@github.com:signalapp/AES-GCM-Provider.git' - developerConnection 'scm:git@github.com:signalapp/AES-GCM-Provider.git' - } + licenses { + license { + name = 'AGPLv3' + url = 'https://www.gnu.org/licenses/agpl-3.0.html' + distribution = 'repo' + } + } - licenses { - license { - name 'AGPLv3' - url 'https://www.gnu.org/licenses/agpl-3.0.html' - distribution 'repo' + developers { + developer { + name = 'Moxie Marlinspike' + } + } } } + } - developers { - developer { - name 'Moxie Marlinspike' + repositories { + maven { + url = getReleaseRepositoryUrl() + credentials { + username = getRepositoryUsername() + password = getRepositoryPassword() } } } } } - -task installArchives(type: Upload) { - description "Installs the artifacts to the local Maven repository." - configuration = configurations['archives'] - repositories { - mavenDeployer { - repository url: "file://${System.properties['user.home']}/.m2/repository" - } - } -} - diff --git a/library/src/main/cpp/third_party/boringssl/src/CMakeLists.txt b/library/src/main/cpp/third_party/boringssl/src/CMakeLists.txt index 4cfbcc5..4a90471 100644 --- a/library/src/main/cpp/third_party/boringssl/src/CMakeLists.txt +++ b/library/src/main/cpp/third_party/boringssl/src/CMakeLists.txt @@ -113,7 +113,7 @@ endif() if(CMAKE_COMPILER_IS_GNUCXX OR CLANG) # Note clang-cl is odd and sets both CLANG and MSVC. We base our configuration # primarily on our normal Clang one. - set(C_CXX_FLAGS "-Werror -Wformat=2 -Wsign-compare -Wmissing-field-initializers -Wwrite-strings") + set(C_CXX_FLAGS "-Wformat=2 -Wsign-compare -Wmissing-field-initializers -Wwrite-strings") if(MSVC) # clang-cl sets different default warnings than clang. It also treats -Wall # as -Weverything, to match MSVC. Instead -W3 is the alias for -Wall. diff --git a/library/src/main/cpp/third_party/boringssl/src/util/BUILD.toplevel b/library/src/main/cpp/third_party/boringssl/src/util/BUILD.toplevel index d7c731b..885ec19 100644 --- a/library/src/main/cpp/third_party/boringssl/src/util/BUILD.toplevel +++ b/library/src/main/cpp/third_party/boringssl/src/util/BUILD.toplevel @@ -67,7 +67,6 @@ posix_copts = [ # This list of warnings should match those in the top-level CMakeLists.txt. "-Wall", - "-Werror", "-Wformat=2", "-Wsign-compare", "-Wmissing-field-initializers",