mirror of
https://github.com/facebook/react-native.git
synced 2025-11-01 09:14:26 +00:00
Export prepareGlog to an internal task (#32421)
Summary: Pull Request resolved: https://github.com/facebook/react-native/pull/32421 This diff refactors the `prepareGlog` task to a separate Gradle task in the `.internal` package. The reason for this change is that `prepareGlog` was defining a `doLast` action and would result in being invalidated whenever the `build.gradle` file would change. This means that the Glog headers/source files would have been extracted again, effectively invalidating the timestamps for the native build. Changelog: [Internal] [Changed] - Export prepareGlog to an internal task Reviewed By: ShikaSD Differential Revision: D31661668 fbshipit-source-id: efcd5505a67d6c9f02fcab7a5c3255a160215661
This commit is contained in:
committed by
Facebook GitHub Bot
parent
a2b5e4cd82
commit
c3e7ea0b5b
@@ -12,6 +12,8 @@ plugins {
|
||||
id("de.undercouch.download")
|
||||
}
|
||||
|
||||
import com.facebook.react.tasks.internal.*
|
||||
|
||||
import java.nio.file.Paths
|
||||
|
||||
import de.undercouch.gradle.tasks.download.Download
|
||||
@@ -169,41 +171,11 @@ task downloadGlog(dependsOn: createNativeDepsDirectories, type: Download) {
|
||||
|
||||
// Prepare glog sources to be compiled, this task will perform steps that normally should've been
|
||||
// executed by automake. This way we can avoid dependencies on make/automake
|
||||
task prepareGlog(dependsOn: dependenciesPath ? [] : [downloadGlog], type: Copy) {
|
||||
duplicatesStrategy("warn")
|
||||
from(dependenciesPath ?: tarTree(downloadGlog.dest))
|
||||
from("src/main/jni/third-party/glog/")
|
||||
include("glog-${GLOG_VERSION}/src/**/*", "Android.mk", "config.h")
|
||||
includeEmptyDirs = false
|
||||
filesMatching("**/*.h.in") {
|
||||
filter(ReplaceTokens, tokens: [
|
||||
ac_cv_have_unistd_h : "1",
|
||||
ac_cv_have_stdint_h : "1",
|
||||
ac_cv_have_systypes_h : "1",
|
||||
ac_cv_have_inttypes_h : "1",
|
||||
ac_cv_have_libgflags : "0",
|
||||
ac_google_start_namespace : "namespace google {",
|
||||
ac_cv_have_uint16_t : "1",
|
||||
ac_cv_have_u_int16_t : "1",
|
||||
ac_cv_have___uint16 : "0",
|
||||
ac_google_end_namespace : "}",
|
||||
ac_cv_have___builtin_expect : "1",
|
||||
ac_google_namespace : "google",
|
||||
ac_cv___attribute___noinline : "__attribute__ ((noinline))",
|
||||
ac_cv___attribute___noreturn : "__attribute__ ((noreturn))",
|
||||
ac_cv___attribute___printf_4_5: "__attribute__((__format__ (__printf__, 4, 5)))"
|
||||
])
|
||||
it.path = (it.name - ".in")
|
||||
}
|
||||
into("$thirdPartyNdkDir/glog")
|
||||
|
||||
doLast {
|
||||
copy {
|
||||
from(fileTree(dir: "$thirdPartyNdkDir/glog", includes: ["stl_logging.h", "logging.h", "raw_logging.h", "vlog_is_on.h", "**/src/glog/log_severity.h"]).files)
|
||||
includeEmptyDirs = false
|
||||
into("$thirdPartyNdkDir/glog/exported/glog")
|
||||
}
|
||||
}
|
||||
final def prepareGlog = tasks.register("prepareGlog", PrepareGlogTask) {
|
||||
it.dependsOn(dependenciesPath ? [] : [downloadGlog])
|
||||
it.glogPath.setFrom(dependenciesPath ?: tarTree(downloadGlog.dest))
|
||||
it.glogVersion.set(GLOG_VERSION)
|
||||
it.outputDir.set(new File(thirdPartyNdkDir, "glog"))
|
||||
}
|
||||
|
||||
// Create Android.mk library module based on jsc from npm
|
||||
|
||||
Reference in New Issue
Block a user