code: def compile(self, ctx, args, dependency_classpath, upstream_analysis,
                settings, compiler_option_sets, zinc_file_manager,
                javac_plugin_map, scalac_plugin_map):
      
      raise NotImplementedError()
docs: Invoke the compiler.
  
      Subclasses must implement. Must raise TaskError on compile failure.
  
      :param CompileContext ctx: A CompileContext for the target to compile.
      :param list args: Arguments to the compiler (such as javac or zinc).
      :param list dependency_classpath: List of classpath entries of type ClasspathEntry for
        dependencies.
      :param upstream_analysis: A map from classpath entry to analysis file for dependencies.
      :param JvmPlatformSettings settings: platform settings determining the -source, -target, etc for
        javac to use.
      :param list compiler_option_sets: The compiler_option_sets flags for the target.
      :param zinc_file_manager: whether to use zinc provided file manager.
      :param javac_plugin_map: Map of names of javac plugins to use to their arguments.
      :param scalac_plugin_map: Map of names of scalac plugins to use to their arguments.