Implement simple "add to compilation" functionality for scripts

(incomplete import - scripts added to the compilation but not yet
imported into scope)
Base functionality needed for #KT-27960
This commit is contained in:
Ilya Chernikov
2018-11-16 16:13:50 +01:00
parent 57c12476d7
commit 729ebcac9b
13 changed files with 298 additions and 84 deletions
@@ -44,11 +44,13 @@ class BridgeDependenciesResolver(
val defaultImports = scriptCompilationConfiguration[ScriptCompilationConfiguration.defaultImports]?.toList() ?: emptyList()
fun ScriptCompilationConfiguration.toDependencies(classpath: List<File>): ScriptDependencies = ScriptDependencies(
classpath = classpath,
sources = this[ScriptCompilationConfiguration.ide.dependenciesSources].toClassPathOrEmpty(),
imports = defaultImports
)
fun ScriptCompilationConfiguration.toDependencies(classpath: List<File>): ScriptDependencies =
ScriptDependencies(
classpath = classpath,
sources = this[ScriptCompilationConfiguration.ide.dependenciesSources].toClassPathOrEmpty(),
imports = defaultImports,
scripts = this[ScriptCompilationConfiguration.importScripts].toFilesOrEmpty()
)
val refineResults = scriptCompilationConfiguration.refineWith(
scriptCompilationConfiguration[ScriptCompilationConfiguration.refineConfigurationOnAnnotations]?.handler,
@@ -76,11 +78,8 @@ class BridgeDependenciesResolver(
}
return DependenciesResolver.ResolveResult.Success(
ScriptDependencies(
classpath = newClasspath, // TODO: maybe it should return only increment from the initial config
sources = refinedConfiguration[ScriptCompilationConfiguration.ide.dependenciesSources].toClassPathOrEmpty(),
imports = defaultImports
),
// TODO: consider returning only increment from the initial config
refinedConfiguration.toDependencies(newClasspath),
diagnostics
)
} catch (e: Throwable) {