Merge branch 'main' into export-D39929963

This commit is contained in:
Nick Gerleman
2023-01-16 13:11:51 -08:00
committed by GitHub
13 changed files with 22 additions and 58 deletions

View File

@@ -7,6 +7,9 @@ on:
- main
workflow_dispatch:
env:
GTEST_COLOR: 1
jobs:
test:
name: Build and Test [${{ matrix.os }}][${{ matrix.mode }}]

View File

@@ -162,7 +162,7 @@ for name, values in sorted(ENUMS.items()):
f.write(get_license("java"))
f.write("package com.facebook.yoga;\n\n")
if name in DO_NOT_STRIP:
f.write("import com.facebook.proguard.annotations.DoNotStrip;\n\n")
f.write("import com.facebook.yoga.annotations.DoNotStrip;\n\n")
f.write("@DoNotStrip\n")
f.write("public enum Yoga%s {\n" % name)
if len(values) > 0:

View File

@@ -19,6 +19,8 @@ android {
minSdkVersion rootProject.minSdkVersion
targetSdkVersion rootProject.targetSdkVersion
consumerProguardFiles 'proguard-rules.pro'
ndk {
abiFilters 'x86', 'x86_64', 'armeabi-v7a', 'arm64-v8a'
}
@@ -47,7 +49,6 @@ android {
dependencies {
implementation 'com.google.code.findbugs:jsr305:3.0.2'
implementation project(':yoga:proguard-annotations')
implementation 'com.facebook.soloader:soloader:0.10.4'
testImplementation 'junit:junit:4.12'
}

View File

@@ -9,7 +9,7 @@
package com.facebook.yoga;
import com.facebook.proguard.annotations.DoNotStrip;
import com.facebook.yoga.annotations.DoNotStrip;
@DoNotStrip
public enum YogaLogLevel {

View File

@@ -7,7 +7,7 @@
package com.facebook.yoga;
import com.facebook.proguard.annotations.DoNotStrip;
import com.facebook.yoga.annotations.DoNotStrip;
/**
* Interface for receiving logs from native layer. Use by setting YogaNode.setLogger(myLogger);

View File

@@ -7,7 +7,7 @@
package com.facebook.yoga;
import com.facebook.proguard.annotations.DoNotStrip;
import com.facebook.yoga.annotations.DoNotStrip;
import com.facebook.soloader.SoLoader;
@DoNotStrip

View File

@@ -7,7 +7,7 @@
package com.facebook.yoga;
import com.facebook.proguard.annotations.DoNotStrip;
import com.facebook.yoga.annotations.DoNotStrip;
import java.util.ArrayList;
import java.util.List;
import javax.annotation.Nullable;

View File

@@ -5,7 +5,7 @@
* LICENSE file in the root directory of this source tree.
*/
package com.facebook.proguard.annotations;
package com.facebook.yoga.annotations;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;

View File

@@ -1,13 +0,0 @@
/*
* Copyright (c) Meta Platforms, Inc. and 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: 'java'
sourceCompatibility = '1.7'
targetCompatibility = '1.7'
apply plugin: 'com.vanniktech.maven.publish'

View File

@@ -1,12 +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.
#
GROUP=com.facebook.yoga
POM_NAME=Proguard Annotations
POM_DESCRIPTION=Shared annotations for use with Proguard
POM_ARTIFACT_ID=proguard-annotations
POM_PACKAGING=jar

View File

@@ -1,24 +0,0 @@
/*
* Copyright (c) Meta Platforms, Inc. and 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 java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.Target;
import static java.lang.annotation.RetentionPolicy.CLASS;
/**
* Add this annotation to a class to instruct Proguard to not strip it or any of its fields or
* methods out.
*
* <p>This is useful for methods called via reflection that could appear as unused to Proguard.
*/
@Target({ElementType.TYPE})
@Retention(CLASS)
public @interface DoNotStripAny {}

10
java/proguard-rules.pro vendored Normal file
View File

@@ -0,0 +1,10 @@
# Copyright (c) Meta Platforms, Inc. and affiliates.
#
# This source code is licensed under the MIT license found in the
# LICENSE file in the root directory of this source tree.
-keep,allowobfuscation @interface com.facebook.yoga.annotations.DoNotStrip
-keep @com.facebook.yoga.annotations.DoNotStrip class *
-keepclassmembers class * {
@com.facebook.yoga.annotations.DoNotStrip *;
}

View File

@@ -5,7 +5,6 @@
* LICENSE file in the root directory of this source tree.
*/
include ':yoga', ':yoga-layout', ':yoga:proguard-annotations'
include ':yoga', ':yoga-layout'
project(':yoga').projectDir = file('java')
project(':yoga:proguard-annotations').projectDir = file('java/proguard-annotations')
project(':yoga-layout').projectDir = file('android')