Commit Graph

183 Commits

Author SHA1 Message Date
Denis Zharkov e24e711208 Avoid rebuilds after changes of layouts xml-files
This commit makes IC react more granularly on these changes
Precisely, it marks dirty only kt-files that having lookups into
synthetic package built upon a changed layout-file

 #KT-21622 Fixed
2017-12-12 16:17:58 +03:00
Denis Zharkov a079b92ea0 Add property for precise version of Java tracking in Gradle IC
The flag name is kotlin.incremental.usePreciseJavaTracking
By default precise version is disabled

 #KT-17621 Fixed
2017-12-12 16:17:58 +03:00
Denis Zharkov a978c6be35 Fix precise Java IC for multi-module projects
The problem may happen in case of multi-module projects:
If a Java class was effectively unused in one module (A),
but it's used in kt-files from the dependent module (B) then
we wouldn't track the changes of the class while compiling A
and don't recompile its usages in B.

It happens because now we track only Java classes that were
resolved by out frontend instead of all classes in the module
that would be more correct but it might be rather slow.

The idea is that whenever we see change in an untracked Java file
we start tracking the classes in it and for the first time we mark
all its content as changed.
2017-12-12 16:17:58 +03:00
Yan Zhulanow ef6be206d0 Kapt: Clear URL cache after changing annotation processor JAR 2017-12-01 22:53:22 +09:00
Sergey Igushkin bf2e3decaa Add :kotlin-annotation-processing-gradle:install dependency to Gradle IT 2017-11-30 15:42:42 +03:00
Alexey Andreev 1d48442a5d Change default output dir in JS DCE Gradle plugin
See KT-21328

Compiler removes all files from its output directory.
Due to this reason (and some other reasons) it't not a good idea
to put DCE output to `classes` dir.
Therefore we changed output dir to `$buildDir/kotlin-js-min`.
Additionally, we now allow to customize output dir.
In particular, this fixes issues with webpack in multi-project build +
continuous Gradle build.
2017-11-29 20:08:30 +03:00
Alexey Andreev 5672e1f56e JS: add DCE devmode. Fix mapping paths in source maps
See KT-20210, KT-21307
2017-11-29 20:08:30 +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
Alexey Tsvetkov 313cd4f7bc Turn off IC for multiplatform projects by default
Multiplatform IC is enabled when a corresponding platform property is enabled
and 'kotlin.incremental.multiplatform' is set to `true`.

See KT-20840
2017-10-25 01:12:34 +03:00
Alexey Tsvetkov e83f1b138b Perform non-IC build when JS lib is changed 2017-10-24 16:28:57 +03:00
Ilya Chernikov 431d47a605 Fix dependencies rewriting and gradle integration tests after applying rewriting 2017-10-16 21:48:36 +02:00
Sergey Igushkin 260244fa09 (minor) Fix bad file content replacement in a test. 2017-10-12 15:14:07 +03:00
Sergey Igushkin bd75a47a07 Update Android license string for Gradle tests
(cherry picked from commit 2697445)
2017-10-12 14:23:32 +03:00
Sergey Igushkin dff15a3d59 Fix multiplatform projects communication broken if the plugin is loaded
more than once in different class loaders.

Issue #KT-20634 Fixed

(cherry picked from commit c65f210)
2017-10-11 20:32:11 +03:00
Sergey Igushkin 17eac133a2 (minor) Make a test running on Gradle 4.0+ check the classes correctly 2017-10-11 02:25:30 +03:00
Sergey Igushkin 205df7b1f3 ~ Remove debug port 2017-10-10 19:40:18 +03:00
Sergey Igushkin 8e967c9b6b Move existing multiplatform tests to separate class; add options test. 2017-10-10 19:40:18 +03:00
Alexey Andreev 9008791a54 JS: generate paths in source maps relative to .map file location
See KT-19818
2017-10-06 15:24:25 +03:00
Sergey Igushkin f4ec8df187 Remove erroneous mavenCentral() from plugins DSL tests 2017-10-05 21:07:46 +03:00
Sergey Igushkin a2df5c38dd Remove the Kotlin version suffix from PluginsDslIT.kt 2017-10-05 21:05:06 +03:00
Sergey Igushkin 769759d6ce Add jcenter() to testProject repositories where needed. 2017-10-05 21:05:06 +03:00
Sergey Igushkin ad4fc7363e Install annotation-processor-example for Gradle integration tests. 2017-10-05 21:05:06 +03:00
Ilya Gorbunov ae28af03d1 Add mavenCentral or jcenter to fetch external dependencies of our gradle plugin and stdlib 2017-10-05 21:05:05 +03:00
Ilya Gorbunov 6a61d22ad3 Correctly setup maven local repository path and kotlin version for gradle integration tests 2017-10-05 21:05:05 +03:00
Sergey Igushkin 7af7696c44 Refactor UpToDatenessIT.kt
(cherry picked from commit 878ec8b)
2017-10-05 20:44:55 +03:00
Sergey Igushkin 5f593ac3f8 Add @Input to compiler args and compiler JAR. Add up-to-date-ness tests.
Issue #KT-20036 Fixed
Issue #KT-3463 Fixed
Issue #KT-16299 Fixed
Issue #KT-16915 Fixed

