mirror of
https://github.com/facebook/react-native.git
synced 2025-11-01 09:14:26 +00:00
Summary: Pull Request resolved: https://github.com/facebook/react-native/pull/34970 I'm setting up `gradle-nexus` on our build to simplify the closing and releasing of staging repositories. As of now, you'll have to go to Sonatype UI and manually click the release button. With this plugin, we can instruct CircleCI to do the publishing automatically for us as part of the nightly/stable release process. Changelog: [Internal] [Changed] - Setup gradle-nexus to automate closing and releasing staging repositories Reviewed By: cipolleschi Differential Revision: D40342759 fbshipit-source-id: 72e80f4bcc80058d5a6ea562ae136a91b2aeedbb
83 lines
2.5 KiB
Groovy
83 lines
2.5 KiB
Groovy
/*
|
|
* 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(':ReactAndroid').projectDir
|
|
def androidOutputUrl = "file://${reactAndroidProjectDir}/../android"
|
|
|
|
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
|
|
}
|
|
}
|
|
|
|
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")
|
|
}
|
|
}
|