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
108 lines
4.8 KiB
Groovy
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'
|
|
]
|