Extract dependency setting into a separate method

This commit is contained in:
Pavel Punegov
2020-02-17 17:30:11 +03:00
committed by Pavel Punegov
parent f68a0bfd69
commit 98d7877297
2 changed files with 15 additions and 17 deletions
+4 -17
View File
@@ -362,10 +362,7 @@ Task linkTest(String name, Closure<KonanLinkTest> configureClosure) {
extraOpts task.flags
extraOpts project.globalTestArgs
}
String libTaskName = "compileKonan${lib.capitalize()}${targetName.capitalize()}"
UtilsKt.dependsOnDist(project, libTaskName)
UtilsKt.sameDependenciesAs(libTaskName, task as KonanLinkTest)
task.dependsOn(libTaskName)
UtilsKt.dependOnKonanBuildingTask(project, lib, target, task)
// Build an executable with library
program(name, targets: [targetName]) {
@@ -376,8 +373,6 @@ Task linkTest(String name, Closure<KonanLinkTest> configureClosure) {
srcFiles task.getSources()
extraOpts task.flags
extraOpts project.globalTestArgs
// depend on library build task
dependsOn libTaskName
}
}
}
@@ -3394,10 +3389,7 @@ Task interopTest(String name, Closure<KonanInteropTest> configureClosure) {
if (task.enabled) {
konanArtifacts {
def lib = task.interop
def libTask = "compileKonan${lib.capitalize()}${target.name.capitalize()}"
UtilsKt.dependsOnDist(project, libTask)
UtilsKt.sameDependenciesAs(libTask, task as KonanInteropTest)
task.dependsOn(libTask)
UtilsKt.dependOnKonanBuildingTask(project, lib, target, task)
program(name, targets: [target.name]) {
libraries {
@@ -3901,12 +3893,7 @@ if (isAppleTarget(project)) {
konanArtifacts {
def lib = "objcGh3343"
def libTask = "compileKonan${lib.capitalize()}${target.name.capitalize()}"
UtilsKt.dependsOnDist(project, libTask)
UtilsKt.sameDependenciesAs(libTask, mainTask)
mainTask.dependsOn(libTask)
def lnOpts = (project.tasks.getByName(libTask)).linkerOpts
UtilsKt.dependOnKonanBuildingTask(project, lib, target, mainTask)
framework(frameworkName, targets: [ target ]) {
libraries {
@@ -3919,7 +3906,7 @@ if (isAppleTarget(project)) {
dependsOn ":${target}CrossDistRuntime", ':commonDistRuntime', ':distCompiler'
}
linkerOpts lnOpts
linkerOpts "-L$buildDir"
extraOpts "-Xembed-bitcode-marker"
extraOpts project.globalTestArgs
}
@@ -125,6 +125,17 @@ fun Task.sameDependenciesAs(task: Task) {
this.dependsOn(dependencies)
}
/**
* Set dependency on [lib] built by the Konan Plugin for the [task],
* also make [lib] depend on `dist` and all dependencies of the [task] to make [lib] execute before the [task].
*/
fun Project.dependOnKonanBuildingTask(lib: String, target: KonanTarget, task: Task) {
val libTask = "compileKonan${lib.capitalize()}${target.name.capitalize()}"
this.dependsOnDist(libTask)
libTask.sameDependenciesAs(task)
task.dependsOn(libTask)
}
//endregion
// Run command line from string.
fun Array<String>.runCommand(workingDir: File = File("."),