Commit Graph

19 Commits

Author SHA1 Message Date
Sergey Igushkin 66a59df7de Rework ExampleSubplugin for the new subplugins API 2020-06-19 17:30:09 +03:00
Yan Zhulanow 632fe18db6 Revert "Remove deprecated method from CommandLineProcessor"
This reverts commit 508330e0bb.

An external plugin depends on the deprecated API: com.jereksel.jailbreakk:0.0.2.
2020-01-24 18:12:21 +09:00
Jens Klingenberg 508330e0bb Remove deprecated method from CommandLineProcessor 2019-11-22 16:06:35 +09:00
Sergey Igushkin 581b161611 Expose statically-typed kotlinOptions and compileKotlinTask in DSL
To simplify configuring a `KotlinCompilation` with Gradle Kotlin DSL, it
is essential to expose statically-known types where possible.

This commit parametrizes `KotlinCompilation` with its Kotlin options
type (a subtype of `KotlinCommonOptions`) and adds `kotlinOptions` and
`compileKotlinTask` to `KotlinCompilation`.

(minor) Also reduce the visibility of `attachClassesDir` and
`setupPlugins` to internal, since this API is not for external use.
2018-11-27 19:47:38 +03:00
Sergey Igushkin dc7d488deb Update existing plugin implementations to use KotlinCompilation
Add default implementations for KotlinTarget and KotlinCompilation
(some of them are used in code added by further commits).

Refactor AbstractKotlinPlugin so that parts of its logic can be easily
applied outside the plugin (needed for MPP plugin later).

The single platform Kotlin plugins having Kotlin compiled along with
Java will now create a KotlinCompilation and a KotlinSourceSet per Java
source set or per Android variant.
The build configuration logic will use KotlinCompilation
objects rather than Java or Android plugin entities.

Subplugins API and implementations are updated to use KotlinCompilation.
2018-08-07 15:55:44 +03:00
Alexey Tsvetkov 873de17056 Resolve compiler plugin classpath using 'kotlinCompilerPluginClasspath' configuration
#KT-24653 fixed
        #KT-24676 fixed
2018-06-01 23:13:36 +03:00
Ilya Chernikov 438525dfff Proper import of the gradle part:
- using non-shadowed libs
- stop preshgadowing plugins
- switch to project dependencies
- add annotation processing module
2017-09-19 21:37:12 +02:00
Yan Zhulanow f4acf404ca Android Extensions: Support Android variants and library dependencies (KT-14086, KT-16934) 2017-07-18 18:08:31 +03:00
Alexander Udalov 861d9a1620 Use null instead of CompilerMessageLocation.NO_LOCATION in MessageCollector 2017-04-11 12:08:31 +03:00
Alexey Tsvetkov fcf23706c0 Fix gradle subplugin example 2016-12-19 22:55:23 +03:00
Yan Zhulanow 95d1210317 Kapt3: Extract annotation processing to its own task in Gradle. Now the kotlinCompile task should know nothing about kapt, for the main task it's just a regular Java source root. 2016-12-05 19:57:49 +03:00
Alexander Udalov 87fe6c41df Drop ExternalDeclarationsProvider
It was added for Android extensions, but now another mechanism is used there
(PackageFragmentProviderExtension), and there were no other implementations of
ExternalDeclarationsProvider in the project
2016-10-02 21:03:19 +03:00
Alexey Tsvetkov 6ebb50751c Remove source annotations when copy class with kapt2
Writing source annotations enables incremental compilation for kapt2.
However they are not needed in bytecode, so we remove them when
copying classes.

# Conflicts:
#	compiler/cli/src/org/jetbrains/kotlin/cli/jvm/K2JVMCompiler.kt
#	compiler/frontend.java/src/org/jetbrains/kotlin/config/JVMConfigurationKeys.java
2016-09-14 13:52:56 +03:00
Yan Zhulanow b13db88e6f Kapt: Make javaCompile parameter in KotlinGradleSubplugin non-null
(cherry picked from commit 9686344)
2016-08-29 16:31:16 +03:00
Yan Zhulanow 407af3a0e5 Kapt: Gradle plugin for the new kapt
(cherry picked from commit f4fc8f1)
2016-08-29 16:31:16 +03:00
Alexey Tsvetkov 23353facca Shade in kotlin-compiler-embeddable
Now kotlin gradle plugin is compatible with android gradle plugin 2.2

     #KT-12478 fixed
     #KT-12431 fixed
     #KT-12406 fixed
2016-06-07 14:42:35 +03:00
Yan Zhulanow 26ed1c3756 Move Android Extensions subplugin to the main kotlin-gradle-plugin artifact 2016-01-26 21:13:37 +03:00
Pavel V. Talanov ed218c473a Get rid of 'class object' usages in code and builtins
Replace some comments and library usages as well
2015-03-25 18:28:00 +03:00
Yan Zhulanow 8760beeed1 Gradle subplugin test 2015-03-13 15:46:38 +03:00