(cherry picked from commit e6d867f)
2017-10-05 20:24:01 +03:00
Sergey Igushkin 28567570ea Changes related to the 'expectedBy' Gradle configuration:
* Remove the `extendsFrom` relation;
* Refactor, reword warnings;
* Add the new expectedBy name to `KotlinGradleModelBuilder.kt`.

(cherry picked from commit de198f0)
2017-10-05 15:37:44 +03:00
Sergey Igushkin ff687131b1 Rename implement to expectedBy in Gradle, deprecate the old name
Issue #KT-20618 Fixed

(cherry picked from commit 6e0d378)
2017-10-05 15:37:43 +03:00
Andrey Mischenko e4fe9be5e7 Merge branch 'master' into KT-18765 2017-10-04 17:43:11 +08:00
Alexey Tsvetkov 72d2e7dd45 Minor: restore accidentally removed import 2017-09-29 21:40:54 +03:00
Alexey Tsvetkov a8cfe19769 Add option to debug Kotlin daemon in Gradle integration tests 2017-09-29 15:19:36 +03:00
Alexey Tsvetkov 39f49f1449 Ensure dependencies are installed before running Gradle integration tests 2017-09-29 15:19:36 +03:00
Alexey Tsvetkov 62f293280c Gradle: compile tests incrementally when main is changed
#KT-17674 fixed
2017-09-29 05:11:20 +03:00
Andrey Mischenko 4a2ea4de4b KT-18765 Move incremental compilation message from Gradle's warning to info logging level 2017-09-21 14:30:09 +08:00
Ilya Chernikov df04efcf14 Rename artifacts, fix dependencies and artifact contents 2017-09-20 11:52:00 +02:00
Ilya Chernikov 776f1c8d19 Do not shade com.intellij in embeddable compiler 2017-09-20 11:51:45 +02:00
Ilya Chernikov 1862c78bdc Fix projects for gradle integration tests 2017-09-20 11:51:44 +02:00
Ilya Chernikov b6c255cea5 Refactor: project renaming, using improved build dsl 2017-09-19 21:37:22 +02:00
Ilya Chernikov 96d5e0bb21 Refactoring - renaming projects, applying sourceSets DSL 2017-09-19 21:37:18 +02: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
Ilya Chernikov 6b22282ad4 Change previous gradle build for compatibility with the centralized build
incompatible with the main build yet
2017-09-19 21:37:07 +02:00
Sergey Igushkin 41b13d25f2 Fix javaOutputDir changed to the JAR, which was breaking unit tests
internal visibility, because they did not get the JAR into classpath

Issue #KT-20212 Fixed

(cherry picked from commit 19e861b)
2017-09-19 15:33:58 +03:00
Sergey Igushkin 5ce514bd42 Changes to configuration of Kotlin source set
* Include the Java source directory set as-is, without iterating over
its srcDirs
* Avoid Java sources duplication with newer Gradle versions.

Issue #KT-16764 Fixed
Issue #KT-17564 Fixed
2017-09-19 15:33:58 +03:00
Stanislav Erokhin 91a99b4726 Migrate impl to actual in libraries projects 2017-09-16 19:47:46 +03:00
Stanislav Erokhin 481cbd0850 Migrate header to expect in libraries projects 2017-09-16 19:47:45 +03:00
Alexey Andreev c66bc0b0e9 Remap source maps in JS DCE. Improve JS DCE error logging
See KT-19821
2017-09-08 18:27:41 +03:00
Yan Zhulanow c330285fd0 Parcelable: Use innerClassNameFactory to figure out the internal name of the Creator class (KT-19680)
KAPT3 class builder mode in 1.1.4 replaces '$' (inner class name separators) with '/' by providing special innerClassNameFactory.
We should use it to be compatible with kapt.
2017-09-06 17:40:18 +03:00
Sergey Igushkin 0e28d612e7 Add a test for the opt-out flag for disabling separate classes directory
(cherry picked from commit 393966d)
2017-08-29 14:39:17 +03:00
Alexey Tsvetkov 10feac9402 Remove CacheVersionChangedIT#testExperimentalCacheVersionChanged
experimental-format-version.txt was removed recently.
See also 534db2d45b
2017-08-29 04:28:09 +03:00