From 1bf142e048f868cff53e84869a68ec77af8dd238 Mon Sep 17 00:00:00 2001 From: Robert Spencer Date: Wed, 8 Mar 2017 00:09:32 -0800 Subject: [PATCH] Separate annotation processors and include in java as `provided` Summary: With the current setup, the final aar contains `com.facebook.proguard.annotation.DoNotStrip`. This is not needed (it is only used for proguard), and thus should not get published. We move proguard annotations into its own project for this, and place it into `java/proguard-annotations`. Here we adopt the gradle convention of `src/main` to make for a nice, clean (one line!) gradle script. As a different subproject, we can include this to `:yoga` as a `provided` dependency now, which doesn't include it in the output artifact. Reviewed By: emilsjolander Differential Revision: D4666572 fbshipit-source-id: a0cb26cb6c264065a0bd355b7d72ba02e3759560 --- YOGA_DEFS | 2 +- java/build.gradle | 1 + java/proguard-annotations/build.gradle | 1 + .../src/main/java}/com/facebook/proguard/annotations/BUCK | 0 .../java}/com/facebook/proguard/annotations/DoNotStrip.java | 0 settings.gradle | 3 ++- 6 files changed, 5 insertions(+), 2 deletions(-) create mode 100644 java/proguard-annotations/build.gradle rename java/{ => proguard-annotations/src/main/java}/com/facebook/proguard/annotations/BUCK (100%) rename java/{ => proguard-annotations/src/main/java}/com/facebook/proguard/annotations/DoNotStrip.java (100%) diff --git a/YOGA_DEFS b/YOGA_DEFS index 9548554a..ec3ed484 100644 --- a/YOGA_DEFS +++ b/YOGA_DEFS @@ -4,7 +4,7 @@ JAVA_TARGET = '//java:java' INFER_ANNOTATIONS_TARGET = '//lib/infer-annotations:infer-annotations' JSR_305_TARGET = '//lib/jsr-305:jsr-305' JUNIT_TARGET = '//lib/junit:junit' -PROGRUARD_ANNOTATIONS_TARGET = '//java/com/facebook/proguard/annotations:annotations' +PROGRUARD_ANNOTATIONS_TARGET = '//java/proguard-annotations/src/main/java/com/facebook/proguard/annotations:annotations' SOLOADER_TARGET = '//lib/soloader:soloader' GTEST_TARGET = '//lib/gtest:gtest' JNI_TARGET = '//lib/jni:jni' diff --git a/java/build.gradle b/java/build.gradle index c6a992d8..94851d8c 100644 --- a/java/build.gradle +++ b/java/build.gradle @@ -44,6 +44,7 @@ preBuild.dependsOn buckBuildAndCopy dependencies { compile(name: 'jsr305') compile(name: 'soloader-0.1.0', ext: 'aar') + provided(project(':yoga:proguard-annotations')) } task sourcesJar(type: Jar) { diff --git a/java/proguard-annotations/build.gradle b/java/proguard-annotations/build.gradle new file mode 100644 index 00000000..bbfeb03c --- /dev/null +++ b/java/proguard-annotations/build.gradle @@ -0,0 +1 @@ +apply plugin: 'java' diff --git a/java/com/facebook/proguard/annotations/BUCK b/java/proguard-annotations/src/main/java/com/facebook/proguard/annotations/BUCK similarity index 100% rename from java/com/facebook/proguard/annotations/BUCK rename to java/proguard-annotations/src/main/java/com/facebook/proguard/annotations/BUCK diff --git a/java/com/facebook/proguard/annotations/DoNotStrip.java b/java/proguard-annotations/src/main/java/com/facebook/proguard/annotations/DoNotStrip.java similarity index 100% rename from java/com/facebook/proguard/annotations/DoNotStrip.java rename to java/proguard-annotations/src/main/java/com/facebook/proguard/annotations/DoNotStrip.java diff --git a/settings.gradle b/settings.gradle index b0105e4f..6977bf20 100644 --- a/settings.gradle +++ b/settings.gradle @@ -1,3 +1,4 @@ -include ':yoga', ':yoga-layout' +include ':yoga', ':yoga-layout', ':yoga:proguard-annotations' project(':yoga').projectDir = file('java') +project(':yoga:proguard-annotations').projectDir = file('java/proguard-annotations') project(':yoga-layout').projectDir = file('android')