149 lines
5.8 KiB
Plaintext
149 lines
5.8 KiB
Plaintext
/*
|
|
* 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.
|
|
*/
|
|
|
|
import org.jetbrains.kotlin.gradle.plugin.extraProperties
|
|
|
|
plugins { id("maven-publish") }
|
|
|
|
group = "com.facebook.react"
|
|
|
|
version =
|
|
parent?.extraProperties?.get("publishing_version")
|
|
?: error("publishing_version not set for external-artifacts")
|
|
|
|
configurations.maybeCreate("externalArtifacts")
|
|
|
|
// Those artifacts should be placed inside the `artifacts/hermes-ios-*.tar.gz` location.
|
|
val hermesiOSDebugArtifactFile: RegularFile =
|
|
layout.projectDirectory.file("artifacts/hermes-ios-debug.tar.gz")
|
|
val hermesiOSDebugArtifact: PublishArtifact =
|
|
artifacts.add("externalArtifacts", hermesiOSDebugArtifactFile) {
|
|
type = "tgz"
|
|
extension = "tar.gz"
|
|
classifier = "hermes-ios-debug"
|
|
}
|
|
val hermesiOSReleaseArtifactFile: RegularFile =
|
|
layout.projectDirectory.file("artifacts/hermes-ios-release.tar.gz")
|
|
val hermesiOSReleaseArtifact: PublishArtifact =
|
|
artifacts.add("externalArtifacts", hermesiOSReleaseArtifactFile) {
|
|
type = "tgz"
|
|
extension = "tar.gz"
|
|
classifier = "hermes-ios-release"
|
|
}
|
|
|
|
// Those artifacts should be placed inside the `artifacts/hermes-*.framework.dSYM` location
|
|
val hermesDSYMDebugArtifactFile: RegularFile =
|
|
layout.projectDirectory.file("artifacts/hermes-framework-dSYM-debug.tar.gz")
|
|
val hermesDSYMDebugArtifact: PublishArtifact =
|
|
artifacts.add("externalArtifacts", hermesDSYMDebugArtifactFile) {
|
|
type = "tgz"
|
|
extension = "tar.gz"
|
|
classifier = "hermes-framework-dSYM-debug"
|
|
}
|
|
val hermesDSYMReleaseArtifactFile: RegularFile =
|
|
layout.projectDirectory.file("artifacts/hermes-framework-dSYM-release.tar.gz")
|
|
val hermesDSYMReleaseArtifact: PublishArtifact =
|
|
artifacts.add("externalArtifacts", hermesDSYMReleaseArtifactFile) {
|
|
type = "tgz"
|
|
extension = "tar.gz"
|
|
classifier = "hermes-framework-dSYM-release"
|
|
}
|
|
|
|
// [iOS] React Native Dependencies
|
|
val reactNativeDependenciesDebugArtifactFile: RegularFile =
|
|
layout.projectDirectory.file("artifacts/ReactNativeDependenciesDebug.xcframework.tar.gz")
|
|
val reactNativeDependenciesDebugArtifact: PublishArtifact =
|
|
artifacts.add("externalArtifacts", reactNativeDependenciesDebugArtifactFile) {
|
|
type = "tgz"
|
|
extension = "tar.gz"
|
|
classifier = "reactnative-dependencies-debug"
|
|
}
|
|
|
|
val reactNativeDependenciesReleaseArtifactFile: RegularFile =
|
|
layout.projectDirectory.file("artifacts/ReactNativeDependenciesRelease.xcframework.tar.gz")
|
|
val reactNativeDependenciesReleaseArtifact: PublishArtifact =
|
|
artifacts.add("externalArtifacts", reactNativeDependenciesReleaseArtifactFile) {
|
|
type = "tgz"
|
|
extension = "tar.gz"
|
|
classifier = "reactnative-dependencies-release"
|
|
}
|
|
val reactNativeDependenciesDebugDSYMArtifactFile: RegularFile =
|
|
layout.projectDirectory.file("artifacts/ReactNativeDependenciesDebug.framework.dSYM.tar.gz")
|
|
val reactNativeDependenciesDebugDSYMArtifact: PublishArtifact =
|
|
artifacts.add("externalArtifacts", reactNativeDependenciesDebugDSYMArtifactFile) {
|
|
type = "tgz"
|
|
extension = "tar.gz"
|
|
classifier = "reactnative-dependencies-dSYM-debug"
|
|
}
|
|
|
|
val reactNativeDependenciesReleaseDSYMArtifactFile: RegularFile =
|
|
layout.projectDirectory.file("artifacts/ReactNativeDependenciesRelease.framework.dSYM.tar.gz")
|
|
val reactNativeDependenciesReleaseDSYMArtifact: PublishArtifact =
|
|
artifacts.add("externalArtifacts", reactNativeDependenciesReleaseDSYMArtifactFile) {
|
|
type = "tgz"
|
|
extension = "tar.gz"
|
|
classifier = "reactnative-dependencies-dSYM-release"
|
|
}
|
|
|
|
// [iOS] React Native Core
|
|
val reactCoreDebugArtifactFile: RegularFile =
|
|
layout.projectDirectory.file("artifacts/ReactCoreDebug.xcframework.tar.gz")
|
|
val reactCoreDebugArtifact: PublishArtifact =
|
|
artifacts.add("externalArtifacts", reactCoreDebugArtifactFile) {
|
|
type = "tgz"
|
|
extension = "tar.gz"
|
|
classifier = "reactnative-core-debug"
|
|
}
|
|
|
|
val reactCoreReleaseArtifactFile: RegularFile =
|
|
layout.projectDirectory.file("artifacts/ReactCoreRelease.xcframework.tar.gz")
|
|
val reactCoreReleaseArtifact: PublishArtifact =
|
|
artifacts.add("externalArtifacts", reactCoreReleaseArtifactFile) {
|
|
type = "tgz"
|
|
extension = "tar.gz"
|
|
classifier = "reactnative-core-release"
|
|
}
|
|
val reactCoreDebugDSYMArtifactFile: RegularFile =
|
|
layout.projectDirectory.file("artifacts/ReactCoreDebug.framework.dSYM.tar.gz")
|
|
val reactCoreDebugDSYMArtifact: PublishArtifact =
|
|
artifacts.add("externalArtifacts", reactCoreDebugDSYMArtifactFile) {
|
|
type = "tgz"
|
|
extension = "tar.gz"
|
|
classifier = "reactnative-core-dSYM-debug"
|
|
}
|
|
|
|
val reactCoreReleaseDSYMArtifactFile: RegularFile =
|
|
layout.projectDirectory.file("artifacts/ReactCoreRelease.framework.dSYM.tar.gz")
|
|
val reactCoreReleaseDSYMArtifact: PublishArtifact =
|
|
artifacts.add("externalArtifacts", reactCoreReleaseDSYMArtifactFile) {
|
|
type = "tgz"
|
|
extension = "tar.gz"
|
|
classifier = "reactnative-core-dSYM-release"
|
|
}
|
|
|
|
apply(from = "../publish.gradle")
|
|
|
|
publishing {
|
|
publications {
|
|
getByName("release", MavenPublication::class) {
|
|
artifactId = "react-native-artifacts"
|
|
artifact(hermesiOSDebugArtifact)
|
|
artifact(hermesiOSReleaseArtifact)
|
|
artifact(hermesDSYMDebugArtifact)
|
|
artifact(hermesDSYMReleaseArtifact)
|
|
artifact(reactNativeDependenciesDebugArtifact)
|
|
artifact(reactNativeDependenciesReleaseArtifact)
|
|
artifact(reactNativeDependenciesDebugDSYMArtifact)
|
|
artifact(reactNativeDependenciesReleaseDSYMArtifact)
|
|
artifact(reactCoreDebugArtifact)
|
|
artifact(reactCoreReleaseArtifact)
|
|
artifact(reactCoreDebugDSYMArtifact)
|
|
artifact(reactCoreReleaseDSYMArtifact)
|
|
}
|
|
}
|
|
}
|