Summary: Tracks images in disk cache. It seems performant even with 500+ images in disk cache. Sidebar displays the local path for an image when that image is selected. Shows total size of images in disk cache. 'Clear Cache' clears the disk cache. For now we unpack the async cache request in the plugin, should implement a `getSync()` method on `bufferedDiskCache` in the future. For some reason Flipper doesn't work with a blocking call (https://fburl.com/smj0s4li). Reviewed By: defHLT Differential Revision: D20001062 fbshipit-source-id: 1e7a7900e9f42d05e3bf30472e57cd643caa5aca
123 lines
3.1 KiB
Groovy
123 lines
3.1 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.
|
|
*/
|
|
|
|
apply plugin: 'com.android.library'
|
|
apply plugin: 'maven'
|
|
|
|
android {
|
|
compileSdkVersion rootProject.compileSdkVersion
|
|
buildToolsVersion rootProject.buildToolsVersion
|
|
// Uncomment this and enable the database plugin test when roboelectric is upgraded
|
|
// testOptions.unitTests.includeAndroidResources = true
|
|
|
|
defaultConfig {
|
|
minSdkVersion rootProject.minSdkVersion
|
|
targetSdkVersion rootProject.targetSdkVersion
|
|
buildConfigField "boolean", "IS_INTERNAL_BUILD", 'true'
|
|
buildConfigField "boolean", "IS_ASAN_BUILD", 'false'
|
|
|
|
ndk {
|
|
abiFilters 'x86', 'x86_64', 'armeabi-v7a', 'arm64-v8a'
|
|
}
|
|
|
|
externalNativeBuild {
|
|
cmake {
|
|
arguments '-DANDROID_TOOLCHAIN=clang', '-DANDROID_STL=c++_static'
|
|
targets 'flipper', 'event_shared', 'event_extra_shared', 'event_core_shared'
|
|
}
|
|
}
|
|
}
|
|
|
|
lintOptions {
|
|
abortOnError false
|
|
}
|
|
|
|
configurations {
|
|
extractHeaders
|
|
extractJNI
|
|
}
|
|
|
|
sourceSets {
|
|
test {
|
|
java {
|
|
exclude 'com/facebook/flipper/plugins/facebook/**'
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
externalNativeBuild {
|
|
cmake {
|
|
path './CMakeLists.txt'
|
|
}
|
|
}
|
|
|
|
dependencies {
|
|
compileOnly deps.proguardAnnotations
|
|
implementation 'com.facebook.fbjni:fbjni:0.0.2'
|
|
extractHeaders 'com.facebook.fbjni:fbjni:0.0.2:headers'
|
|
extractJNI 'com.facebook.fbjni:fbjni:0.0.2'
|
|
implementation deps.soloader
|
|
implementation deps.jsr305
|
|
implementation deps.supportAppCompat
|
|
|
|
testImplementation deps.mockito
|
|
testImplementation deps.robolectric
|
|
testImplementation deps.testCore
|
|
testImplementation deps.testRules
|
|
testImplementation deps.hamcrest
|
|
testImplementation deps.junit
|
|
|
|
api 'com.parse.bolts:bolts-tasks:1.4.0'
|
|
api 'com.parse.bolts:bolts-applinks:1.4.0'
|
|
}
|
|
}
|
|
|
|
preBuild.dependsOn(tasks.getByPath(':third-party:prepare'))
|
|
|
|
apply from: rootProject.file('gradle/release.gradle')
|
|
|
|
task sourcesJar(type: Jar) {
|
|
from android.sourceSets.main.java.srcDirs
|
|
classifier = 'sources'
|
|
}
|
|
|
|
artifacts.add('archives', sourcesJar)
|
|
|
|
task extractAARHeaders {
|
|
doLast {
|
|
configurations.extractHeaders.files.each {
|
|
def file = it.absoluteFile
|
|
copy {
|
|
from zipTree(file)
|
|
into "$buildDir/$file.name"
|
|
include "**/*.h"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
task extractJNIFiles {
|
|
doLast {
|
|
configurations.extractJNI.files.each {
|
|
def file = it.absoluteFile
|
|
copy {
|
|
from zipTree(file)
|
|
into "$buildDir/$file.name"
|
|
include "jni/**/*"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
tasks.whenTaskAdded { task ->
|
|
if (task.name.contains('externalNativeBuild')) {
|
|
task.dependsOn(extractAARHeaders)
|
|
task.dependsOn(extractJNIFiles)
|
|
}
|
|
}
|