我将一个最初用scala编写的项目转换成kotlin。这是一个典型的后端-前端设计,后端用scala编写,前端用angular编写(代码由一位不再从事此项目的前同事编写)
在gradle构建期间,对e2e测试进行评估。为此,后端将按以下方式编译:
import org.gradle.api.Plugin
import org.gradle.api.Project
import org.gradle.api.tasks.scala.ScalaCompile
class ScalaCompilerPlugin implements Plugin<Project> {
void apply(Project project) {
project.configurations {
scalaCompilerPlugin
}
project.afterEvaluate {
project.tasks.withType(ScalaCompile) {
options.encoding = 'UTF-8'
if (scalaCompileOptions.additionalParameters == null) {
scalaCompileOptions.additionalParameters = []
}
scalaCompileOptions.additionalParameters <<
"-Xplugin:" + project.configurations.scalaCompilerPlugin.asPath
}
}
}
}
然后将“scalacompilerplugin”插件添加到后端的build.gradle文件中。
plugins {
id 'scala'
id 'com.github.psxpaul.execfork' version '0.1.12'
}
apply plugin: ScalaCompilerPlugin
// ...
因为现在这个项目被转换成了kotlin/ktor,我计划使用类似于kotlincompiler的插件来达到同样的目的,但是在gradle6.0.1中,似乎没有这样的插件,而且由于gradle不够坚定,我不知道如何添加org.jetbrains.kotlin.gradle.tasks.kotlincompile。
如何在gradle构建期间实现相同的功能并启动后端,以便在测试运行期间运行e2e测试?我也愿意接受改变这种设计的建议。
暂无答案!
目前还没有任何答案,快来回答吧!