Commit Graph

16 Commits

Author SHA1 Message Date
Yahor Berdnikau 286d0d56af Introduce Kotlin compiler options with Gradle Properties API types
Old one is deprecated and delegates to new options. All new options
are marked with task input types, so they could be used as `@Nested`
input.

Generated options are using specific types in generated
compiler options. This should simplify code completion and provide
meaningful hints to user.

At this point repository compilation will fail.

^KT-27301 In Progress
2022-09-19 12:30:39 +02:00
Hung Nguyen a7403fc615 [New IC] Remove "-dontwarn com.google.gson.**" from compiler.pro
This line was added in commit 8c611e0 to allow the
`incremental-compilation-impl` module to use Gson.

This module is no longer using Gson now (only used by its unit tests),
so we can revert that commit.

^KT-52141 Fixed
2022-04-27 15:26:27 +00:00
Dmitriy Novozhilov 77b3823f78 [Build] Keep some asm classes in proguard rules
Those classes are needed for test framework
2022-04-19 10:49:46 +00:00
Dmitriy Novozhilov ecf4d7cbd1 [Build] Keep com.intellij.openapi.util.text.StringUtil in proguard rules
This class is required for test framework, so without new rule it's
  impossible to use it outside of Kotlin project
2022-04-13 17:09:21 +00:00
Hung Nguyen 8c611e0b4d KT-45777: Add -dontwarn com.google.gson.** to Proguard rules
The previous commit added gson to `incremental-compilation-impl` module.
However, gson is currently not added to -libraryjars for Proguard, so
running with -Pteamcity=true would fail with
```
> Task :kotlin-compiler:proguard
Warning: ... can't find referenced class com.google.gson.Gson
Warning: ... can't find referenced class com.google.gson.GsonBuilder
   You may need to add missing library jars or update their versions.
   If your code works fine without the missing classes, you can suppress
   the warnings with '-dontwarn' options.
   (http://proguard.sourceforge.net/manual/troubleshooting.html#unresolvedclass)
```

This commits adds -dontwarn com.google.gson.** to work around this
error. The proper fix is probably to add gson (and many other libraries)
to Proguard's -libraryjars.
2021-11-30 13:59:16 +03:00
Hung Nguyen 3f857cdef1 KT-45777: Update keep rules for serializable classes
to prevent broken serialization caused by missing fields/methods.

(Without this commit, the next commit will break tests.)
2021-09-14 12:10:38 +03:00
Dmitriy Dolovov c1848a26c3 [Commonizer] Use more compact interner based on THashSet 2021-03-10 13:49:54 +03:00
Dmitriy Dolovov 734dff6282 [Commonizer] Use compact variants of collections to reduce memory footprint 2020-11-05 18:50:56 +03:00
Yan Zhulanow c6de983476 Keep class members of the ExtensionPoint interface instead of its implementation for easier usage 2020-10-07 04:11:02 +09:00
Yan Zhulanow c471a7735e Keep all variants of ExtensionPointImpl.registerExtension() in the pro-guarded compiler (KT-42103) 2020-10-02 17:50:23 +09:00
Dmitriy Novozhilov f14efedc3d [FIR] Fix broken gradle compilation 2020-09-01 12:00:13 +03:00
Leonid Startsev a0154b9851 Add JarUtil.getJarAttribute to proguard rules
This method is used by serialization plugin to read runtime JAR
manifest.

Maven serialization plugin seems to use proguarded compiler
distribution,
so to use this method, it should be kept.

Size increased for about 2kb.
2020-07-21 15:10:08 +03:00
Jim Sproch 814bd48148 Keep members of com.google.common dependencies intact
It is a workaround for KTI-298
#KT-40354 In progress
2020-07-20 15:05:16 +03:00
Ilya Chernikov 9d98c90881 Drop coroutines from compiler jar, add appropriate plugin dependency
#KT-30778 fixed
2020-05-24 19:03:42 +02:00
Vyacheslav Gerasimov 507b00ee77 201: Fix kotlin-compiler proguard 2020-03-19 18:13:51 +03:00
Vyacheslav Gerasimov 7dc24a13e4 Build: Make ProGuard task cacheable
Exclude jdk files form libraries input. Instead add jdk major version
to inputs. JavaCompile task acts same to ignore fluctuations in JDK
implementations since api should remain same
2020-03-18 22:32:07 +03:00