Commit Graph

3881 Commits

Author SHA1 Message Date
Alexander Udalov a1f895bb1f Rewrite kotlin-reflect build script from Groovy to Kotlin 2017-11-28 12:45:53 +01:00
Alexander Udalov 885ddc49a2 Move libraries/reflect/{build.gradle -> build.gradle.kts}
To preserve Git history after conversion to Kotlin in the next commit
2017-11-28 12:35:50 +01:00
Alexander Udalov 329fbd8fa8 Extract kotlin-reflect-api module out of kotlin-reflect
This is needed only for faster compilation of the Kotlin project itself
and has no effect on the public artifact
org.jetbrains.kotlin:kotlin-reflect.

The problem this is solving is the rebuild of the project once anything
has been changed in modules in 'core' (even inside function bodies, i.e.
a non-API change). Previously, changes in 'core' led to the compilation
of kotlin-reflect, which led to the rebuild of all modules depending on
kotlin-reflect directly or indirectly (which is almost all modules in
the project) because kotlin-reflect's artifacts are custom-built and the
changes can not be picked up incrementally. But 99.9% of the time the
initial changes in 'core' could not have any effect on the usages of
kotlin-reflect, because classes from those modules are moved to an
internal package in kotlin-reflect and thus are an internal
implementation detail.

Now, changes in 'core' still lead to the compilation of kotlin-reflect
and to the process of building the custom jar. But if a module depends
on kotlin-reflect-api, not kotlin-reflect, then the incremental
difference checker will detect that the module does not have to be
recompiled if there hasn't been any changes to the API of
kotlin-reflect-api. Which means that the module will not be rebuilt on
every change in 'core'.

This commit only introduces the new module. The dependencies
(kotlin-reflect -> kotlin-reflect-api) are replaced in the next commit.
2017-11-28 12:35:48 +01:00
Alexander Udalov 3e8b39af90 Move kotlin-reflect Gradle project to libraries/reflect/ 2017-11-28 12:33:21 +01:00
Alexey Tsvetkov a1939c093c Use isolated classloader for in-process compilation
#KT-20233 fixed
2017-11-24 16:17:13 +03:00
Alexey Tsvetkov 0077ab59d6 Remove custom cache version checks from Gradle
#KT-21009 fixed

Cache version could be changed only when compiler is changed.

