201: Fix kotlin-compiler proguard

This commit is contained in:
Vyacheslav Gerasimov
2020-03-16 20:12:38 +03:00
committed by Nikolay Krasko
parent be87d5fab5
commit 507b00ee77
2 changed files with 15 additions and 6 deletions
+13 -1
View File
@@ -16,6 +16,8 @@ val JDK_18: String by rootProject.extra
val fatJarContents by configurations.creating val fatJarContents by configurations.creating
val fatJarContentsStripMetadata by configurations.creating val fatJarContentsStripMetadata by configurations.creating
val fatJarContentsStripServices by configurations.creating val fatJarContentsStripServices by configurations.creating
val fatJarContentsStripVersions by configurations.creating
val compilerVersion by configurations.creating val compilerVersion by configurations.creating
// JPS build assumes fat jar is built from embedded configuration, // JPS build assumes fat jar is built from embedded configuration,
@@ -26,6 +28,7 @@ if (kotlinBuildProperties.isInJpsBuildIdeaSync) {
extendsFrom(fatJarContents) extendsFrom(fatJarContents)
extendsFrom(fatJarContentsStripMetadata) extendsFrom(fatJarContentsStripMetadata)
extendsFrom(fatJarContentsStripServices) extendsFrom(fatJarContentsStripServices)
extendsFrom(fatJarContentsStripVersions)
extendsFrom(compilerVersion) extendsFrom(compilerVersion)
} }
} }
@@ -211,13 +214,15 @@ dependencies {
fatJarContents(intellijDep()) { fatJarContents(intellijDep()) {
includeIntellijCoreJarDependencies(project) { includeIntellijCoreJarDependencies(project) {
!(it.startsWith("jdom") || it.startsWith("log4j") || it.startsWith("trove4j")) !(it.startsWith("jdom") || it.startsWith("log4j") || it.startsWith("trove4j") || it.startsWith("streamex"))
} }
} }
fatJarContentsStripServices(jpsStandalone()) { includeJars("jps-model") } fatJarContentsStripServices(jpsStandalone()) { includeJars("jps-model") }
fatJarContentsStripMetadata(intellijDep()) { includeJars("oro-2.0.8", "jdom", "log4j" ) } fatJarContentsStripMetadata(intellijDep()) { includeJars("oro-2.0.8", "jdom", "log4j" ) }
fatJarContentsStripVersions(intellijCoreDep()) { includeJars("streamex", rootProject = rootProject) }
} }
publish() publish()
@@ -245,6 +250,13 @@ val packCompiler by task<Jar> {
zipTree(it).matching { exclude("META-INF/jb/**", "META-INF/LICENSE") } zipTree(it).matching { exclude("META-INF/jb/**", "META-INF/LICENSE") }
} }
} }
dependsOn(fatJarContentsStripVersions)
from {
fatJarContentsStripVersions.files.map {
zipTree(it).matching { exclude("META-INF/versions/**") }
}
}
} }
val proguard by task<CacheableProguardTask> { val proguard by task<CacheableProguardTask> {
+2 -5
View File
@@ -37,14 +37,11 @@
-dontwarn javax.crypto.** -dontwarn javax.crypto.**
-dontwarn java.lang.invoke.MethodHandle -dontwarn java.lang.invoke.MethodHandle
-dontwarn org.jline.builtins.Nano$Buffer -dontwarn org.jline.builtins.Nano$Buffer
-dontwarn org.jetbrains.annotations.ReadOnly
-dontwarn org.jetbrains.annotations.Mutable
-dontwarn com.intellij.util.io.TarUtil -dontwarn com.intellij.util.io.TarUtil
-dontwarn com.intellij.util.io.Compressor$Tar -dontwarn com.intellij.util.io.Compressor$Tar
# Annotations from intellijCore/annotations.jar that not presented in org.jetbrains.annotations # Some annotations from intellijCore/annotations.jar are not presented in org.jetbrains.annotations
-dontwarn org.jetbrains.annotations.Async* -dontwarn org.jetbrains.annotations.*
-dontwarn org.jetbrains.annotations.Nls$Capitalization
# Nullability annotations used in Guava # Nullability annotations used in Guava
-dontwarn org.checkerframework.checker.nullness.compatqual.NullableDecl -dontwarn org.checkerframework.checker.nullness.compatqual.NullableDecl