public static void registerPackageForReflection()

in core/src/main/java/com/google/cloud/sql/nativeimage/CloudSqlFeature.java [156:177]


  public static void registerPackageForReflection(FeatureAccess access, String packageName) {
    ClassLoader classLoader = Thread.currentThread().getContextClassLoader();

    try {
      String path = packageName.replace('.', '/');

      Enumeration<URL> resources = classLoader.getResources(path);
      while (resources.hasMoreElements()) {
        URL url = resources.nextElement();

        URLConnection connection = url.openConnection();
        if (connection instanceof JarURLConnection) {
          List<String> classes = findClassesInJar((JarURLConnection) connection, packageName);
          for (String className : classes) {
            NativeImageUtils.registerClassHierarchyForReflection(access, className);
          }
        }
      }
    } catch (IOException e) {
      throw new RuntimeException("Failed to load classes under package name.", e);
    }
  }