diff --git a/build.gradle b/build.gradle.kts similarity index 68% rename from build.gradle rename to build.gradle.kts index 00c9585b98..d295ea8af3 100644 --- a/build.gradle +++ b/build.gradle.kts @@ -21,19 +21,19 @@ // Top-level build file where you can add configuration options common to all sub-projects/modules. buildscript { - project.apply from: "${rootDir}/constants.gradle" + apply(from = "${rootDir}/constants.gradle") repositories { - maven { url "https://maven.pkg.jetbrains.space/public/p/kotlinx-html/maven" } + maven { url = uri("https://maven.pkg.jetbrains.space/public/p/kotlinx-html/maven") } mavenCentral() google() } dependencies { - classpath "com.android.tools.build:gradle:${project.ext.gradleVersion}" - classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:${project.ext.kotlinVersion}" - classpath "org.jetbrains.dokka:dokka-gradle-plugin:${project.ext.dokkaVersion}" - classpath 'org.jacoco:org.jacoco.core:0.8.7' + classpath(Plugins.android_gradle) + classpath(Plugins.kotlin_gradle) + classpath(Plugins.dokka) + classpath(Libs.jacoco_core) } } @@ -41,9 +41,9 @@ allprojects { repositories { mavenCentral() google() - maven { url "https://maven.pkg.jetbrains.space/public/p/kotlinx-html/maven" } - maven { url 'https://jitpack.io' } + maven { url = uri("https://maven.pkg.jetbrains.space/public/p/kotlinx-html/maven") } + maven { url = uri("https://jitpack.io") } } - project.apply from: "${rootDir}/constants.gradle" + apply(from = "${rootDir}/constants.gradle") } diff --git a/buildSrc/build.gradle.kts b/buildSrc/build.gradle.kts new file mode 100644 index 0000000000..181a98709a --- /dev/null +++ b/buildSrc/build.gradle.kts @@ -0,0 +1,9 @@ +import org.gradle.kotlin.dsl.`kotlin-dsl` + +plugins { + `kotlin-dsl` +} + +repositories { + mavenCentral() +} diff --git a/buildSrc/src/main/kotlin/Dependencies.kt b/buildSrc/src/main/kotlin/Dependencies.kt new file mode 100644 index 0000000000..7c90e5fec2 --- /dev/null +++ b/buildSrc/src/main/kotlin/Dependencies.kt @@ -0,0 +1,121 @@ +object Config { + const val minSdk = 15 + const val compileSdk = 29 + const val targetSdk = 29 +} + +object Versions { + const val acra = "5.5.0" + const val analytics = "4.+" + const val android_billingclient = "3.0.0" + const val android_installreferrer = "1.0" // there are issues with 1.1 regarding permissions, asks for unnecessary permissions + const val androidx = "1.1.0" + const val androidxActivity = "1.2.0" + const val androidxAnnotation = "1.1.0" + const val androidxBrowser = "1.0.0" + const val androidxCardview = "1.0.0" + const val androidxConstraintLayout = "1.1.3" + const val androidxCore = "1.0.0" + const val androidxCoreKtx = "1.3.2" + const val androidxEspressoCore = "3.1.0" + const val androidxFragment = "1.3.0" + const val androidxLegacy = "1.0.0" + const val androidxTest = "1.0.0" + const val assertj = "3.15.0" + const val dexmaker = "1.2" + const val dokka = "1.4.30" + const val firebaseBom = "29.3.1" + const val firebaseMessaging = "23.0.3" + const val fresco = "2.6.0" + const val glide = "4.13.0" + const val googleServices = "4.3.5" + const val gradle = "4.2.0" // Android gradle plugin version + const val gson = "2.8.8" + const val guava = "18.0" + const val junit = "4.13" + const val jacoco = "0.8.7" + const val json = "20180130" + const val kotlin = "1.5.10" + const val leakcanaryAndroid = "2.8.1" + const val liquidcore = "0.6.2" + const val material = "1.0.0" + const val mockitoInline = "2.26.0" + const val mockitoKotlin = "2.2.0" + const val mockwebserver = "4.9.0" + const val playServicesAuth = "16.0.0" + const val playServicesGcm = "17.0.0" + const val powerMock = "2.0.2" + const val robolectric = "4.4" + const val stetho = "1.5.0" + const val testng = "6.9.6" + const val zxing = "3.3.3" +} + +object Plugins { + const val android_gradle = "com.android.tools.build:gradle:${Versions.gradle}" + const val kotlin_gradle = "org.jetbrains.kotlin:kotlin-gradle-plugin:${Versions.kotlin}" + const val dokka = "org.jetbrains.dokka:dokka-gradle-plugin:${Versions.dokka}" + const val google_services = "com.google.gms:google-services:${Versions.googleServices}" +} + +object Libs { + + // android + const val android_billingclient = "com.android.billingclient:billing:${Versions.android_billingclient}" + const val android_installreferrer = "com.android.installreferrer:installreferrer:${Versions.android_installreferrer}" //https://developer.android.com/google/play/installreferrer/library.html#java + const val androidx_activity = "androidx.activity:activity:${Versions.androidxActivity}" + const val androidx_annotation = "androidx.annotation:annotation:${Versions.androidxAnnotation}" + const val androidx_appcompat = "androidx.appcompat:appcompat:${Versions.androidx}" + const val androidx_browser = "androidx.browser:browser:${Versions.androidxBrowser}" + const val androidx_cardview = "androidx.cardview:cardview:${Versions.androidxCardview}" + const val androidx_constraintlayout = "androidx.constraintlayout:constraintlayout:${Versions.androidxConstraintLayout}" + const val androidx_core = "androidx.core:core:${Versions.androidxCore}" + const val androidx_core_ktx = "androidx.core:core-ktx:${Versions.androidxCoreKtx}" + const val androidx_espresso_core = "androidx.test.espresso:espresso-core:${Versions.androidxEspressoCore}" + const val androidx_fragment = "androidx.fragment:fragment:${Versions.androidxFragment}" + const val androidx_legacy_support_v4 = "androidx.legacy:legacy-support-v4:${Versions.androidxLegacy}" + const val androidx_legacy_support_core_utils = "androidx.legacy:legacy-support-core-utils:${Versions.androidxLegacy}" + const val androidx_recyclerview = "androidx.recyclerview:recyclerview:${Versions.androidx}" + const val androidx_test_core = "androidx.test:core:${Versions.androidxTest}" + + // google + const val dexmaker = "com.google.dexmaker:dexmaker:${Versions.dexmaker}" + const val dexmaker_mockito = "com.google.dexmaker:dexmaker-mockito:${Versions.dexmaker}" + const val firebase_bom = "com.google.firebase:firebase-bom:${Versions.firebaseBom}" + const val firebase_analytics = "com.google.firebase:firebase-analytics" + const val firebase_messaging = "com.google.firebase:firebase-messaging:${Versions.firebaseMessaging}" + const val gson = "com.google.code.gson:gson:${Versions.gson}" + const val guava = "com.google.guava:guava:${Versions.guava}" + const val material = "com.google.android.material:material:${Versions.material}" + const val play_services_auth = "com.google.android.gms:play-services-auth:${Versions.playServicesAuth}" + const val play_services_gcm = "com.google.android.gms:play-services-gcm:${Versions.playServicesGcm}" + const val zxing = "com.google.zxing:core:${Versions.zxing}" + + // 1st-party + const val fresco = "com.facebook.fresco:fresco:${Versions.fresco}" + const val stetho = "com.facebook.stetho:stetho:${Versions.stetho}" + + const val acra = "ch.acra:acra-mail:${Versions.acra}" + const val analytics = "com.segment.analytics.android:analytics:${Versions.analytics}" + const val assertj_core = "org.assertj:assertj-core:${Versions.assertj}" + const val glide = "com.github.bumptech.glide:glide:${Versions.glide}" + const val glide_compiler = "com.github.bumptech.glide:compiler:${Versions.glide}" + const val jacoco_core = "org.jacoco:org.jacoco.core:${Versions.jacoco}" + const val json = "org.json:json:${Versions.json}" + const val junit = "junit:junit:${Versions.junit}" + const val kotlin_stdlib = "org.jetbrains.kotlin:kotlin-stdlib:${Versions.kotlin}" + const val kotlin_stdlib_jdk7 = "org.jetbrains.kotlin:kotlin-stdlib-jdk7:${Versions.kotlin}" + const val kotlin_test_junit = "org.jetbrains.kotlin:kotlin-test-junit:${Versions.kotlin}" + const val leakcanary_android = "com.squareup.leakcanary:leakcanary-android:${Versions.leakcanaryAndroid}" + const val liquidcore = "com.github.LiquidPlayer:LiquidCore:${Versions.liquidcore}" + const val mockito_inline = "org.mockito:mockito-inline:${Versions.mockitoInline}" + const val mockito_kotlin = "com.nhaarman.mockitokotlin2:mockito-kotlin:${Versions.mockitoKotlin}" + const val mockwebserver = "com.squareup.okhttp3:mockwebserver:${Versions.mockwebserver}" + const val powermock_core = "org.powermock:powermock-core:${Versions.powerMock}" + const val powermock_api_mockito2 = "org.powermock:powermock-api-mockito2:${Versions.powerMock}" + const val powermock_junit4 = "org.powermock:powermock-module-junit4:${Versions.powerMock}" + const val powermock_junit4_rule = "org.powermock:powermock-module-junit4-rule:${Versions.powerMock}" + const val powermock_classloading_xstream = "org.powermock:powermock-classloading-xstream:${Versions.powerMock}" + const val robolectric = "org.robolectric:robolectric:${Versions.robolectric}" + const val testng = "org.testng:testng:${Versions.testng}" +} diff --git a/facebook-applinks/build.gradle b/facebook-applinks/build.gradle index 1df387503b..f0b64f8d09 100644 --- a/facebook-applinks/build.gradle +++ b/facebook-applinks/build.gradle @@ -32,16 +32,16 @@ dependencies { // Facebook Dependencies api project(':facebook-core') // Support Dependencies - implementation "androidx.annotation:annotation:${project.ext.androidxAnnotationVersion}" - implementation "androidx.legacy:legacy-support-core-utils:${project.ext.androidxLegacyVersion}" + implementation(Libs.androidx_annotation) + implementation(Libs.androidx_legacy_support_core_utils) } android { - compileSdkVersion project.ext.compileSdk + compileSdkVersion(Config.compileSdk) defaultConfig { - minSdkVersion project.ext.minSdk - targetSdkVersion project.ext.targetSdk + minSdkVersion(Config.minSdk) + targetSdkVersion(Config.targetSdk) consumerProguardFiles 'proguard-rules.pro' } diff --git a/facebook-bolts/build.gradle b/facebook-bolts/build.gradle index 3efe6b8931..ec6ca68bda 100644 --- a/facebook-bolts/build.gradle +++ b/facebook-bolts/build.gradle @@ -29,45 +29,40 @@ project.ext.description = 'Facebook Android SDK Bolts support library' project.ext.url = 'https://github.com/facebook/facebook-android-sdk' dependencies { - def kotlin_ver = project.ext.kotlinVersion - - implementation "androidx.annotation:annotation:${project.ext.androidxVersion}" - implementation "androidx.core:core-ktx:1.3.2" - implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_ver" + implementation(Libs.androidx_annotation) + implementation(Libs.androidx_core_ktx) + implementation(Libs.kotlin_stdlib) // Unit Tests testImplementation project(":facebook-testutil") - testImplementation "junit:junit:$junitVersion" - testImplementation 'org.robolectric:robolectric:4.4' - testImplementation 'androidx.test:core:1.0.0' - - testImplementation "org.mockito:mockito-inline:2.26.0" - testImplementation "org.mockito.kotlin:mockito-kotlin:2.2.11" - - def powerMockVersion = '2.0.2' - testImplementation "org.powermock:powermock-core:$powerMockVersion" - testImplementation "org.powermock:powermock-api-mockito2:$powerMockVersion" - testImplementation "org.powermock:powermock-module-junit4:$powerMockVersion" - testImplementation "org.powermock:powermock-module-junit4-rule:$powerMockVersion" - testImplementation "org.powermock:powermock-classloading-xstream:$powerMockVersion" - testImplementation 'org.assertj:assertj-core:3.15.0' - - testImplementation "com.android.installreferrer:installreferrer:1.0" - testImplementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_ver" - testImplementation "org.jetbrains.kotlin:kotlin-test-junit:$kotlin_ver" - + testImplementation(Libs.junit) + testImplementation(Libs.robolectric) + testImplementation(Libs.androidx_test_core) + testImplementation(Libs.mockito_inline) + testImplementation(Libs.mockito_kotlin) + + testImplementation(Libs.powermock_core) + testImplementation(Libs.powermock_api_mockito2) + testImplementation(Libs.powermock_junit4) + testImplementation(Libs.powermock_junit4_rule) + testImplementation(Libs.powermock_classloading_xstream) + testImplementation(Libs.assertj_core) + + testImplementation(Libs.android_installreferrer) + testImplementation(Libs.kotlin_stdlib) + testImplementation(Libs.kotlin_test_junit) } android { - compileSdkVersion project.ext.compileSdk + compileSdkVersion(Config.compileSdk) // The version of Jacoco used by the android gradle plugin jacoco { version "0.8.7" } defaultConfig { - minSdkVersion project.ext.minSdk - targetSdkVersion project.ext.targetSdk + minSdkVersion(Config.minSdk) + targetSdkVersion(Config.targetSdk) consumerProguardFiles 'proguard-rules.pro' } diff --git a/facebook-common/build.gradle b/facebook-common/build.gradle index 95f1196e5c..f59935a1b0 100644 --- a/facebook-common/build.gradle +++ b/facebook-common/build.gradle @@ -29,56 +29,53 @@ project.ext.description = 'Facebook Common Android SDK' project.ext.url = 'https://github.com/facebook/facebook-android-sdk' dependencies { - def kotlin_ver = project.ext.kotlinVersion // Facebook Dependencies api project(':facebook-core') // Support Dependencies - api "androidx.legacy:legacy-support-v4:${project.ext.androidxLegacyVersion}" - implementation "androidx.appcompat:appcompat:${project.ext.androidxVersion}" - implementation "androidx.cardview:cardview:${project.ext.androidxCardviewVersion}" - implementation "androidx.browser:browser:${project.ext.androidxBrowserVersion}" - implementation("androidx.activity:activity:${project.ext.androidxActivityVersion}") - implementation("androidx.fragment:fragment:${project.ext.androidxFragmentVersion}") + api(Libs.androidx_legacy_support_v4) + implementation(Libs.androidx_appcompat) + implementation(Libs.androidx_cardview) + implementation(Libs.androidx_browser) + implementation(Libs.androidx_activity) + implementation(Libs.androidx_fragment) // Third-party Dependencies - implementation 'com.google.zxing:core:3.3.3' + implementation(Libs.zxing) - implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_ver" + implementation(Libs.kotlin_stdlib) // Unit Tests testImplementation project(":facebook-testutil") - testImplementation "junit:junit:$junitVersion" - testImplementation 'org.robolectric:robolectric:4.4' - testImplementation 'androidx.test:core:1.0.0' - - testImplementation "org.mockito:mockito-inline:2.26.0" - testImplementation "org.mockito.kotlin:mockito-kotlin:2.2.11" - - def powerMockVersion = '2.0.2' - testImplementation "org.powermock:powermock-core:$powerMockVersion" - testImplementation "org.powermock:powermock-api-mockito2:$powerMockVersion" - testImplementation "org.powermock:powermock-module-junit4:$powerMockVersion" - testImplementation "org.powermock:powermock-module-junit4-rule:$powerMockVersion" - testImplementation "org.powermock:powermock-classloading-xstream:$powerMockVersion" - testImplementation 'org.assertj:assertj-core:3.15.0' - - - testImplementation "com.android.installreferrer:installreferrer:1.0" - testImplementation "org.jetbrains.kotlin:kotlin-test-junit:$kotlin_ver" + testImplementation(Libs.junit) + testImplementation(Libs.robolectric) + testImplementation(Libs.androidx_test_core) + testImplementation(Libs.mockito_inline) + testImplementation(Libs.mockito_kotlin) + + testImplementation(Libs.powermock_core) + testImplementation(Libs.powermock_api_mockito2) + testImplementation(Libs.powermock_junit4) + testImplementation(Libs.powermock_junit4_rule) + testImplementation(Libs.powermock_classloading_xstream) + testImplementation(Libs.assertj_core) + + testImplementation(Libs.android_installreferrer) + testImplementation(Libs.kotlin_test_junit) } android { - compileSdkVersion project.ext.compileSdk + compileSdkVersion(Config.compileSdk) // The version of Jacoco used by the android gradle plugin jacoco { version "0.8.7" } defaultConfig { - minSdkVersion project.ext.minSdk - targetSdkVersion project.ext.targetSdk + minSdkVersion(Config.minSdk) + targetSdkVersion(Config.targetSdk) consumerProguardFiles 'proguard-rules.pro' vectorDrawables.useSupportLibrary = true + multiDexEnabled = true } aaptOptions { diff --git a/facebook-core/build.gradle b/facebook-core/build.gradle index efeff80fb7..252d46076f 100644 --- a/facebook-core/build.gradle +++ b/facebook-core/build.gradle @@ -29,54 +29,50 @@ project.ext.description = 'Facebook Core Android SDK' project.ext.url = 'https://github.com/facebook/facebook-android-sdk' dependencies { - def kotlin_ver = project.ext.kotlinVersion api project(':facebook-bolts') // Support Dependencies - implementation "androidx.annotation:annotation:${project.ext.androidxVersion}" - implementation "androidx.legacy:legacy-support-core-utils:${project.ext.androidxLegacyVersion}" + implementation(Libs.androidx_annotation) + implementation(Libs.androidx_legacy_support_core_utils) - //https://developer.android.com/google/play/installreferrer/library.html#java - implementation 'com.android.installreferrer:installreferrer:1.0' //there are issues with 1.1 regarding permissions, asks for unnecessary permissions - implementation "androidx.core:core-ktx:1.3.2" - implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_ver" + implementation(Libs.android_installreferrer) + implementation(Libs.androidx_core_ktx) + implementation(Libs.kotlin_stdlib) // Unit Tests testImplementation project(":facebook-testutil") - testImplementation "junit:junit:$junitVersion" - testImplementation 'org.robolectric:robolectric:4.4' - testImplementation 'androidx.test:core:1.0.0' - - testImplementation "org.mockito:mockito-inline:2.26.0" - testImplementation "org.mockito.kotlin:mockito-kotlin:2.2.11" - - def powerMockVersion = '2.0.2' - testImplementation "org.powermock:powermock-core:$powerMockVersion" - testImplementation "org.powermock:powermock-api-mockito2:$powerMockVersion" - testImplementation "org.powermock:powermock-module-junit4:$powerMockVersion" - testImplementation "org.powermock:powermock-module-junit4-rule:$powerMockVersion" - testImplementation "org.powermock:powermock-classloading-xstream:$powerMockVersion" - testImplementation 'org.assertj:assertj-core:3.15.0' - - testImplementation 'com.squareup.okhttp3:mockwebserver:4.9.0' - - testImplementation "com.android.installreferrer:installreferrer:1.0" - testImplementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_ver" - testImplementation "org.jetbrains.kotlin:kotlin-test-junit:$kotlin_ver" - testImplementation 'com.google.android.gms:play-services-gcm:17.0.0' - + testImplementation(Libs.junit) + testImplementation(Libs.robolectric) + testImplementation(Libs.androidx_test_core) + + testImplementation(Libs.mockito_inline) + testImplementation(Libs.mockito_kotlin) + + testImplementation(Libs.powermock_core) + testImplementation(Libs.powermock_api_mockito2) + testImplementation(Libs.powermock_junit4) + testImplementation(Libs.powermock_junit4_rule) + testImplementation(Libs.powermock_classloading_xstream) + testImplementation(Libs.assertj_core) + + testImplementation(Libs.mockwebserver) + + testImplementation(Libs.android_installreferrer) + testImplementation(Libs.kotlin_stdlib) + testImplementation(Libs.kotlin_test_junit) + testImplementation(Libs.play_services_gcm) } android { - compileSdkVersion project.ext.compileSdk + compileSdkVersion(Config.compileSdk) // The version of Jacoco used by the android gradle plugin jacoco { version "0.8.7" } defaultConfig { - minSdkVersion project.ext.minSdk - targetSdkVersion project.ext.targetSdk + minSdkVersion(Config.minSdk) + targetSdkVersion(Config.targetSdk) consumerProguardFiles 'proguard-rules.pro' multiDexEnabled true } diff --git a/facebook-gamingservices/build.gradle b/facebook-gamingservices/build.gradle index ba6f514711..f5e63084ed 100644 --- a/facebook-gamingservices/build.gradle +++ b/facebook-gamingservices/build.gradle @@ -30,48 +30,46 @@ project.ext.description = 'Facebook Gaming Services Android SDK' project.ext.url = 'https://github.com/facebook/facebook-android-sdk' dependencies { - def kotlin_ver = project.ext.kotlinVersion // Facebook Dependencies api project(':facebook-core') api project(':facebook-common') api project(':facebook-share') - implementation "androidx.core:core-ktx:1.3.2" - implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_ver" - implementation "com.google.code.gson:gson:2.8.8" + implementation(Libs.androidx_core_ktx) + implementation(Libs.kotlin_stdlib) + implementation(Libs.gson) // Unit Tests testImplementation project(":facebook-testutil") - testImplementation "junit:junit:$junitVersion" - testImplementation 'org.robolectric:robolectric:4.4' - testImplementation 'androidx.test:core:1.0.0' - - testImplementation "org.mockito:mockito-inline:2.26.0" - testImplementation "org.mockito.kotlin:mockito-kotlin:2.2.11" - - def powerMockVersion = '2.0.2' - testImplementation "org.powermock:powermock-core:$powerMockVersion" - testImplementation "org.powermock:powermock-api-mockito2:$powerMockVersion" - testImplementation "org.powermock:powermock-module-junit4:$powerMockVersion" - testImplementation "org.powermock:powermock-module-junit4-rule:$powerMockVersion" - testImplementation "org.powermock:powermock-classloading-xstream:$powerMockVersion" - testImplementation 'org.assertj:assertj-core:3.15.0' - - testImplementation "com.android.installreferrer:installreferrer:1.0" - testImplementation "org.jetbrains.kotlin:kotlin-test-junit:$kotlin_ver" + implementation(Libs.junit) + implementation(Libs.robolectric) + implementation(Libs.androidx_test_core) + + implementation(Libs.mockito_inline) + implementation(Libs.mockito_kotlin) + + testImplementation(Libs.powermock_core) + testImplementation(Libs.powermock_api_mockito2) + testImplementation(Libs.powermock_junit4) + testImplementation(Libs.powermock_junit4_rule) + testImplementation(Libs.powermock_classloading_xstream) + testImplementation(Libs.assertj_core) + + testImplementation(Libs.android_installreferrer) + testImplementation(Libs.kotlin_test_junit) } android { - compileSdkVersion project.ext.compileSdk + compileSdkVersion(Config.compileSdk) // The version of Jacoco used by the android gradle plugin jacoco { version "0.8.7" } defaultConfig { - minSdkVersion project.ext.minSdk - targetSdkVersion project.ext.targetSdk + minSdkVersion(Config.minSdk) + targetSdkVersion(Config.targetSdk) consumerProguardFiles 'proguard-rules.pro' vectorDrawables.useSupportLibrary = true } diff --git a/facebook-login/build.gradle b/facebook-login/build.gradle index ec52d0b465..df31f65397 100644 --- a/facebook-login/build.gradle +++ b/facebook-login/build.gradle @@ -29,22 +29,21 @@ project.ext.description = 'Facebook Login Android SDK' project.ext.url = 'https://github.com/facebook/facebook-android-sdk' dependencies { - def kotlin_ver = project.ext.kotlinVersion // Facebook Dependencies api project(':facebook-core') api project(':facebook-common') // Support Dependencies - implementation "androidx.appcompat:appcompat:${project.ext.androidxVersion}" + implementation(Libs.androidx_appcompat) - implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_ver" + implementation(Libs.kotlin_stdlib) } android { - compileSdkVersion project.ext.compileSdk + compileSdkVersion(Config.compileSdk) defaultConfig { - minSdkVersion project.ext.minSdk - targetSdkVersion project.ext.targetSdk + minSdkVersion(Config.minSdk) + targetSdkVersion(Config.targetSdk) consumerProguardFiles 'proguard-rules.pro' vectorDrawables.useSupportLibrary = true } diff --git a/facebook-messenger/build.gradle b/facebook-messenger/build.gradle index 806b116e86..2be5bac703 100644 --- a/facebook-messenger/build.gradle +++ b/facebook-messenger/build.gradle @@ -34,11 +34,11 @@ dependencies { } android { - compileSdkVersion project.ext.compileSdk + compileSdkVersion(Config.compileSdk) defaultConfig { - minSdkVersion project.ext.minSdk - targetSdkVersion project.ext.targetSdk + minSdkVersion(Config.minSdk) + targetSdkVersion(Config.targetSdk) consumerProguardFiles 'proguard-rules.pro' vectorDrawables.useSupportLibrary = true } diff --git a/facebook-share/build.gradle b/facebook-share/build.gradle index e4bb5aa332..e4129df883 100644 --- a/facebook-share/build.gradle +++ b/facebook-share/build.gradle @@ -32,15 +32,15 @@ dependencies { // Facebook Dependencies api project(':facebook-core') api project(':facebook-common') - implementation "androidx.appcompat:appcompat:${project.ext.androidxVersion}" + implementation(Libs.androidx_appcompat) } android { - compileSdkVersion project.ext.compileSdk + compileSdkVersion(Config.compileSdk) defaultConfig { - minSdkVersion project.ext.minSdk - targetSdkVersion project.ext.targetSdk + minSdkVersion(Config.minSdk) + targetSdkVersion(Config.targetSdk) consumerProguardFiles 'proguard-rules.pro' vectorDrawables.useSupportLibrary = true } diff --git a/facebook-testutil/build.gradle b/facebook-testutil/build.gradle index 6df20766b4..1f52b8d638 100644 --- a/facebook-testutil/build.gradle +++ b/facebook-testutil/build.gradle @@ -29,40 +29,36 @@ project.ext.description = 'Facebook Android SDK Testutil' project.ext.url = 'https://github.com/facebook/facebook-android-sdk' dependencies { - def kotlin_ver = project.ext.kotlinVersion - - implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_ver" - implementation "androidx.annotation:annotation:${project.ext.androidxVersion}" - implementation "androidx.core:core-ktx:1.3.2" - implementation "junit:junit:$junitVersion" - implementation "androidx.legacy:legacy-support-core-utils:${project.ext.androidxLegacyVersion}" + implementation(Libs.kotlin_stdlib) + implementation(Libs.androidx_annotation) + implementation(Libs.androidx_core_ktx) + implementation(Libs.androidx_legacy_support_core_utils) // Unit Tests - implementation "junit:junit:$junitVersion" - implementation 'org.robolectric:robolectric:4.4' - implementation 'androidx.test:core:1.0.0' - - implementation "org.mockito:mockito-inline:2.26.0" - implementation "org.mockito.kotlin:mockito-kotlin:2.2.11" - - def powerMockVersion = '2.0.2' - implementation "org.powermock:powermock-core:$powerMockVersion" - implementation "org.powermock:powermock-api-mockito2:$powerMockVersion" - implementation "org.powermock:powermock-module-junit4:$powerMockVersion" - implementation "org.powermock:powermock-module-junit4-rule:$powerMockVersion" - implementation "org.powermock:powermock-classloading-xstream:$powerMockVersion" - implementation 'org.assertj:assertj-core:3.15.0' - - implementation "com.android.installreferrer:installreferrer:1.0" - implementation "org.jetbrains.kotlin:kotlin-test-junit:$kotlin_ver" + implementation(Libs.junit) + implementation(Libs.robolectric) + implementation(Libs.androidx_test_core) + + implementation(Libs.mockito_inline) + implementation(Libs.mockito_kotlin) + + implementation(Libs.powermock_core) + implementation(Libs.powermock_api_mockito2) + implementation(Libs.powermock_junit4) + implementation(Libs.powermock_junit4_rule) + implementation(Libs.powermock_classloading_xstream) + implementation(Libs.assertj_core) + + implementation(Libs.android_installreferrer) + implementation(Libs.kotlin_test_junit) } android { - compileSdkVersion project.ext.compileSdk + compileSdkVersion(Config.compileSdk) defaultConfig { - minSdkVersion project.ext.minSdk - targetSdkVersion project.ext.targetSdk + minSdkVersion(Config.minSdk) + targetSdkVersion(Config.targetSdk) vectorDrawables.useSupportLibrary = true } diff --git a/facebook/build.gradle b/facebook/build.gradle index c6b687e5a3..83d3fead01 100644 --- a/facebook/build.gradle +++ b/facebook/build.gradle @@ -18,9 +18,11 @@ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -apply plugin: 'com.android.library' -apply plugin: 'kotlin-android' -apply plugin: 'org.jetbrains.dokka' +plugins { + id("com.android.library") + id("kotlin-android") + id("org.jetbrains.dokka") +} project.group 'com.facebook.android' @@ -30,8 +32,6 @@ project.ext.description = 'Facebook Android SDK' project.ext.url = 'https://github.com/facebook/facebook-android-sdk' dependencies { - def kotlin_ver = project.ext.kotlinVersion - // Facebook Dependencies api project(':facebook-core') api project(':facebook-common') @@ -42,38 +42,37 @@ dependencies { api project(":facebook-gamingservices") testImplementation project(":facebook-testutil") - implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_ver" + implementation(Libs.kotlin_stdlib) + // Unit Tests - testImplementation "junit:junit:$junitVersion" - testImplementation 'org.robolectric:robolectric:4.4' - testImplementation 'androidx.test:core:1.0.0' + testImplementation(Libs.junit) + testImplementation(Libs.robolectric) + testImplementation(Libs.androidx_test_core) - testImplementation "org.mockito:mockito-inline:2.26.0" - testImplementation "org.mockito.kotlin:mockito-kotlin:2.2.11" + testImplementation(Libs.mockito_inline) + testImplementation(Libs.mockito_kotlin) - def powerMockVersion = '2.0.2' - testImplementation "org.powermock:powermock-core:$powerMockVersion" - testImplementation "org.powermock:powermock-api-mockito2:$powerMockVersion" - testImplementation "org.powermock:powermock-module-junit4:$powerMockVersion" - testImplementation "org.powermock:powermock-module-junit4-rule:$powerMockVersion" - testImplementation "org.powermock:powermock-classloading-xstream:$powerMockVersion" - testImplementation 'org.assertj:assertj-core:3.15.0' + testImplementation(Libs.powermock_core) + testImplementation(Libs.powermock_api_mockito2) + testImplementation(Libs.powermock_junit4) + testImplementation(Libs.powermock_junit4_rule) + testImplementation(Libs.powermock_classloading_xstream) + testImplementation(Libs.assertj_core) // Connected Tests - androidTestImplementation 'org.mockito:mockito-core:3.2.4' - androidTestImplementation 'com.google.dexmaker:dexmaker:1.2' - androidTestImplementation 'com.google.dexmaker:dexmaker-mockito:1.2' + androidTestImplementation(Libs.dexmaker) + androidTestImplementation(Libs.dexmaker_mockito) - testImplementation "com.android.installreferrer:installreferrer:1.0" - testImplementation "org.jetbrains.kotlin:kotlin-test-junit:$kotlin_ver" + testImplementation(Libs.android_installreferrer) + testImplementation(Libs.kotlin_test_junit) } android { - compileSdkVersion project.ext.compileSdk + compileSdkVersion(Config.compileSdk) defaultConfig { - minSdkVersion project.ext.minSdk - targetSdkVersion project.ext.targetSdk + minSdkVersion(Config.minSdk) + targetSdkVersion(Config.targetSdk) consumerProguardFiles 'proguard-project.txt' vectorDrawables.useSupportLibrary = true } diff --git a/samples/FBLoginSample/build.gradle b/samples/FBLoginSample/build.gradle index b6fd82294a..a72d6d91bf 100644 --- a/samples/FBLoginSample/build.gradle +++ b/samples/FBLoginSample/build.gradle @@ -21,11 +21,11 @@ apply plugin: 'com.android.application' android { - compileSdkVersion project.ext.compileSdk + compileSdkVersion(Config.compileSdk) defaultConfig { applicationId "com.facebook.fbloginsample" - minSdkVersion project.ext.minSdk - targetSdkVersion project.ext.targetSdk + minSdkVersion(Config.minSdk) + targetSdkVersion(Config.targetSdk) versionCode 1 versionName "0.1" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" @@ -60,13 +60,13 @@ android { dependencies { implementation fileTree(dir: 'libs', include: ['*.jar']) implementation project(':facebook') - implementation 'com.facebook.fresco:fresco:2.6.0' - implementation "androidx.appcompat:appcompat:${project.ext.androidxVersion}" - implementation "androidx.annotation:annotation:${project.ext.androidxVersion}" - implementation 'com.google.android.material:material:1.4.0' + implementation(Libs.fresco) + implementation(Libs.androidx_appcompat) + implementation(Libs.androidx_annotation) + implementation("com.google.android.material:material:1.4.0") - androidTestImplementation('androidx.test.espresso:espresso-core:3.1.0', { + androidTestImplementation(Libs.androidx_espresso_core, { exclude group: 'androidx.annotation', module: 'annotation' }) - testImplementation "junit:junit:$junitVersion" + testImplementation(Libs.junit) } diff --git a/samples/HelloFacebookSample/build.gradle b/samples/HelloFacebookSample/build.gradle index 95f702a041..8892730a39 100644 --- a/samples/HelloFacebookSample/build.gradle +++ b/samples/HelloFacebookSample/build.gradle @@ -27,12 +27,12 @@ dependencies { } android { - compileSdkVersion project.ext.compileSdk + compileSdkVersion(Config.compileSdk) defaultConfig { applicationId 'com.example.hellofacebook' - minSdkVersion project.ext.minSdk - targetSdkVersion project.ext.targetSdk + minSdkVersion(Config.minSdk) + targetSdkVersion(Config.targetSdk) } lintOptions {