question: private static GridUriDeploymentFileProcessorResult processNoDescriptorFile ( File file , String uri , IgniteLogger log ) throws IgniteSpiException { ClassLoader clsLdr = GridUriDeploymentClassLoaderFactory . create ( U . gridClassLoader ( ) , file , log ) ; Set < Class < ? extends ComputeTask < ? , ? > > > clss = GridUriDeploymentDiscovery . getClasses ( clsLdr , file ) ; GridUriDeploymentFileProcessorResult res = new GridUriDeploymentFileProcessorResult ( ) ; res . setFile ( file ) ; res . setClassLoader ( clsLdr ) ; if ( clss != null ) { List < Class < ? extends ComputeTask < ? , ? > > > validTasks = new ArrayList < > ( clss . size ( ) ) ; for ( Class < ? extends ComputeTask < ? , ? > > cls : clss ) { if ( isAllowedTaskClass ( cls ) ) { if ( log . isDebugEnabled ( ) ) log . debug ( "Found grid deployment task: " + cls . getName ( ) ) ; validTasks . add ( cls ) ; } } if ( ! validTasks . isEmpty ( ) ) res . setTaskClasses ( validTasks ) ; else if ( log . isDebugEnabled ( ) ) log . debug ( "No tasks loaded from file [file=" + file . getAbsolutePath ( ) + ", uri=" + U . hidePassword ( uri ) + ']' ) ; } return res ; }
target:  Processes GAR files which have no descriptor. It scans every class and checks if it is a valid task or not. All valid tasks are returned back.