Separate module for unshaded version
This commit is contained in:
@@ -0,0 +1,46 @@
|
|||||||
|
apply plugin: 'kotlin'
|
||||||
|
|
||||||
|
configureJvmProject(project)
|
||||||
|
configurePublishing(project)
|
||||||
|
|
||||||
|
group = 'org.jetbrains.kotlinx'
|
||||||
|
version = project(':kotlinx-gradle-serialization-plugin').version
|
||||||
|
|
||||||
|
compileJava {
|
||||||
|
sourceCompatibility = 1.8
|
||||||
|
targetCompatibility = 1.8
|
||||||
|
options.fork = false
|
||||||
|
}
|
||||||
|
|
||||||
|
repositories {
|
||||||
|
mavenLocal()
|
||||||
|
jcenter()
|
||||||
|
maven { url 'http://repository.jetbrains.com/utils' }
|
||||||
|
}
|
||||||
|
|
||||||
|
dependencies {
|
||||||
|
compileOnly project(':kotlin-gradle-plugin-api')
|
||||||
|
|
||||||
|
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'
|
||||||
|
}
|
||||||
|
|
||||||
|
processResources {
|
||||||
|
expand(project.properties)
|
||||||
|
}
|
||||||
|
|
||||||
|
evaluationDependsOn(":kotlinx-serialization-compiler-plugin")
|
||||||
|
|
||||||
|
jar {
|
||||||
|
from(project(":kotlinx-serialization-compiler-plugin").sourceSets.main.output.classesDirs)
|
||||||
|
from(project(":kotlinx-serialization-compiler-plugin").sourceSets.main.output.resourcesDir)
|
||||||
|
manifestAttributes(manifest, project)
|
||||||
|
}
|
||||||
|
|
||||||
|
artifacts {
|
||||||
|
archives sourcesJar
|
||||||
|
archives javadocJar
|
||||||
|
}
|
||||||
@@ -26,11 +26,11 @@ repositories {
|
|||||||
}
|
}
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
|
compileOnly project(':kotlin-gradle-plugin')
|
||||||
compileOnly project(':kotlin-gradle-plugin-api')
|
compileOnly project(':kotlin-gradle-plugin-api')
|
||||||
|
|
||||||
compileOnly project(':kotlin-stdlib')
|
compileOnly project(':kotlin-stdlib')
|
||||||
compileOnly project(path: ':kotlin-compiler-embeddable', configuration: 'runtimeJar')
|
compileOnly project(path: ':kotlin-compiler-embeddable', configuration: 'runtimeJar')
|
||||||
compileOnly project(':kotlin-allopen-compiler-plugin')
|
|
||||||
|
|
||||||
compileOnly 'org.jetbrains.kotlin:gradle-api:1.6'
|
compileOnly 'org.jetbrains.kotlin:gradle-api:1.6'
|
||||||
}
|
}
|
||||||
@@ -47,7 +47,7 @@ jar {
|
|||||||
manifestAttributes(manifest, project)
|
manifestAttributes(manifest, project)
|
||||||
}
|
}
|
||||||
|
|
||||||
//ArtifactsKt.runtimeJar(project, EmbeddableKt.rewriteDepsToShadedCompiler(project, jar, {}), {})
|
ArtifactsKt.runtimeJar(project, EmbeddableKt.rewriteDepsToShadedCompiler(project, jar, {}), {})
|
||||||
|
|
||||||
artifacts {
|
artifacts {
|
||||||
archives sourcesJar
|
archives sourcesJar
|
||||||
|
|||||||
+11
-2
@@ -25,6 +25,7 @@ import org.gradle.api.tasks.compile.AbstractCompile
|
|||||||
import org.jetbrains.kotlin.gradle.plugin.KotlinGradleSubplugin
|
import org.jetbrains.kotlin.gradle.plugin.KotlinGradleSubplugin
|
||||||
import org.jetbrains.kotlin.gradle.plugin.SubpluginArtifact
|
import org.jetbrains.kotlin.gradle.plugin.SubpluginArtifact
|
||||||
import org.jetbrains.kotlin.gradle.plugin.SubpluginOption
|
import org.jetbrains.kotlin.gradle.plugin.SubpluginOption
|
||||||
|
import org.jetbrains.kotlin.gradle.tasks.AbstractKotlinCompile
|
||||||
import java.io.FileNotFoundException
|
import java.io.FileNotFoundException
|
||||||
import java.util.*
|
import java.util.*
|
||||||
|
|
||||||
@@ -42,12 +43,19 @@ class SerializationKotlinGradleSubplugin : KotlinGradleSubplugin<AbstractCompile
|
|||||||
companion object {
|
companion object {
|
||||||
const val SERIALIZATION_GROUP_NAME = "org.jetbrains.kotlinx"
|
const val SERIALIZATION_GROUP_NAME = "org.jetbrains.kotlinx"
|
||||||
const val SERIALIZATION_ARTIFACT_NAME = "kotlinx-gradle-serialization-plugin"
|
const val SERIALIZATION_ARTIFACT_NAME = "kotlinx-gradle-serialization-plugin"
|
||||||
|
const val SERIALIZATION_ARTIFACT_UNSHADED_NAME = "kotlinx-gradle-serialization-plugin-unshaded"
|
||||||
}
|
}
|
||||||
|
|
||||||
private val log = Logging.getLogger(this.javaClass)
|
private val log = Logging.getLogger(this.javaClass)
|
||||||
private val pluginVersion = "0.7.1-SNAPSHOT"
|
private val pluginVersion = "0.7.1-SNAPSHOT"
|
||||||
|
private var useUnshaded = false
|
||||||
|
|
||||||
override fun isApplicable(project: Project, task: AbstractCompile) = SerializationGradleSubplugin.isEnabled(project)
|
override fun isApplicable(project: Project, task: AbstractCompile): Boolean {
|
||||||
|
if (!SerializationGradleSubplugin.isEnabled(project)) return false
|
||||||
|
// Kotlin/Native task is not an AbstractKotlinCompile and uses unshaded compiler
|
||||||
|
if (task !is AbstractKotlinCompile<*>) useUnshaded = true
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
|
||||||
override fun apply(
|
override fun apply(
|
||||||
project: Project,
|
project: Project,
|
||||||
@@ -63,7 +71,8 @@ class SerializationKotlinGradleSubplugin : KotlinGradleSubplugin<AbstractCompile
|
|||||||
|
|
||||||
|
|
||||||
override fun getPluginArtifact(): SubpluginArtifact {
|
override fun getPluginArtifact(): SubpluginArtifact {
|
||||||
return SubpluginArtifact(SERIALIZATION_GROUP_NAME, SERIALIZATION_ARTIFACT_NAME, pluginVersion)
|
val artifact = if (useUnshaded) SERIALIZATION_ARTIFACT_UNSHADED_NAME else SERIALIZATION_ARTIFACT_NAME
|
||||||
|
return SubpluginArtifact(SERIALIZATION_GROUP_NAME, artifact, pluginVersion)
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun getCompilerPluginId() = "org.jetbrains.kotlinx.serialization"
|
override fun getCompilerPluginId() = "org.jetbrains.kotlinx.serialization"
|
||||||
|
|||||||
+3
-1
@@ -183,7 +183,8 @@ include ":kotlin-build-common",
|
|||||||
":test-instrumenter",
|
":test-instrumenter",
|
||||||
|
|
||||||
":kotlinx-serialization-compiler-plugin",
|
":kotlinx-serialization-compiler-plugin",
|
||||||
":kotlinx-gradle-serialization-plugin"
|
":kotlinx-gradle-serialization-plugin",
|
||||||
|
":kotlinx-gradle-serialization-plugin-unshaded"
|
||||||
|
|
||||||
def isTeamcityBuild = hasProperty("teamcity") || System.getenv("TEAMCITY_VERSION") != null
|
def isTeamcityBuild = hasProperty("teamcity") || System.getenv("TEAMCITY_VERSION") != null
|
||||||
def includeUltimate = hasProperty("intellijUltimateEnabled") && intellijUltimateEnabled != 'false'
|
def includeUltimate = hasProperty("intellijUltimateEnabled") && intellijUltimateEnabled != 'false'
|
||||||
@@ -300,3 +301,4 @@ project(':kotlin-noarg:plugin-marker').projectDir = file("$rootDir/libraries/too
|
|||||||
|
|
||||||
project(':kotlinx-serialization-compiler-plugin').projectDir = file("$rootDir/plugins/kotlin-serialization/kotlin-serialization-compiler")
|
project(':kotlinx-serialization-compiler-plugin').projectDir = file("$rootDir/plugins/kotlin-serialization/kotlin-serialization-compiler")
|
||||||
project(':kotlinx-gradle-serialization-plugin').projectDir = file("$rootDir/libraries/tools/kotlin-serialization")
|
project(':kotlinx-gradle-serialization-plugin').projectDir = file("$rootDir/libraries/tools/kotlin-serialization")
|
||||||
|
project(':kotlinx-gradle-serialization-plugin-unshaded').projectDir = file("$rootDir/libraries/tools/kotlin-serialization-unshaded")
|
||||||
|
|||||||
Reference in New Issue
Block a user