- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个多项目 gradle.kts 设置,我想重用一个函数,例如。
fun doSomethingWithString(string: String) { return string }
然后我使用
dependencies {}
中的函数堵塞。
fun
根内build.gradle.kts
fun
在我可以在每个子项目中导入的其他文件中 最佳答案
您可以在 buildSrc
project 中创建您的函数.
有多种方法可以解决这个问题。这里仅举两个例子说明如何做到这一点。两者都使用相同的 buildSrc/build.gradle.kts
:
plugins {
`kotlin-dsl`
}
repositories {
jcenter()
}
示例:共享包级函数
buildSrc/src/main/kotlin/myconvention/myconventions.kt
中:
package myconvention
fun doSomethingWithString(string: String): String {
return string + "321"
}
然后在您的(子)项目构建脚本中,您可以按如下方式访问该功能:
println(myconvention.doSomethingWithString("foo"))
示例:预编译脚本插件
buildSrc/src/main/kotlin/myproject.conventions.gradle.kts
:
val doSomethingWithString by extra(
fun(string: String): String {
return string + "123"
}
)
然后在您的(子)项目构建脚本中,您可以按如下方式访问该功能:
plugins {
id("myproject.conventions")
}
val doSomethingWithString: (String) -> String by extra
println(doSomethingWithString("foo"))
第一个示例的最小工作配置
├── mysub
│ └── build.gradle.kts
├── buildSrc
│ ├── build.gradle.kts
│ └── src
│ └── main
│ └── kotlin
│ └── myconvention
│ └── myconventions.kt
└── settings.gradle.kts
mysub/build.gradle.kts
仅包含 println(myconvention.doSomethingWithString("foo"))
buildSrc/build.gradle.kts
和 buildSrc/src/main/kotlin/myconvention/myconventions.kt
有上面描述的确切内容settings.gradle.kts
:rootProject.name = "my_test"
include("mysub")
运行时
./gradlew projects
(使用 Gradle 6.7.1),如预期的那样,输出包含以下内容:
> Configure project :mysub
foo321
关于gradle - 重用 gradle.kts 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65513944/
有一个使用 Kotlin DSL 的 Gradle 6.X 多模块项目。buildSrc功能用于在中心位置管理依赖版本。类似于所描述的方法here . 该项目使用内部服务器下载依赖项。 它会导致在两个
我已经创建了一个 versions.gradle.kts 就像这样: object Defines { const val kotlinVersion = "1.2.61" con
在 Kotlin 中使用 .kts 文件的目的是什么?发布应用程序时,这些文件是否包含在应用程序包中? 最佳答案 .kt — 正常源文件,.kts — 脚本文件 您不需要 main .kts 中的函数
我们有用 gradle kotlin dsl 编写的带有构建逻辑的多模块 android 应用程序。我们使用 buildSrc 来提取常见的逻辑,比如依赖版本。我们有类似的东西: buildSrc/s
我正在尝试在 kotlin 中创建模块化构建脚本。基本上是主脚本和依赖脚本。在 build.gradle.kts 中我有: applyFrom("dependencies.kts") 在 depend
我在我的模块构建脚本中使用此代码来设置 id release build 是否可调试,但现在 isDebbugable不工作( Unresolved reference )。 getByName("r
Google 发布了 的更新版本Android Studio 3.5 .更新到此版本后,我收到以下警告: This project uses Gradle KTS build files which
我知道* .kts脚本可以包含这样的依赖项: #!/usr/bin/env kscript @file:DependsOn("com.domain.project:name:1.0-SNAPSHOT"
我有一个 Generator.kts 文件。当我使用以下命令执行它时: kotlinc -script Generator.kts 一切都按预期工作。 但是,现在我的脚本已经增长,我需要将该类分成多个
我正在转换我的 build.gradle进入 build.gradle.kts DSL。到目前为止,转换很顺利。但是在我使用 groovy 之前,当涉及到 flavor 依赖时,我陷入了困境: nam
我有一个多项目 gradle.kts 设置,我想重用一个函数,例如。 fun doSomethingWithString(string: String) { return string } 然后我使用
我的应用程序使用了几个 gradle.kts 脚本。我想设置一个对所有人都是全局的变量。 object Versions{ val kotlin_version = "1.3.60-eap-25
我试图在我的build.gradle.kts中调用Java函数 val time = java.time.LocalDateTime.now() 但这告诉我“时间”是一个 Unresolved ref
我正在尝试将Kotlin用作脚本语言。根据他们的文档,您应该能够在Kotlin脚本中运行顶级代码。 我使用他们的官方示例编写的一个简单的“Hello,World”程序不会输出任何文本。它编译/解释,成
我有一个 Kotlin Gradle 项目。 如果我创建一个 .kts 文件,它可以在 InteliJ 中运行除非当它位于 /src/main/kotlin 文件夹中时。 IDEA 以红色突出显示整个
在我的库的代码库中,我有这个包函数:fun sayHello() = println("Hello there!") 该函数在包org.jire.pomade中定义 我想在 .kts 文件中使用这个函
通过 build.gradle 构建 Kotlin 项目成功: compileKotlin { kotlinOptions.jvmTarget = JavaVersion.VERSION_1_
我在 settings.gradle.kts 中有以下代码,这在 gradle 5 中工作正常 rootProject.name = "server" val pluginsRepoUrl: Stri
创建示例: ext { versions = [ kotlin : "1.3.72", application: [
我有一个非常基本的自定义构建(Minecraft 资源包压缩和复制) 目录布局 Project - src (future Java/Kotlin sources for resource pack
我是一名优秀的程序员,十分优秀!