in src/main/java/com/intellij/compiler/impl/InternalCompileDriver.java [168:187]
private List<TargetTypeBuildScope> getBuildScopes(@NotNull CompileContextImpl compileContext,
CompileScope scope,
Collection<String> paths) {
List<TargetTypeBuildScope> scopes = new ArrayList<>();
final boolean forceBuild = !compileContext.isMake();
List<TargetTypeBuildScope> explicitScopes = CompileScopeUtil.getBaseScopeForExternalBuild(scope);
if (explicitScopes != null) {
scopes.addAll(explicitScopes);
}
else if (!compileContext.isRebuild() && !CompileScopeUtil.allProjectModulesAffected(compileContext)) {
CompileScopeUtil.addScopesForModules(Arrays.asList(scope.getAffectedModules()), scope.getAffectedUnloadedModules(), scopes, forceBuild);
}
else {
scopes.addAll(CmdlineProtoUtil.createAllModulesScopes(forceBuild));
}
if (paths.isEmpty()) {
scopes = mergeScopesFromProviders(scope, scopes, forceBuild);
}
return scopes;
}