Files
flipper/build.gradle
Harold Martin b0cbf39a1a Export protobuf definitions from Retrofit (#2084)
Summary:
https://github.com/facebook/flipper/pull/2080 enables storing protobuf definitions and displaying payloads in the network inspector plugin. However, describing those definitions in ProtobufJS format can be time consuming and error prone. This PR enables sending definitions from an entire Retrofit service with a single line.

## Changelog
* Adds a retrofit2-protobuf plugin

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

Test Plan:
Used as a single line per service, ie:
`SendProtobufToFlipperFromRetrofit(baseUrl, PersonService::class.java)`

For more details see demo app in https://github.com/hbmartin/protobuf_java_to_protobufjs

Reviewed By: mweststrate

Differential Revision: D27507872

Pulled By: passy

fbshipit-source-id: 859d7636c9512de0abde0aa1dcb2e023851369cf
2021-04-07 13:31:23 -07:00

113 lines
5.0 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:4.1.3'
classpath 'com.vanniktech:gradle-maven-publish-plugin:0.14.2'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$KOTLIN_VERSION"
classpath "org.jetbrains.dokka:dokka-gradle-plugin:1.4.30"
}
}
plugins {
id 'de.undercouch.download' version '4.1.1'
id 'com.github.dcendents.android-maven' version '2.1'
id 'com.github.ben-manes.versions' version '0.38.0'
}
ext.isSnapshot = { VERSION_NAME.endsWith('-SNAPSHOT') }
ext.isRelease = { ['uploadArchives', 'bintrayUpload'].any { gradle.startParameter.taskNames.contains(it) } }
subprojects {
repositories {
google()
mavenLocal()
mavenCentral()
jcenter()
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 = 29
compileSdkVersion = 29
buildToolsVersion = '29.0.2'
ndkVersion = '21.3.6528147'
sourceCompatibilityVersion = JavaVersion.VERSION_1_7
targetCompatibilityVersion = JavaVersion.VERSION_1_7
}
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.0.4",
supportSqlite : "androidx.sqlite:sqlite-framework:2.1.0",
supportEspresso : 'androidx.test.espresso:espresso-core:3.3.0',
supportDesign : "com.google.android.material:material:1.0.0-rc01",
supportEspressoIntents : 'androidx.test.espresso:espresso-intents:3.3.0',
supportTestRunner : 'androidx.test:runner:1.3.0',
// Arch
archPaging : 'android.arch.paging:runtime:1.0.1',
// First-party
soloader : 'com.facebook.soloader:soloader:0.10.1',
fbjni : 'com.facebook.fbjni:fbjni:0.2.2',
screenshot : 'com.facebook.testing.screenshot:core:0.13.0',
boltsTasks : 'com.parse.bolts:bolts-tasks:1.4.0',
boltsApplinks : 'com.parse.bolts:bolts-applinks:1.4.0',
// 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.16.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:3.8.0',
okhttp3 : 'com.squareup.okhttp3:okhttp:4.9.1',
leakcanary : 'com.squareup.leakcanary:leakcanary-android:1.6.3',
leakcanary2 : 'com.squareup.leakcanary:leakcanary-android:2.6',
protobuf : 'com.google.protobuf:protobuf-java:3.15.6',
testCore : 'androidx.test:core:1.3.0',
testRules : 'androidx.test:rules:1.3.0',
// Plugin dependencies
frescoFlipper : 'com.facebook.fresco:flipper:2.4.0',
frescoStetho : 'com.facebook.fresco:stetho:2.4.0',
fresco : 'com.facebook.fresco:fresco:2.3.0'
]