From 35fc0add2d3a278bf90257284fe23e03898008de Mon Sep 17 00:00:00 2001 From: Pascal Hartig Date: Thu, 15 Aug 2019 06:01:03 -0700 Subject: [PATCH] Remove vendored proguard annotation (#26069) Summary: There have been multiple complaints about combining RN with various other FB libraries, including Litho and Flipper, because of bundled dependencies that can't be deduplicated by Gradle. This is one of three current conflicts: 1) Proguard annotations (this PR) 2) Yoga 3) fbjni While the Yoga group name doesn't make a massive amount of sense it was the easiest existing package to use and since we don't have a better namespace for this, we might as well use this. A similar change to Litho is landing right now. ## Changelog [Android] [Changed] - Use centralized package for DoNotStrip annotation Pull Request resolved: https://github.com/facebook/react-native/pull/26069 Test Plan: ``` yarn ./gradlew :RNTester:android:app:assembleDebug ``` Reviewed By: cpojer Differential Revision: D16827430 Pulled By: passy fbshipit-source-id: 87542b5422fee598d8e635651441f0ecd42eb9d7 --- ReactAndroid/build.gradle | 1 + .../proguard/annotations/DoNotStrip.java | 22 ------------------- 2 files changed, 1 insertion(+), 22 deletions(-) delete mode 100644 ReactAndroid/src/main/java/com/facebook/proguard/annotations/DoNotStrip.java diff --git a/ReactAndroid/build.gradle b/ReactAndroid/build.gradle index 1ef2f605c46e97..47f6c74a07acfb 100644 --- a/ReactAndroid/build.gradle +++ b/ReactAndroid/build.gradle @@ -356,6 +356,7 @@ android { dependencies { api("com.facebook.infer.annotation:infer-annotation:0.11.2") + api("com.facebook.yoga:proguard-annotations:1.14.1") api("javax.inject:javax.inject:1") api("androidx.appcompat:appcompat:1.0.2") api("com.facebook.fresco:fresco:${FRESCO_VERSION}") diff --git a/ReactAndroid/src/main/java/com/facebook/proguard/annotations/DoNotStrip.java b/ReactAndroid/src/main/java/com/facebook/proguard/annotations/DoNotStrip.java deleted file mode 100644 index 0af1b790f1326a..00000000000000 --- a/ReactAndroid/src/main/java/com/facebook/proguard/annotations/DoNotStrip.java +++ /dev/null @@ -1,22 +0,0 @@ -/** - * 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. - */ -package com.facebook.proguard.annotations; - -import static java.lang.annotation.RetentionPolicy.CLASS; - -import java.lang.annotation.ElementType; -import java.lang.annotation.Retention; -import java.lang.annotation.Target; - -/** - * Add this annotation to a class, method, or field to instruct Proguard to not strip it out. - * - *

This is useful for methods called via reflection that could appear as unused to Proguard. - */ -@Target({ElementType.TYPE, ElementType.FIELD, ElementType.METHOD, ElementType.CONSTRUCTOR}) -@Retention(CLASS) -public @interface DoNotStrip {}