Kapt3: Allow to use ':' in annotation processor option value (KT-15139)
This commit is contained in:
committed by
Yan Zhulanow
parent
3ecac1bbd3
commit
e3db014c27
+2
@@ -106,6 +106,8 @@ class Kapt3IT : BaseGradleIT() {
|
||||
Project("arguments", GRADLE_VERSION, directoryPrefix = "kapt2").build("build") {
|
||||
assertSuccessful()
|
||||
assertKaptSuccessful()
|
||||
assertContains("Options: {suffix=Customized, justColon=:, justEquals==, containsColon=a:b, " +
|
||||
"containsEquals=a=b, startsWithColon=:a, startsWithEquals==a, endsWithColon=a:, endsWithEquals=a:}")
|
||||
assertFileExists("build/generated/source/kapt/main/example/TestClassCustomized.java")
|
||||
assertFileExists("build/classes/main/example/TestClass.class")
|
||||
assertFileExists("build/classes/main/example/TestClassCustomized.class")
|
||||
|
||||
+8
@@ -23,5 +23,13 @@ dependencies {
|
||||
kapt {
|
||||
arguments {
|
||||
arg("suffix", "Customized")
|
||||
arg("justColon", ":")
|
||||
arg("justEquals", "=")
|
||||
arg("containsColon", "a:b")
|
||||
arg("containsEquals", "a=b")
|
||||
arg("startsWithColon", ":a")
|
||||
arg("startsWithEquals", "=a")
|
||||
arg("endsWithColon", "a:")
|
||||
arg("endsWithEquals", "a:")
|
||||
}
|
||||
}
|
||||
@@ -128,8 +128,8 @@ class Kapt3ComponentRegistrar : ComponentRegistrar {
|
||||
val apClasspath = configuration.get(ANNOTATION_PROCESSOR_CLASSPATH)?.map(::File) ?: return
|
||||
|
||||
val apOptions = (configuration.get(APT_OPTIONS) ?: listOf())
|
||||
.map { it.split(':') }
|
||||
.filter { it.isNotEmpty() && it.size <= 2 }
|
||||
.map { it.split(':', limit = 2) }
|
||||
.filter { it.isNotEmpty() }
|
||||
.map { it[0] to it.getOrElse(1) { "" } }
|
||||
.toMap()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user