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") {
|
Project("arguments", GRADLE_VERSION, directoryPrefix = "kapt2").build("build") {
|
||||||
assertSuccessful()
|
assertSuccessful()
|
||||||
assertKaptSuccessful()
|
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/generated/source/kapt/main/example/TestClassCustomized.java")
|
||||||
assertFileExists("build/classes/main/example/TestClass.class")
|
assertFileExists("build/classes/main/example/TestClass.class")
|
||||||
assertFileExists("build/classes/main/example/TestClassCustomized.class")
|
assertFileExists("build/classes/main/example/TestClassCustomized.class")
|
||||||
|
|||||||
+8
@@ -23,5 +23,13 @@ dependencies {
|
|||||||
kapt {
|
kapt {
|
||||||
arguments {
|
arguments {
|
||||||
arg("suffix", "Customized")
|
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 apClasspath = configuration.get(ANNOTATION_PROCESSOR_CLASSPATH)?.map(::File) ?: return
|
||||||
|
|
||||||
val apOptions = (configuration.get(APT_OPTIONS) ?: listOf())
|
val apOptions = (configuration.get(APT_OPTIONS) ?: listOf())
|
||||||
.map { it.split(':') }
|
.map { it.split(':', limit = 2) }
|
||||||
.filter { it.isNotEmpty() && it.size <= 2 }
|
.filter { it.isNotEmpty() }
|
||||||
.map { it[0] to it.getOrElse(1) { "" } }
|
.map { it[0] to it.getOrElse(1) { "" } }
|
||||||
.toMap()
|
.toMap()
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user