Kapt: Get rid of DatatypeConverter in order to support JDK9 (KT-20749)

This commit is contained in:
Yan Zhulanow
2017-10-16 22:49:41 +03:00
parent fa54a0c642
commit e97b3ed324
2 changed files with 4 additions and 4 deletions
@@ -33,10 +33,10 @@ import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
import java.io.ByteArrayOutputStream
import java.io.File
import java.io.ObjectOutputStream
import javax.xml.bind.DatatypeConverter.printBase64Binary
import org.jetbrains.kotlin.gradle.internal.Kapt3GradleSubplugin.Companion.getKaptGeneratedSourcesDir
import org.jetbrains.kotlin.gradle.internal.Kapt3GradleSubplugin.Companion.getKaptGeneratedClassesDir
import org.jetbrains.kotlin.gradle.internal.Kapt3GradleSubplugin.Companion.getKaptGeneratedKotlinSourcesDir
import java.util.*
// apply plugin: 'kotlin-kapt'
class Kapt3GradleSubplugin : Plugin<Project> {
@@ -261,7 +261,7 @@ class Kapt3KotlinGradleSubplugin : KotlinGradleSubplugin<KotlinCompile> {
}
oos.flush()
return printBase64Binary(os.toByteArray())
return Base64.getEncoder().encodeToString(os.toByteArray())
}
private fun Kapt3SubpluginContext.addMiscOptions(pluginOptions: MutableList<SubpluginOption>) {
@@ -45,7 +45,7 @@ import org.jetbrains.kotlin.resolve.jvm.extensions.AnalysisHandlerExtension
import java.io.ByteArrayInputStream
import java.io.File
import java.io.ObjectInputStream
import javax.xml.bind.DatatypeConverter
import java.util.*
object Kapt3ConfigurationKeys {
val SOURCE_OUTPUT_DIR: CompilerConfigurationKey<String> =
@@ -175,7 +175,7 @@ class Kapt3ComponentRegistrar : ComponentRegistrar {
fun decodeOptions(options: String): Map<String, String> {
val map = LinkedHashMap<String, String>()
val decodedBytes = DatatypeConverter.parseBase64Binary(options)
val decodedBytes = Base64.getDecoder().decode(options)
val bis = ByteArrayInputStream(decodedBytes)
val ois = ObjectInputStream(bis)