public static void invoke()

in GradlePlugin/src/main/java/com/facebook/ads/injkit/gradle/AnnotationProcessorInvoker.java [36:59]


  public static void invoke(Task compileTask, File configurationFile) throws Exception {
    if (!AnnotationProcessorInvoker.class
        .getClassLoader()
        .getClass()
        .getName()
        .equals(LocalClassLoader.class.getName())) {
      URLClassLoader currentClassLoader =
          (URLClassLoader) AnnotationProcessorInvoker.class.getClassLoader();

      LocalClassLoader localLoader =
          new LocalClassLoader(currentClassLoader.getURLs(), currentClassLoader.getParent());
      Class<?> invokerClass = localLoader.loadClass(AnnotationProcessorInvoker.class.getName());
      Method invokeMethod = invokerClass.getDeclaredMethod("invoke", Task.class, File.class);
      invokeMethod.invoke(null, compileTask, configurationFile);
      return;
    }

    AnnotationProcessorConfigurationBuilder builder = new AnnotationProcessorConfigurationBuilder();
    compileTask.getOutputs().getFiles().getFiles().forEach(builder::addFileToTransform);
    builder.addClasspathElement(getDestinationDir(compileTask));
    builder.addClasspathElements(getClasspath(compileTask));
    builder.addClasspathElements(getBootstrapClasspath(compileTask));
    builder.setConfigurationFile(configurationFile).build().process();
  }