@InputFiles on `AbstractKotlinCompileTool#computedCompilerClasspath`
ensures that non incremental build is performed when compiler is changed.
2017-11-24 16:17:13 +03:00
Alexey Tsvetkov 2b708f67ee Add tests for explicit language/api version change in Gradle
Modifying language/api version should cause non-incremental build.
Implicit change (e.g. when versions are not specified, but the compiler
is updated 1.1->1.2) is handled by `AbstractKotlinCompileTool#computedCompilerClasspath`.
Explicit change is handled by `AbstractKotlinCompile#serializedCompilerArguments`.
2017-11-23 14:46:23 +03:00
Leonid Startsev d6e5551237 More entry points for compiler plugins
* In Kotlin/JS JPS compilation
* In kotlin-common CLI compiler
* In kotlin-common gradle build
2017-11-23 12:12:01 +03:00
Nikolay Krasko d2aabe076d Refactoring: extract jar names in PathUtil and use them in artifacts 2017-11-21 01:11:01 +03:00
Ilya Chernikov 0e5c443894 Move kapt3 embeddable to prepare folder 2017-11-20 22:59:40 +01:00
Ilya Chernikov 6f73e9994b Add kotlin-annotation-processing-embeddable, publish base kapt3 as kotlion-annotation-processing
(cherry picked from commit 148d4e4)
2017-11-20 20:06:43 +01:00
Ilmir Usmanov 0fbbe10143 Support suspendCoroutineUninterceptedOrReturn intrinsic
KT-17336: Fixed
2017-11-20 18:12:41 +03:00
Ilya Gorbunov fdeb916111 Correct exclusions of kotlin-stdlib-js 2017-11-16 20:30:51 +03:00
Vladimir Kasatkin 9b49e9139c Added samples for map filtering operators (KT-20357)
Fix map transformations sample names.
2017-11-15 23:58:51 +03:00
Ilya Gorbunov dca23e339a Improve iterator samples, add explanatory comments (KT-20357) 2017-11-15 23:58:49 +03:00
kenji tomita 4d13ea89b2 Add samples for iterator-related extensions (KT-20357) 2017-11-15 23:39:07 +03:00
Ilya Gorbunov 9de6dd814b Docs: clarifications on LazyThreadSafetyMode 2017-11-15 17:41:43 +03:00
Nikolay Krasko 0768e7404b Stop overwriting values with defaults in compiler arguments
'verbose' option was always lost.
2017-11-15 16:12:41 +03:00
Nikolay Krasko 0480042ffd Log incremental options before passing them to kotlin daemon 2017-11-15 16:12:40 +03:00
Nikolay Krasko 643f771c24 Report rebuild reason in rebuild function 2017-11-15 16:12:38 +03:00
Ilya Gorbunov 27546546fa Minor: specify explicit name for lambda parameter, use also instead of let 2017-11-15 12:01:22 +03:00
Sergey Ryabov 7fe7b6d6e1 Change FileReadWrite to more idiomatic code 2017-11-15 12:01:22 +03:00
Ilya Gorbunov 7c543b6b28 Rewrite array and specialized operations in new DSL 2017-11-15 09:17:42 +03:00
Ilya Gorbunov c4ac2548d9 Rewrite Mapping.kt in new DSL 2017-11-15 09:17:42 +03:00
Ilya Gorbunov efefa64ac5 Rewrite snapshot and set operations in new DSL 2017-11-15 09:17:42 +03:00
Ilya Gorbunov 3b6c5880e2 Rewrite range operations in new DSL 2017-11-15 09:17:42 +03:00
Ilya Gorbunov c3b894f041 Rewrite Guards, Numeric, SequenceOps, StringJoinOps in new DSL 2017-11-15 09:17:42 +03:00
Ilya Gorbunov d2e1baa9d4 Rewrite Ordering.kt in new DSL 2017-11-15 09:17:42 +03:00
Ilya Gorbunov ff336cdf84 Rewrite Generators.kt in new DSL 2017-11-15 09:17:42 +03:00
Ilya Gorbunov eb2db85c46 Rewrite Filtering.kt in new DSL 2017-11-15 09:17:42 +03:00
Ilya Gorbunov d8455ba765 Rewrite Elements.kt in new DSL 2017-11-15 09:17:42 +03:00
Ilya Gorbunov 012d3804f0 Rewrite Aggregates.kt to the new template DSL 2017-11-15 09:17:42 +03:00
Ilya Gorbunov dd0e04edd5 Switch production generated stdlib sources to the new DSL and remove old DSL 2017-11-15 09:17:42 +03:00
Ilya Gorbunov db049c0ab6 Introduce deprecated helpers to ease migration 2017-11-15 09:17:42 +03:00
Ilya Gorbunov 9f57a2c0d5 Make generated code ordered same as before
Allow to fix signature for sorting when overriding it
2017-11-15 09:17:42 +03:00
Ilya Gorbunov 31e00efa8f Legacy mode for non-multiplatform stdlib sources 2017-11-15 09:17:42 +03:00
Ilya Gorbunov 4404257329 Improve new stdlib generator DSL
- Add Kotlin/Native platform.
- Rename classes.
- Introduce TemplateGroup and TemplateGroupBase to group template values.
- MemberBuilder: add support for more properties.
2017-11-15 09:17:42 +03:00
Ilya Gorbunov e68a6651d2 Prototype new version of stdlib generator template DSL 2017-11-15 09:17:42 +03:00
Ilya Gorbunov 9e34e20338 Refactor stdlib generator: extract common types to be reused in new DSL 2017-11-15 09:17:42 +03:00
Ilya Gorbunov dcd0a94d76 Minor: fix extra space in return type of chunked and windowed 2017-11-15 09:17:42 +03:00
Pavel V. Talanov cdfdc1d19b Refactor script definitions loading
Make ScriptDefinitionProvider an interface
    and provide different implementation for cli and IDEA
Rework ide extension point to a simpler interface (ScriptDefinitionContributor)
Move template loading logic into a top level function
Allow script definitions to be reloaded in IDE
2017-11-14 16:30:33 +03:00
Ilya Gorbunov f51974b271 Minor fix in comparison samples #KT-20357 2017-11-10 23:32:20 +03:00
scache 96e322c7d5 Add samples for Comparisons #KT-20357 2017-11-10 23:32:06 +03:00
Ilya Gorbunov e16a0ba650 Improve and group samples for operations on Iterables #KT-20357 2017-11-10 23:31:50 +03:00
kenji tomita 75348dd0c0 Add samples for Iterables #KT-20357 2017-11-10 23:31:31 +03:00
Alexey Belkov 5da1b4c566 Minor: fix sample name (KT-20357) 2017-11-10 23:29:39 +03:00
Alexander Udalov 36026d3f16 Minor, remove obsolete jdkPath 2017-11-10 18:58:32 +01:00
Alexander Udalov 208e68a968 Move strip-kotlin-annotations script to buildSrc
... and invoke it directly in kotlin-reflect's build file, instead of
running another instance of compiler to evaluate a script. Also only
strip kotlin.Metadata, since it's the only annotation with heavy
metadata on Kotlin-generated class files
2017-11-10 18:58:32 +01:00
Alexander Udalov 38bee07fd0 Remove obsolete protobuf-lite building scripts
This logic is now present in
custom-dependencies/protobuf-lite/build.gradle
2017-11-10 18:58:31 +01:00
Alexander Udalov 02981038f3 Split core into descriptors, descriptors.jvm, deserialization, descriptors.runtime 2017-11-10 18:58:31 +01:00