Skip to content

Commit

Permalink
Let Kotlin DSL resolver return given Java home
Browse files Browse the repository at this point in the history
  • Loading branch information
bamboo authored and eskatos committed Aug 27, 2019
1 parent 081ece1 commit c47b255
Show file tree
Hide file tree
Showing 2 changed files with 23 additions and 9 deletions.
Expand Up @@ -58,6 +58,18 @@ class KotlinScriptDependenciesResolverTest : AbstractKotlinIntegrationTest() {
assertSucceeds()
}

@Test
fun `returns given Java home`() {

val javaHome = System.getProperty("java.home")
val env = arrayOf("gradleJavaHome" to javaHome)
assertThat(
resolvedScriptDependencies(env = *env)?.javaHome,
equalTo(javaHome)
)
}


@Test
fun `succeeds on init script`() {

Expand Down
Expand Up @@ -134,12 +134,12 @@ class KotlinBuildScriptDependenciesResolver @VisibleForTesting constructor(
previousDependencies: KotlinScriptExternalDependencies?
): KotlinScriptExternalDependencies? {

val scriptModelRequest = scriptModelRequestFrom(scriptFile, environment, cid)
log(SubmittedModelRequest(cid, scriptFile, scriptModelRequest))
val request = scriptModelRequestFrom(scriptFile, environment, cid)
log(SubmittedModelRequest(cid, scriptFile, request))

val response = DefaultKotlinBuildScriptModelRepository.scriptModelFor(scriptModelRequest)
val response = DefaultKotlinBuildScriptModelRepository.scriptModelFor(request)
if (response == null) {
log(RequestCancelled(cid, scriptFile, scriptModelRequest))
log(RequestCancelled(cid, scriptFile, request))
return null
}
log(ReceivedModelResponse(cid, scriptFile, response))
Expand All @@ -150,15 +150,15 @@ class KotlinBuildScriptDependenciesResolver @VisibleForTesting constructor(

return when {
response.exceptions.isEmpty() ->
dependenciesFrom(response).also {
dependenciesFrom(request, response).also {
log(ResolvedDependencies(cid, scriptFile, it))
}
previousDependencies != null && previousDependencies.classpath.count() > response.classPath.size ->
previousDependencies.also {
log(ResolvedToPreviousWithErrors(cid, scriptFile, previousDependencies, response.exceptions))
}
else ->
dependenciesFrom(response).also {
dependenciesFrom(request, response).also {
log(ResolvedDependenciesWithErrors(cid, scriptFile, it, response.exceptions))
}
}
Expand Down Expand Up @@ -193,11 +193,12 @@ class KotlinBuildScriptDependenciesResolver @VisibleForTesting constructor(
?: GradleInstallation.Wrapper

private
fun dependenciesFrom(response: KotlinBuildScriptModel) =
fun dependenciesFrom(request: KotlinBuildScriptModelRequest, response: KotlinBuildScriptModel) =
KotlinBuildScriptDependencies(
response.classPath,
response.sourcePath,
response.implicitImports
response.implicitImports,
request.javaHome?.path
)
}

Expand All @@ -206,7 +207,8 @@ internal
class KotlinBuildScriptDependencies(
override val classpath: Iterable<File>,
override val sources: Iterable<File>,
override val imports: Iterable<String>
override val imports: Iterable<String>,
override val javaHome: String? = null
) : KotlinScriptExternalDependencies


Expand Down

0 comments on commit c47b255

Please sign in to comment.