我刚刚开始研究scala和gradle。我想知道我们如何从gradle构建文件中调用任何scala方法。有人能帮帮我吗?
注释:我想运行一个目录中存在的多个文件。因此,为了获取目录中的所有文件,我在scala中编写了一个方法。我正在尝试从build.gradle文件调用的方法
最佳答案
Gradle allows在buildscript{ dependencies { ... } }
内指定构建脚本本身的依赖关系(不要与普通dependencies { ... }
内的项目依赖项混淆)。
例如,在这里我添加了Shapeless依赖关系,并在HList
中使用了build.gradle
build.gradle
buildscript{
dependencies {
classpath group: 'com.chuusai', name: 'shapeless_2.13', version: '2.4.0-M1'
}
}
plugins {
id 'java'
id 'scala'
id 'application'
}
group 'org.example'
version '1.0-SNAPSHOT'
repositories {
mavenCentral()
}
dependencies {
testCompile group: 'junit', name: 'junit', version: '4.12'
// compile group: ...
}
application {
mainClassName = 'App'
}
import shapeless.*
task hello {
doLast {
HList l = new $colon$colon(1, new $colon$colon("a", new HNil$()))
println l
}
}
终奌站$ ./gradlew hello
输出量> Task :hello
1 :: a :: HNil
BUILD SUCCESSFUL in 457ms
1 actionable task: 1 executed
因此,您可以编译Scala源代码,将类打包到jar中,在本地上发布,并在以下位置指定本地依赖项buildscript{
dependencies {
classpath group: 'yourOrganization', name: 'yourArtifact', version: 'yourVersion'
}
}
然后从scalt代码中的build.gradle
中调用方法。
关于scala - 如何从build.gradle文件调用scala方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64064619/