/* * Copyright (c) Meta Platforms, Inc. and affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ apply plugin: 'maven-publish' apply plugin: 'signing' def isNightly = findProperty("isNightly")?.toBoolean() def signingKey = findProperty("SIGNING_KEY") def signingPwd = findProperty("SIGNING_PWD") def reactAndroidProjectDir = project(':packages:react-native:ReactAndroid').projectDir def androidOutputUrl = "file://${reactAndroidProjectDir}/../android" def mavenTempLocalUrl = "file:///tmp/maven-local" publishing { publications { release(MavenPublication) { afterEvaluate { // We do a multi variant release, so for Android libraries // we publish `components.release` if (plugins.hasPlugin("com.android.library")) { from components.default } } // We populate the publishing version using the project version, // appending -SNAPSHOT if on nightly. if (isNightly) { version = this.version + "-SNAPSHOT" } else { version = this.version } pom { name = "react-native" description = "A framework for building native apps with React" url = "https://github.com/facebook/react-native" developers { developer { id = "facebook" name = "Facebook" } } licenses { license { name = "MIT License" url = "https://github.com/facebook/react-native/blob/HEAD/LICENSE" distribution = "repo" } } scm { url = "https://github.com/facebook/react-native.git" connection = "scm:git:https://github.com/facebook/react-native.git" developerConnection = "scm:git:git@github.com:facebook/react-native.git" } } } } repositories { maven { name = "npm" url = androidOutputUrl } maven { name = "mavenTempLocal" url = mavenTempLocalUrl } } if (signingKey && signingPwd) { logger.info("PGP Key found - Signing enabled") signing { useInMemoryPgpKeys(signingKey, signingPwd) sign(publishing.publications.release) } } else { logger.info("Signing disabled as the PGP key was not found") } }