Changed serialization gradle plugin build to gradle

Env variable for idea SDK on TeamCity
Fix kotlin_root dir relative path

Updated broken API after rebase to 1.1.50

Bintray upload setup
This commit is contained in:
Leonid Startsev
2017-09-07 16:09:26 +03:00
parent ef11fb5857
commit 8cacaecf90
8 changed files with 83 additions and 182 deletions
@@ -1,6 +1,6 @@
buildscript {
ext {
kotlin_root = "$rootDir/../../../"
kotlin_root = file("$rootDir/../../..")
distDir = file("$kotlin_root/dist")
bootstrapCompilerFile = file("$distDir/kotlin-compiler-for-maven.jar")
kotlin_version = "1.1.3"
@@ -57,7 +57,9 @@ jar {
apply plugin: 'org.jetbrains.intellij'
intellij {
localPath "$kotlin_root/ideaSDK"
if (findProperty("noIdeaSDK") == null) {
localPath "$kotlin_root/ideaSDK"
}
pluginName 'Kotlin-serialization'
downloadSources false
}
@@ -28,6 +28,7 @@ import org.jetbrains.kotlin.js.translate.general.Translation
import org.jetbrains.kotlin.js.translate.utils.JsAstUtils
import org.jetbrains.kotlin.js.translate.utils.TranslationUtils
import org.jetbrains.kotlin.psi.KtExpression
import org.jetbrains.kotlin.psi.KtProperty
import org.jetbrains.kotlin.psi.KtPureClassOrObject
import org.jetbrains.kotlinx.serialization.compiler.backend.common.SerializableCodegen
import org.jetbrains.kotlinx.serialization.compiler.backend.common.anonymousInitializers
@@ -83,7 +84,7 @@ class SerializableJsTranslator(val declaration: KtPureClassOrObject,
//transient initializers and init blocks
val serialDescs = properties.serializableProperties.map { it.descriptor }
(initMap - serialDescs).forEach { desc, expr ->
(initMap - serialDescs).forEach { (desc, expr) ->
val e = requireNotNull(expr) {"transient without an initializer"}
val initExpr = Translation.translateAsExpression(e, context)
+TranslationUtils.assignmentToBackingField(context, desc, initExpr).makeStmt()
@@ -25,7 +25,6 @@ import org.jetbrains.kotlin.js.translate.declaration.DefaultPropertyTranslator
import org.jetbrains.kotlin.js.translate.general.Translation
import org.jetbrains.kotlin.js.translate.utils.JsAstUtils
import org.jetbrains.kotlin.js.translate.utils.TranslationUtils
import org.jetbrains.kotlin.js.translate.utils.TranslationUtils.shouldBoxReturnValue
import org.jetbrains.kotlin.name.Name
import org.jetbrains.kotlin.psi.KtPureClassOrObject
import org.jetbrains.kotlin.resolve.descriptorUtil.classId
@@ -260,10 +259,10 @@ class SerializerJsTranslator(declaration: KtPureClassOrObject,
).makeStmt()
}
// char unboxing crutch
if (KotlinBuiltIns.isCharOrNullableChar(property.type) && !shouldBoxReturnValue(property.descriptor.getter)) {
if (KotlinBuiltIns.isCharOrNullableChar(property.type)) {
+JsAstUtils.assignment(
localProps[i],
Translation.unboxIfNeeded(context, localProps[i], true)
TranslationUtils.coerce(context, localProps[i], TranslationUtils.getReturnTypeForCoercion(property.descriptor.getter!!))
).makeStmt()
}
@@ -150,9 +150,9 @@ class SerializableCodegenImpl(
val serializedProps = properties.serializableProperties.map { it.descriptor }
(descToProps - serializedProps)
.forEach { _, prop -> classCodegen.initializeProperty(exprCodegen, prop) }
.forEach { (_, prop) -> classCodegen.initializeProperty(exprCodegen, prop) }
(paramsToProps - serializedProps)
.forEach { t, u -> exprCodegen.genInitParam(t, u) }
.forEach { (t, u) -> exprCodegen.genInitParam(t, u) }
// init blocks
// todo: proper order with other initializers