From ba608a2db786a8e983a6e30b31662fac254286c0 Mon Sep 17 00:00:00 2001 From: Dulmandakh Date: Thu, 13 Sep 2018 15:35:32 -0700 Subject: [PATCH] Consolidate native dependencies versions (#20742) Summary: This PR tries to consolidate Android native dependencies versions to make it less error prone to version bumps. Pull Request resolved: https://github.com/facebook/react-native/pull/20742 Differential Revision: D9818155 Pulled By: hramos fbshipit-source-id: 9bf631640910edad5731014f4e23dbca45af2b59 --- ReactAndroid/build.gradle | 37 +++++++++++++++++----------------- ReactAndroid/gradle.properties | 5 +++++ 2 files changed, 24 insertions(+), 18 deletions(-) diff --git a/ReactAndroid/build.gradle b/ReactAndroid/build.gradle index 9c249f84e53198..fdda0862eb3802 100644 --- a/ReactAndroid/build.gradle +++ b/ReactAndroid/build.gradle @@ -3,10 +3,11 @@ // This source code is licensed under the MIT license found in the // LICENSE file in the root directory of this source tree. -apply plugin: 'com.android.library' -apply plugin: 'maven' - -apply plugin: 'de.undercouch.download' +plugins { + id("com.android.library") + id("maven") + id("de.undercouch.download") +} import de.undercouch.gradle.tasks.download.Download import org.apache.tools.ant.taskdefs.condition.Os @@ -39,60 +40,60 @@ task createNativeDepsDirectories { } task downloadBoost(dependsOn: createNativeDepsDirectories, type: Download) { - src 'https://github.com/react-native-community/boost-for-react-native/releases/download/v1.63.0-0/boost_1_63_0.tar.gz' + src "https://github.com/react-native-community/boost-for-react-native/releases/download/v${BOOST_VERSION.replace("_", ".")}-0/boost_${BOOST_VERSION}.tar.gz" onlyIfNewer true overwrite false - dest new File(downloadsDir, 'boost_1_63_0.tar.gz') + dest new File(downloadsDir, "boost_${BOOST_VERSION}.tar.gz") } task prepareBoost(dependsOn: boostPath ? [] : [downloadBoost], type: Copy) { from boostPath ?: tarTree(resources.gzip(downloadBoost.dest)) from 'src/main/jni/third-party/boost/Android.mk' - include 'Android.mk', 'boost_1_63_0/boost/**/*.hpp', 'boost/boost/**/*.hpp' + include 'Android.mk', "boost_${BOOST_VERSION}/boost/**/*.hpp", 'boost/boost/**/*.hpp' includeEmptyDirs = false into "$thirdPartyNdkDir/boost" doLast { - file("$thirdPartyNdkDir/boost/boost").renameTo("$thirdPartyNdkDir/boost/boost_1_63_0") + file("$thirdPartyNdkDir/boost/boost").renameTo("$thirdPartyNdkDir/boost/boost_${BOOST_VERSION}") } } task downloadDoubleConversion(dependsOn: createNativeDepsDirectories, type: Download) { - src 'https://github.com/google/double-conversion/archive/v1.1.6.tar.gz' + src "https://github.com/google/double-conversion/archive/v${DOUBLE_CONVERSION_VERSION}.tar.gz" onlyIfNewer true overwrite false - dest new File(downloadsDir, 'double-conversion-1.1.6.tar.gz') + dest new File(downloadsDir, "double-conversion-${DOUBLE_CONVERSION_VERSION}.tar.gz") } task prepareDoubleConversion(dependsOn: dependenciesPath ? [] : [downloadDoubleConversion], type: Copy) { from dependenciesPath ?: tarTree(downloadDoubleConversion.dest) from 'src/main/jni/third-party/double-conversion/Android.mk' - include 'double-conversion-1.1.6/src/**/*', 'Android.mk' + include "double-conversion-${DOUBLE_CONVERSION_VERSION}/src/**/*", 'Android.mk' filesMatching('*/src/**/*', {fname -> fname.path = "double-conversion/${fname.name}"}) includeEmptyDirs = false into "$thirdPartyNdkDir/double-conversion" } task downloadFolly(dependsOn: createNativeDepsDirectories, type: Download) { - src 'https://github.com/facebook/folly/archive/v2016.10.31.00.tar.gz' + src "https://github.com/facebook/folly/archive/v${FOLLY_VERSION}.tar.gz" onlyIfNewer true overwrite false - dest new File(downloadsDir, 'folly-2016.10.31.00.tar.gz'); + dest new File(downloadsDir, "folly-${FOLLY_VERSION}.tar.gz"); } task prepareFolly(dependsOn: dependenciesPath ? [] : [downloadFolly], type: Copy) { from dependenciesPath ?: tarTree(downloadFolly.dest) from 'src/main/jni/third-party/folly/Android.mk' - include 'folly-2016.10.31.00/folly/**/*', 'Android.mk' - eachFile {fname -> fname.path = (fname.path - "folly-2016.10.31.00/")} + include "folly-${FOLLY_VERSION}/folly/**/*", 'Android.mk' + eachFile {fname -> fname.path = (fname.path - "folly-${FOLLY_VERSION}/")} includeEmptyDirs = false into "$thirdPartyNdkDir/folly" } task downloadGlog(dependsOn: createNativeDepsDirectories, type: Download) { - src 'https://github.com/google/glog/archive/v0.3.5.tar.gz' + src "https://github.com/google/glog/archive/v${GLOG_VERSION}.tar.gz" onlyIfNewer true overwrite false - dest new File(downloadsDir, 'glog-0.3.5.tar.gz') + dest new File(downloadsDir, "glog-${GLOG_VERSION}.tar.gz") } // Prepare glog sources to be compiled, this task will perform steps that normally should've been @@ -100,7 +101,7 @@ task downloadGlog(dependsOn: createNativeDepsDirectories, type: Download) { task prepareGlog(dependsOn: dependenciesPath ? [] : [downloadGlog], type: Copy) { from dependenciesPath ?: tarTree(downloadGlog.dest) from 'src/main/jni/third-party/glog/' - include 'glog-0.3.5/src/**/*', 'Android.mk', 'config.h' + include "glog-${GLOG_VERSION}/src/**/*", 'Android.mk', 'config.h' includeEmptyDirs = false filesMatching('**/*.h.in') { filter(ReplaceTokens, tokens: [ diff --git a/ReactAndroid/gradle.properties b/ReactAndroid/gradle.properties index 35b82ce516f757..9c7f617ef1409a 100644 --- a/ReactAndroid/gradle.properties +++ b/ReactAndroid/gradle.properties @@ -13,3 +13,8 @@ FEST_ASSERT_CORE_VERSION=2.0M10 FRESCO_VERSION=1.10.0 OKHTTP_VERSION=3.10.0 + +BOOST_VERSION=1_63_0 +DOUBLE_CONVERSION_VERSION=1.1.6 +FOLLY_VERSION=2016.10.31.00 +GLOG_VERSION=0.3.5