小编all*_*nex的帖子

使用 Kotlin DSL 在单独的文件中配置插件

为了区分不同的插件配置,我使用单独的文件。

例如:

./build.gradle.kts
./detekt.gradle.kts
./settings.gradle.kts
./module1
./module2
...

在根中,build.gradle.kts我有这个:

plugins {
    id("io.gitlab.arturbosch.detekt") version DependencyVersion.Detekt
}

buildscript {
    dependencies {
        classpath(io.gitlab.arturbosch.detekt:detekt-gradle-plugin:1.1.1)
    }
}
Run Code Online (Sandbox Code Playgroud)

并配置它我去detekt.gradle.kts并把:

apply(plugin = "io.gitlab.arturbosch.detekt")

detekt {
    // configure
}
Run Code Online (Sandbox Code Playgroud)

但是detekt找不到 lambda。还尝试过:

apply(plugin = "io.gitlab.arturbosch.detekt")

configure<io.gitlab.arturbosch.detekt.Detekt> {
    // configure
}
Run Code Online (Sandbox Code Playgroud)

但它没有找到.Detekt

使用 JaCoCo,我使用第二种方法没有任何问题,但它不适用于 Detekt 或 SonarQube。

如何在单独的文件中配置插件?

谢谢。

gradle gradle-kotlin-dsl

7
推荐指数
1
解决办法
405
查看次数

lambda表达式的函数

我有一个数据类,我需要初始化一些List<String>.我需要获取JsonArray的值(我正在使用Gson).

我做了这个功能:

private fun arrayToList(data: JsonArray, key: String): List<String> {
    val list = mutableListOf<String>()

    data.forEach { a ->
        list.add(a[key].asString)
    }

    return list
}
Run Code Online (Sandbox Code Playgroud)

我如何转换为lambda表达式?

谢谢.

lambda kotlin data-class

2
推荐指数
1
解决办法
406
查看次数

用Java提取值的模式

我有各种各样的字符串,如下所示:

Status-Active
Status-Inactive 10
Run Code Online (Sandbox Code Playgroud)

我想只获得状态为"活动"和"非活动"而没有空格和数字.

我试过(?<=-)\S+并在一个网站上工作,但在Java中做同样的事情却找不到任何东西.

private final Pattern reg = Pattern.compile("(?<=-)\\S+");
...
Matcher m = reg.matcher(status);
if(m.matches())
    status = m.group(0);
Run Code Online (Sandbox Code Playgroud)

java regex

1
推荐指数
1
解决办法
216
查看次数

标签 统计

data-class ×1

gradle ×1

gradle-kotlin-dsl ×1

java ×1

kotlin ×1

lambda ×1

regex ×1