Files
flipper/build.gradle
Pascal Hartig 8ccae8a7ac Upgrade Android build infra (#3095)
Summary:
This includes a bunch of different things which I wanted to do separately, but it's all a massive Jenga Tower and you cannot remove a single piece.

- Litho upgrade
- Gradle plugin upgrade
- Remove storage permission as it apparently doesn't do anything above Android 10
- Upgraded build target to Android 12 because the new support lib/Kotlin stdlib required this which then caused the issue below to pop up
- Added "export=true" everywhere as this is now a blocking issue if you don't have it
- Upgraded to the LeakCanary2 plugin as version one no longer builds with an Android 12 target for the export reason
- Make CI run on JRE 11 because that's required by the new Gradle plugin
- Update internal CI to no longer define the SDK twice and use Java 11

Pull Request resolved: https://github.com/facebook/flipper/pull/3095

Test Plan: Built Android Sample and Tutorial app, connected to Flipper.

Reviewed By: lblasa

Differential Revision: D32644410

Pulled By: passy

fbshipit-source-id: 8978f158d9c642b3bbd9dbbd7321eb20098a7a53
2021-11-25 12:21:59 -08:00

108 lines
4.8 KiB
Groovy

/*
* Copyright (c) Facebook, Inc. and its affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
buildscript {
repositories {
google()
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:7.0.3'
classpath 'com.vanniktech:gradle-maven-publish-plugin:0.18.0'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$KOTLIN_VERSION"
classpath "org.jetbrains.dokka:dokka-gradle-plugin:1.5.31"
}
}
plugins {
id 'de.undercouch.download' version '4.1.2'
id 'com.github.ben-manes.versions' version '0.39.0'
}
ext.isSnapshot = { VERSION_NAME.endsWith('-SNAPSHOT') }
ext.isRelease = { ['publish', 'publishToMavenLocal'].any { gradle.startParameter.taskNames.contains(it) } }
subprojects {
repositories {
google()
mavenLocal()
mavenCentral()
if (isSnapshot()) {
maven { url 'https://oss.sonatype.org/content/repositories/snapshots/' }
}
}
// We don't build Javadoc at this time.
tasks.withType(Javadoc).all {
enabled = false
}
}
ext {
minSdkVersion = 15
targetSdkVersion = 31
compileSdkVersion = 31
buildToolsVersion = '30.0.2'
ndkVersion = '23.0.7599858'
}
ext.deps = [
// Android support
supportAnnotations : "androidx.annotation:annotation:$ANDROIDX_VERSION",
supportAppCompat : "androidx.appcompat:appcompat:$ANDROIDX_VERSION",
supportCoreUi : "androidx.legacy:legacy-support-core-ui:$ANDROIDX_VERSION",
supportRecyclerView: "androidx.recyclerview:recyclerview:$ANDROIDX_VERSION",
supportConstraintLayout: "androidx.constraintlayout:constraintlayout:2.1.1",
supportSqlite : "androidx.sqlite:sqlite-framework:2.1.0",
supportEspresso : 'androidx.test.espresso:espresso-core:3.4.0',
supportEspressoIntents : 'androidx.test.espresso:espresso-intents:3.4.0',
supportTestRunner : 'androidx.test:runner:1.4.0',
// Arch
archPaging : 'android.arch.paging:runtime:1.0.1',
// First-party
soloader : 'com.facebook.soloader:soloader:0.10.3',
fbjni : 'com.facebook.fbjni:fbjni:0.3.0',
screenshot : 'com.facebook.testing.screenshot:core:0.14.0',
boltsTasks : 'com.parse.bolts:bolts-tasks:1.4.0',
websocket : 'org.java-websocket:Java-WebSocket:1.5.2',
// Annotations
jsr305 : 'com.google.code.findbugs:jsr305:3.0.2',
inferAnnotations : 'com.facebook.infer.annotation:infer-annotation:0.18.0',
proguardAnnotations: 'com.facebook.yoga:proguard-annotations:1.19.0',
// Litho
lithoAnnotations : "com.facebook.litho:litho-annotations:$LITHO_VERSION",
lithoCore : "com.facebook.litho:litho-core:$LITHO_VERSION",
lithoEditorCore : "com.facebook.litho:litho-editor-core:$LITHO_VERSION",
lithoEditorFlipper : "com.facebook.litho:litho-editor-flipper:$LITHO_VERSION",
lithoSectionsAnnotations: "com.facebook.litho:litho-sections-annotations:$LITHO_VERSION",
lithoSectionsDebug : "com.facebook.litho:litho-sections-debug:$LITHO_VERSION",
lithoSectionsCore : "com.facebook.litho:litho-sections-core:$LITHO_VERSION",
lithoSectionsWidget : "com.facebook.litho:litho-sections-widget:$LITHO_VERSION",
lithoWidget : "com.facebook.litho:litho-widget:$LITHO_VERSION",
lithoProcessor : "com.facebook.litho:litho-processor:$LITHO_VERSION",
lithoSectionsProcessor: "com.facebook.litho:litho-sections-processor:$LITHO_VERSION",
lithoFresco : "com.facebook.litho:litho-fresco:$LITHO_VERSION",
lithoTesting : "com.facebook.litho:litho-testing:$LITHO_VERSION",
// Debugging and testing
guava : 'com.google.guava:guava:23.0',
robolectric : 'org.robolectric:robolectric:4.5.1',
junit : 'junit:junit:4.13.2',
hamcrest : 'org.hamcrest:hamcrest-library:2.2',
mockito : 'org.mockito:mockito-core:4.0.0',
okhttp3 : 'com.squareup.okhttp3:okhttp:4.9.2',
leakcanary : 'com.squareup.leakcanary:leakcanary-android:1.6.3',
leakcanary2 : 'com.squareup.leakcanary:leakcanary-android:2.6',
protobuf : 'com.google.protobuf:protobuf-java:3.19.1',
testCore : 'androidx.test:core:1.4.0',
testRules : 'androidx.test:rules:1.4.0',
// Plugin dependencies
frescoFlipper : 'com.facebook.fresco:flipper:2.6.0',
frescoStetho : 'com.facebook.fresco:stetho:2.6.0',
fresco : 'com.facebook.fresco:fresco:2.6.0'
]