src/Pure/Tools/imports.scala
changeset 67023 e27e05d6f2a7
parent 66966 f3f9a492bee6
child 67025 961285f581e6
equal deleted inserted replaced
67018:f6aa133f9b16 67023:e27e05d6f2a7
   136           loaded_imports.filter(s1 =>
   136           loaded_imports.filter(s1 =>
   137             !loaded_imports.exists(s2 => selected_sessions.imports_graph.is_edge(s1, s2)))
   137             !loaded_imports.exists(s2 => selected_sessions.imports_graph.is_edge(s1, s2)))
   138 
   138 
   139         def make_result(set: Set[String]): Option[List[String]] =
   139         def make_result(set: Set[String]): Option[List[String]] =
   140           if (set.isEmpty) None
   140           if (set.isEmpty) None
   141           else Some(selected_sessions.imports_topological_order.map(_.name).filter(set))
   141           else Some(selected_sessions.imports_topological_order.filter(set))
   142 
   142 
   143         Report(info, declared_imports, make_result(extra_imports),
   143         Report(info, declared_imports, make_result(extra_imports),
   144           if (loaded_imports == declared_imports - session_name) None
   144           if (loaded_imports == declared_imports - session_name) None
   145           else make_result(minimal_imports))
   145           else make_result(minimal_imports))
   146       })
   146       })
   311           verbose = verbose)
   311           verbose = verbose)
   312       }
   312       }
   313       else if (operation_update && incremental_update) {
   313       else if (operation_update && incremental_update) {
   314         val (selected, selected_sessions) =
   314         val (selected, selected_sessions) =
   315           Sessions.load(options, dirs = dirs, select_dirs = select_dirs).selection(selection)
   315           Sessions.load(options, dirs = dirs, select_dirs = select_dirs).selection(selection)
   316         selected_sessions.imports_topological_order.foreach(info =>
   316         selected_sessions.imports_topological_order.foreach(name =>
   317         {
   317         {
   318           imports(options, operation_update = operation_update, progress = progress,
   318           imports(options, operation_update = operation_update, progress = progress,
   319             update_message = " for session " + quote(info.name),
   319             update_message = " for session " + quote(name),
   320             selection = Sessions.Selection(sessions = List(info.name)),
   320             selection = Sessions.Selection(sessions = List(name)),
   321             dirs = dirs ::: select_dirs, verbose = verbose)
   321             dirs = dirs ::: select_dirs, verbose = verbose)
   322         })
   322         })
   323       }
   323       }
   324     })
   324     })
   325 }
   325 }