From 950cab9d7f62c54fd4d315f62777405617c165c2 Mon Sep 17 00:00:00 2001 From: Joe Vilches Date: Fri, 2 Feb 2024 15:44:23 -0800 Subject: [PATCH] Remove public APIs for YGNodePrint and YGConfigSetPrintTreeFlag Summary: X-link: https://github.com/facebook/react-native/pull/42688 X-link: https://github.com/facebook/yoga/pull/1567 We are planning on overhauling NodeToString to output JSON instead of HTML for the purposes of better benchmarking and capturing trees in JSON format to benchmark later. This gives us a bit of a headache as we have to revise several build files to ensure this new library works, ensure that it is only included in certain debug builds, and deal with the benchmark <-> internal cross boundary that arises as the benchmark code (which is a separate binary) tries to interact with it. On top of it all this is really not used at all. The plan is to rip out this functionality and just put it in a separate binary that one can include if they really want to debug. That means that it cannot exist in the public API, so I am removing it here. Private internals come next Changelog: [Internal] Reviewed By: NickGerleman Differential Revision: D53137544 fbshipit-source-id: 7571d243b914cd9bf09ac2418d9a1b86d1bee64a --- lib/yoga/src/main/cpp/yoga/YGConfig.cpp | 4 --- lib/yoga/src/main/cpp/yoga/YGConfig.h | 5 ---- lib/yoga/src/main/cpp/yoga/YGNode.cpp | 7 ------ lib/yoga/src/main/cpp/yoga/YGNode.h | 5 ---- .../java/com/facebook/yoga/YogaConfig.java | 2 -- .../com/facebook/yoga/YogaConfigJNIBase.java | 4 --- .../java/com/facebook/yoga/YogaNative.java | 2 -- .../main/java/com/facebook/yoga/YogaNode.java | 2 -- .../com/facebook/yoga/YogaNodeJNIBase.java | 8 ------ lib/yogajni/src/main/cpp/jni/YGJNIVanilla.cpp | 25 ------------------- .../java/com/facebook/litho/NodeConfig.kt | 11 -------- 11 files changed, 75 deletions(-) diff --git a/lib/yoga/src/main/cpp/yoga/YGConfig.cpp b/lib/yoga/src/main/cpp/yoga/YGConfig.cpp index 970a740e520..b3a82e1adb1 100644 --- a/lib/yoga/src/main/cpp/yoga/YGConfig.cpp +++ b/lib/yoga/src/main/cpp/yoga/YGConfig.cpp @@ -90,7 +90,3 @@ void YGConfigSetCloneNodeFunc( const YGCloneNodeFunc callback) { resolveRef(config)->setCloneNodeCallback(callback); } - -void YGConfigSetPrintTreeFlag(YGConfigRef config, bool enabled) { - resolveRef(config)->setShouldPrintTree(enabled); -} diff --git a/lib/yoga/src/main/cpp/yoga/YGConfig.h b/lib/yoga/src/main/cpp/yoga/YGConfig.h index b8da4c7c0c7..7c1a8f297d2 100644 --- a/lib/yoga/src/main/cpp/yoga/YGConfig.h +++ b/lib/yoga/src/main/cpp/yoga/YGConfig.h @@ -155,9 +155,4 @@ YG_EXPORT void YGConfigSetCloneNodeFunc( YGConfigRef config, YGCloneNodeFunc callback); -/** - * Allows printing the Yoga node tree during layout for debugging purposes. - */ -YG_EXPORT void YGConfigSetPrintTreeFlag(YGConfigRef config, bool enabled); - YG_EXTERN_C_END diff --git a/lib/yoga/src/main/cpp/yoga/YGNode.cpp b/lib/yoga/src/main/cpp/yoga/YGNode.cpp index d91bc4eb139..d3265e0149e 100644 --- a/lib/yoga/src/main/cpp/yoga/YGNode.cpp +++ b/lib/yoga/src/main/cpp/yoga/YGNode.cpp @@ -11,7 +11,6 @@ #include #include #include -#include #include #include @@ -330,12 +329,6 @@ void YGNodeSetAlwaysFormsContainingBlock( resolveRef(node)->setAlwaysFormsContainingBlock(alwaysFormsContainingBlock); } -#ifdef DEBUG -void YGNodePrint(const YGNodeConstRef node, const YGPrintOptions options) { - yoga::print(resolveRef(node), scopedEnum(options)); -} -#endif - // TODO: This leaks internal details to the public API. Remove after removing // ComponentKit usage of it. bool YGNodeCanUseCachedMeasurement( diff --git a/lib/yoga/src/main/cpp/yoga/YGNode.h b/lib/yoga/src/main/cpp/yoga/YGNode.h index 12d40f75dfc..e6f233acea5 100644 --- a/lib/yoga/src/main/cpp/yoga/YGNode.h +++ b/lib/yoga/src/main/cpp/yoga/YGNode.h @@ -273,11 +273,6 @@ YG_EXPORT void YGNodeSetAlwaysFormsContainingBlock( YGNodeRef node, bool alwaysFormsContainingBlock); -/** - * Print a node to log output. - */ -YG_EXPORT void YGNodePrint(YGNodeConstRef node, YGPrintOptions options); - /** * @deprecated */ diff --git a/lib/yoga/src/main/java/com/facebook/yoga/YogaConfig.java b/lib/yoga/src/main/java/com/facebook/yoga/YogaConfig.java index 0ca8571e959..c841acd741f 100644 --- a/lib/yoga/src/main/java/com/facebook/yoga/YogaConfig.java +++ b/lib/yoga/src/main/java/com/facebook/yoga/YogaConfig.java @@ -15,8 +15,6 @@ public abstract class YogaConfig { public abstract void setUseWebDefaults(boolean useWebDefaults); - public abstract void setPrintTreeFlag(boolean enable); - public abstract void setPointScaleFactor(float pixelsInPoint); public abstract void setErrata(YogaErrata errata); diff --git a/lib/yoga/src/main/java/com/facebook/yoga/YogaConfigJNIBase.java b/lib/yoga/src/main/java/com/facebook/yoga/YogaConfigJNIBase.java index 07263e6df3e..a131cca4694 100644 --- a/lib/yoga/src/main/java/com/facebook/yoga/YogaConfigJNIBase.java +++ b/lib/yoga/src/main/java/com/facebook/yoga/YogaConfigJNIBase.java @@ -35,10 +35,6 @@ public void setUseWebDefaults(boolean useWebDefaults) { YogaNative.jni_YGConfigSetUseWebDefaultsJNI(mNativePointer, useWebDefaults); } - public void setPrintTreeFlag(boolean enable) { - YogaNative.jni_YGConfigSetPrintTreeFlagJNI(mNativePointer, enable); - } - public void setPointScaleFactor(float pixelsInPoint) { YogaNative.jni_YGConfigSetPointScaleFactorJNI(mNativePointer, pixelsInPoint); } diff --git a/lib/yoga/src/main/java/com/facebook/yoga/YogaNative.java b/lib/yoga/src/main/java/com/facebook/yoga/YogaNative.java index 101f0e0eddc..9be9edcf874 100644 --- a/lib/yoga/src/main/java/com/facebook/yoga/YogaNative.java +++ b/lib/yoga/src/main/java/com/facebook/yoga/YogaNative.java @@ -22,7 +22,6 @@ public class YogaNative { static native void jni_YGConfigFreeJNI(long nativePointer); static native void jni_YGConfigSetExperimentalFeatureEnabledJNI(long nativePointer, int feature, boolean enabled); static native void jni_YGConfigSetUseWebDefaultsJNI(long nativePointer, boolean useWebDefaults); - static native void jni_YGConfigSetPrintTreeFlagJNI(long nativePointer, boolean enable); static native void jni_YGConfigSetPointScaleFactorJNI(long nativePointer, float pixelsInPoint); static native void jni_YGConfigSetErrataJNI(long nativePointer, int errata); static native int jni_YGConfigGetErrataJNI(long nativePointer); @@ -111,7 +110,6 @@ public class YogaNative { static native void jni_YGNodeStyleSetGapJNI(long nativePointer, int gutter, float gapLength); static native void jni_YGNodeSetHasMeasureFuncJNI(long nativePointer, boolean hasMeasureFunc); static native void jni_YGNodeSetHasBaselineFuncJNI(long nativePointer, boolean hasMeasureFunc); - static native void jni_YGNodePrintJNI(long nativePointer); static native void jni_YGNodeSetStyleInputsJNI(long nativePointer, float[] styleInputsArray, int size); static native long jni_YGNodeCloneJNI(long nativePointer); static native void jni_YGNodeSetAlwaysFormsContainingBlockJNI(long nativePointer, boolean alwaysFormContainingBlock); diff --git a/lib/yoga/src/main/java/com/facebook/yoga/YogaNode.java b/lib/yoga/src/main/java/com/facebook/yoga/YogaNode.java index 253234378db..4875ac3e8ca 100644 --- a/lib/yoga/src/main/java/com/facebook/yoga/YogaNode.java +++ b/lib/yoga/src/main/java/com/facebook/yoga/YogaNode.java @@ -221,8 +221,6 @@ public interface Inputs { @Nullable public abstract Object getData(); - public abstract void print(); - public abstract YogaNode cloneWithoutChildren(); public abstract YogaNode cloneWithChildren(); diff --git a/lib/yoga/src/main/java/com/facebook/yoga/YogaNodeJNIBase.java b/lib/yoga/src/main/java/com/facebook/yoga/YogaNodeJNIBase.java index d1010f40bb8..df958df1666 100644 --- a/lib/yoga/src/main/java/com/facebook/yoga/YogaNodeJNIBase.java +++ b/lib/yoga/src/main/java/com/facebook/yoga/YogaNodeJNIBase.java @@ -556,14 +556,6 @@ public void setData(Object data) { return mData; } - /** - * Use the set logger (defaults to adb log) to print out the styles, children, and computed layout - * of the tree rooted at this node. - */ - public void print() { - YogaNative.jni_YGNodePrintJNI(mNativePointer); - } - /** * This method replaces the child at childIndex position with the newNode received by parameter. * This is different than calling removeChildAt and addChildAt because this method ONLY replaces diff --git a/lib/yogajni/src/main/cpp/jni/YGJNIVanilla.cpp b/lib/yogajni/src/main/cpp/jni/YGJNIVanilla.cpp index ccbf7787750..97fb17899c5 100644 --- a/lib/yogajni/src/main/cpp/jni/YGJNIVanilla.cpp +++ b/lib/yogajni/src/main/cpp/jni/YGJNIVanilla.cpp @@ -66,15 +66,6 @@ static void jni_YGConfigSetUseWebDefaultsJNI( YGConfigSetUseWebDefaults(config, useWebDefaults); } -static void jni_YGConfigSetPrintTreeFlagJNI( - JNIEnv* /*env*/, - jobject /*obj*/, - jlong nativePointer, - jboolean enable) { - const YGConfigRef config = _jlong2YGConfigRef(nativePointer); - YGConfigSetPrintTreeFlag(config, enable); -} - static void jni_YGConfigSetPointScaleFactorJNI( JNIEnv* /*env*/, jobject /*obj*/, @@ -690,18 +681,6 @@ static void jni_YGNodeSetAlwaysFormsContainingBlockJNI( _jlong2YGNodeRef(nativePointer), alwaysFormsContainingBlock); } -static void -jni_YGNodePrintJNI(JNIEnv* /*env*/, jobject /*obj*/, jlong nativePointer) { -#ifdef DEBUG - const YGNodeRef node = _jlong2YGNodeRef(nativePointer); - YGNodePrint( - node, - (YGPrintOptions)(YGPrintOptionsStyle | YGPrintOptionsLayout | YGPrintOptionsChildren)); -#else - (void)nativePointer; -#endif -} - static jlong jni_YGNodeCloneJNI(JNIEnv* /*env*/, jobject /*obj*/, jlong nativePointer) { auto node = _jlong2YGNodeRef(nativePointer); @@ -744,9 +723,6 @@ static JNINativeMethod methods[] = { {"jni_YGConfigSetUseWebDefaultsJNI", "(JZ)V", (void*)jni_YGConfigSetUseWebDefaultsJNI}, - {"jni_YGConfigSetPrintTreeFlagJNI", - "(JZ)V", - (void*)jni_YGConfigSetPrintTreeFlagJNI}, {"jni_YGConfigSetPointScaleFactorJNI", "(JF)V", (void*)jni_YGConfigSetPointScaleFactorJNI}, @@ -970,7 +946,6 @@ static JNINativeMethod methods[] = { {"jni_YGNodeSetAlwaysFormsContainingBlockJNI", "(JZ)V", (void*)jni_YGNodeSetAlwaysFormsContainingBlockJNI}, - {"jni_YGNodePrintJNI", "(J)V", (void*)jni_YGNodePrintJNI}, {"jni_YGNodeCloneJNI", "(J)J", (void*)jni_YGNodeCloneJNI}, }; diff --git a/litho-core/src/main/java/com/facebook/litho/NodeConfig.kt b/litho-core/src/main/java/com/facebook/litho/NodeConfig.kt index 42c2ff20631..47527322f91 100644 --- a/litho-core/src/main/java/com/facebook/litho/NodeConfig.kt +++ b/litho-core/src/main/java/com/facebook/litho/NodeConfig.kt @@ -46,17 +46,6 @@ object NodeConfig { return yogaNodeFactory?.create(yogaConfig) ?: LithoYogaFactory.createYogaNode(yogaConfig) } - /** - * Toggles a Yoga setting on whether to print debug logs to adb. - * - * @param enable whether to print logs or not - */ - @JvmStatic - @Synchronized - fun setPrintYogaDebugLogs(enable: Boolean) { - yogaConfig.setPrintTreeFlag(enable) - } - fun interface InternalYogaNodeFactory { fun create(config: YogaConfig): YogaNode }