From 263628610870a84d4fd522e7258f5d5782144298 Mon Sep 17 00:00:00 2001 From: karthiccc23 Date: Fri, 31 May 2024 13:22:19 -0700 Subject: [PATCH] Update maven publishing --- .github/workflows/release-aar.yaml | 30 +++++++++++++++++++ build.gradle.kts | 6 ++-- .../ReactAndroid/gradle.properties | 21 +++++++++++++ .../react-native/ReactAndroid/publish.gradle | 4 +-- 4 files changed, 55 insertions(+), 6 deletions(-) create mode 100644 .github/workflows/release-aar.yaml diff --git a/.github/workflows/release-aar.yaml b/.github/workflows/release-aar.yaml new file mode 100644 index 00000000000000..c4d74fdf83a4c1 --- /dev/null +++ b/.github/workflows/release-aar.yaml @@ -0,0 +1,30 @@ +name: Release React Native AAR +# This workflow is manually triggered to release a new React Native AAR version +on: + workflow_dispatch: + +jobs: + release-aar: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - name: Publish Maven Artifact + run: | + cat <(echo -e "${{ secrets.OSSRH_GPG_SECRET_KEY }}") | gpg --batch --import + gpg --list-secret-keys --keyid-format LONG + yarn install + echo "signing.gnupg.keyName=${OSSRH_GPG_SECRET_KEY_ID}" >> gradle.properties + echo "signing.gnupg.passphrase=${OSSRH_GPG_SECRET_KEY_PASSWORD}" >> gradle.properties + echo "repositoryUsername=${OSSRH_SONATYPE_USERNAME}" >> gradle.properties + echo "repositoryPassword=${OSSRH_SONATYPE_PASSWORD}" >> gradle.properties + echo "signingKey=${OSSRH_GPG_SECRET_KEY}" >> gradle.properties + echo "signingPassword=${OSSRH_GPG_SECRET_KEY_PASSWORD}" >> gradle.properties + sed -i.bu 's/com.facebook.react/com.walmartlabs.ern/g' packages/react-native/ReactAndroid/gradle.properties + ./gradlew assembleRelease + ./gradlew publishAllToSonatype --stacktrace + env: + OSSRH_GPG_SECRET_KEY_ID: ${{ secrets.OSSRH_GPG_SECRET_KEY_ID }} + OSSRH_GPG_SECRET_KEY: ${{ secrets.OSSRH_GPG_SECRET_KEY }} + OSSRH_GPG_SECRET_KEY_PASSWORD: ${{ secrets.OSSRH_GPG_SECRET_KEY_PASSWORD }} + OSSRH_SONATYPE_USERNAME: ${{ secrets.OSSRH_SONATYPE_USERNAME }} + OSSRH_SONATYPE_PASSWORD: ${{ secrets.OSSRH_SONATYPE_PASSWORD }} diff --git a/build.gradle.kts b/build.gradle.kts index 9ee10211d6141d..b559b51cfdc21e 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -31,8 +31,8 @@ group = "com.facebook.react" val ndkPath by extra(System.getenv("ANDROID_NDK")) val ndkVersion by extra(System.getenv("ANDROID_NDK_VERSION")) -val sonatypeUsername = findProperty("SONATYPE_USERNAME")?.toString() -val sonatypePassword = findProperty("SONATYPE_PASSWORD")?.toString() +val sonatypeUsername = findProperty("repositoryUsername")?.toString() +val sonatypePassword = findProperty("repositoryPassword")?.toString() nexusPublishing { repositories { @@ -102,6 +102,4 @@ tasks.register("publishAllToMavenTempLocal") { tasks.register("publishAllToSonatype") { description = "Publish all the artifacts to Sonatype (Maven Central or Snapshot repository)" dependsOn(":packages:react-native:ReactAndroid:publishToSonatype") - dependsOn(":packages:react-native:ReactAndroid:external-artifacts:publishToSonatype") - dependsOn(":packages:react-native:ReactAndroid:hermes-engine:publishToSonatype") } diff --git a/packages/react-native/ReactAndroid/gradle.properties b/packages/react-native/ReactAndroid/gradle.properties index ec7d486e5b2f39..45d0ec9a3e9bd4 100644 --- a/packages/react-native/ReactAndroid/gradle.properties +++ b/packages/react-native/ReactAndroid/gradle.properties @@ -30,5 +30,26 @@ FOLLY_VERSION=2021.07.22.00 GLOG_VERSION=0.3.5 LIBEVENT_VERSION=2.1.12 +# Electrode Native Sonatype Publish +POM_URL=https://github.com/facebook/react-native +POM_SCM_URL=https://github.com/facebook/react-native.git +POM_SCM_CONNECTION=scm:git:https://github.com/facebook/react-native.git +POM_SCM_DEV_CONNECTION=scm:git:git@github.com:facebook/react-native.git +POM_DESCRIPTION=A framework for building native apps with React + +POM_LICENCE_NAME=MIT License +POM_LICENCE_URL=https://github.com/facebook/react-native/blob/master/LICENSE +POM_LICENCE_DIST=repo + +POM_DEVELOPER_ID=facebook +POM_DEVELOPER_NAME=Facebook +POM_DEVELOPER_EMAIL=facebook@facebook.com + +SONATYPE_HOST=DEFAULT +RELEASE_SIGNING_ENABLED=true + +REPOSITORY_URL_MAVEN_STAGING_DEFAULT=https://oss.sonatype.org/service/local/staging/deploy/maven2/ +REPOSITORY_URL_MAVEN_SNAPSHOT_DEFAULT=https://oss.sonatype.org/content/repositories/snapshots/ + android.useAndroidX=true android.enableJetifier=true diff --git a/packages/react-native/ReactAndroid/publish.gradle b/packages/react-native/ReactAndroid/publish.gradle index db2c83765c6688..ab8841adf6549b 100644 --- a/packages/react-native/ReactAndroid/publish.gradle +++ b/packages/react-native/ReactAndroid/publish.gradle @@ -9,8 +9,8 @@ apply plugin: 'maven-publish' apply plugin: 'signing' def isNightly = findProperty("isNightly")?.toBoolean() -def signingKey = findProperty("SIGNING_KEY") -def signingPwd = findProperty("SIGNING_PWD") +def signingKey = findProperty("signingKey") +def signingPwd = findProperty("signingPassword") def reactAndroidProjectDir = project(':packages:react-native:ReactAndroid').projectDir def androidOutputUrl = "file://${reactAndroidProjectDir}/../android"