/** * Returns an {@link ApiSurface} like this one, but pruning references from the provided class. */ public ApiSurface pruningClass(Class<?> clazz) { return pruningClassName(clazz.getName()); }
/** * All classes transitively reachable via only public method signatures of the SDK. * * <p>Note that our idea of "public" does not include various internal-only APIs. */ public static ApiSurface getSdkApiSurface(final ClassLoader classLoader) throws IOException { return ApiSurface.ofPackage("org.apache.beam", classLoader) .pruningPattern("org[.]apache[.]beam[.].*Test") // Exposes Guava, but not intended for users .pruningClassName("org.apache.beam.sdk.util.common.ReflectHelpers") // test only .pruningClassName("org.apache.beam.sdk.testing.InterceptingUrlClassLoader") // test only .pruningPrefix("org.apache.beam.model.") .pruningPrefix("org.apache.beam.vendor.") .pruningPrefix("java"); }