Serialization plugin GSK build

Fixed issue when serialDesc property getter was generated, but backing field not.

Respect @Serializable(with=...) on property

Calling 3-arg readElementValue for support of custom contexts

Ability to nest context-based serializer

Migration to 1.2-Beta2

Use polymorphicSerializer prior to default

Don't use polymorphic serializers for all java classes

Docs and maven project update

Remove plugin runtime dependency on stdlib
This commit is contained in:
Leonid Startsev
2017-10-06 17:52:46 +03:00
parent 8a250b07df
commit f42767fcc2
21 changed files with 133 additions and 437 deletions
@@ -11,14 +11,13 @@
<serialization.maven.plugin.resources>${basedir}/src/main/resources</serialization.maven.plugin.resources>
<serialization.target-src>${basedir}/target/src/main/kotlin</serialization.target-src>
<serialization.target-resources>${basedir}/target/resource</serialization.target-resources>
<kotlin.version>1.1-SNAPSHOT</kotlin.version>
<kotlin.version>1.2-SNAPSHOT</kotlin.version>
</properties>
<groupId>org.jetbrains.kotlinx</groupId>
<artifactId>kotlinx-maven-serialization-plugin</artifactId>
<packaging>jar</packaging>
<version>0.1.1</version>
<version>0.2</version>
<description>Serialization plugin for Maven</description>
<repositories>
@@ -33,6 +32,7 @@
<groupId>org.jetbrains.kotlin</groupId>
<artifactId>kotlin-stdlib</artifactId>
<version>${kotlin.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.jetbrains.kotlin</groupId>
@@ -2,12 +2,16 @@ plugins {
id "com.jfrog.bintray" version "1.7.3"
}
group = 'org.jetbrains.kotlinx'
version = '0.1.1'
apply plugin: 'kotlin'
configureJvmProject(project)
configurePublishing(project)
group = 'org.jetbrains.kotlinx'
version = '0.2'
if (!project.hasProperty("deploy")) {
version = "$version-SNAPSHOT"
}
compileJava {
sourceCompatibility = 1.8
@@ -24,55 +28,35 @@ repositories {
dependencies {
compileOnly project(':kotlin-gradle-plugin-api')
compile "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
compile "org.jetbrains.kotlin:kotlin-compiler-embeddable:$kotlin_version"
compileOnly project(':kotlin-stdlib')
compileOnly project(path: ':kotlin-compiler-embeddable', configuration: 'runtimeJar')
compileOnly project(':kotlin-allopen-compiler-plugin')
compileOnly 'org.jetbrains.kotlin:gradle-api:1.6'
}
def originalSrc = "$kotlin_root/plugins/kotlin-serialization/kotlin-serialization-compiler/src"
def targetSrc = file("$buildDir/kotlin-serialization-target-src")
task preprocessSources(type: Copy) {
from originalSrc
into targetSrc
filter { it.replaceAll('(?<!\\.)com\\.intellij', 'org.jetbrains.kotlin.com.intellij') }
}
sourceSets.main.java.srcDirs += targetSrc
compileKotlin.dependsOn preprocessSources
evaluationDependsOn(":kotlinx-serialization-compiler-plugin")
jar {
from(targetSrc) { include("META-INF/**") }
from(project(":kotlinx-serialization-compiler-plugin").sourceSets.main.output.classesDirs)
from(project(":kotlinx-serialization-compiler-plugin").sourceSets.main.output.resourcesDir)
manifestAttributes(manifest, project)
}
apply plugin: 'maven-publish'
ArtifactsKt.runtimeJar(project, EmbeddableKt.rewriteDepsToShadedCompiler(project, jar, {}), {})
task sourceJar(type: Jar, dependsOn: classes) {
classifier 'sources'
from sourceSets.main.allSource
}
publishing {
publications {
mavenProject(MavenPublication) {
from components.java
groupId project.group
artifactId project.name
version project.version
artifact sourceJar {
classifier "sources"
}
}
}
artifacts {
archives sourcesJar
archives javadocJar
}
bintray {
user = project.hasProperty('bintrayUser') ? project.property('bintrayUser') : System.getenv('BINTRAY_USER')
key = project.hasProperty('bintrayApiKey') ? project.property('bintrayApiKey') : System.getenv('BINTRAY_API_KEY')
publications = ['mavenProject']
configurations = ['archives']
if (!project.hasProperty("deploy")) {
dryRun = true
}
pkg {
repo = 'kotlinx'
name = 'kotlinx.serialization.plugin'