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
Denis Zharkov
f33255c990
Add jetbrains annotations to javac classpath in IncrementalJvmCompilerRunnerTest
...
Before this change some of these tests were failing
2017-12-12 16:17:58 +03:00
Denis Zharkov
df533053f9
Record special name lookup when trying use interface as a SAM
...
It was already working in JPS, because it see our synthetic classes
as subclasses for SAM's, but with non-JPS build we have to manually
tracking places that should be recompiled after SAM members are changed
2017-12-12 16:17:58 +03:00
Denis Zharkov
ae6421476d
Refine dirty files computation in case of Java source changes
...
#KT-17621 In Progress
2017-12-12 16:17:58 +03:00
Denis Zharkov
26393d738f
Drop IncrementalCompilerRunner::markDirty and its override
2017-12-12 16:17:58 +03:00
Denis Zharkov
84282035b0
Set up projectTest.workingDir for incremental-compilation-impl
2017-12-04 15:21:03 +03:00
Alexey Tsvetkov
18261838b6
Avoid deserializing .kotlin_module as class proto
...
#KT-20184 fixed
2017-11-16 14:47:59 +03:00
Nikolay Krasko
643f771c24
Report rebuild reason in rebuild function
2017-11-15 16:12:38 +03:00
Alexander Udalov
02981038f3
Split core into descriptors, descriptors.jvm, deserialization, descriptors.runtime
2017-11-10 18:58:31 +01:00
Alexander Udalov
33549362cb
Move compiler/tests-common/{src -> tests}, adjust dependencies
2017-10-31 07:36:45 +01:00
Alexander Udalov
c2276e2ccb
Rename module ':compiler.tests-common' -> ':compiler:tests-common'
2017-10-31 07:36:45 +01:00
Alexey Tsvetkov
e83f1b138b
Perform non-IC build when JS lib is changed
2017-10-24 16:28:57 +03:00
Alexey Sedunov
87f3d24f9b
Misc: Protect freeArgs with FreezableVar
2017-10-24 15:43:51 +03:00
Yan Zhulanow
fed5bddde2
Android Extensions: Initial IC support (KT-14125)
2017-10-16 21:25:42 +03:00
Alexey Tsvetkov
62f293280c
Gradle: compile tests incrementally when main is changed
...
#KT-17674 fixed
2017-09-29 05:11:20 +03:00
Ilya Chernikov
0676ebd530
Fix after rebase on master
2017-09-19 23:58:38 +02:00
Ilya Chernikov
d039d191f2
Fix tests in the new build infrastructure
2017-09-19 23:58:30 +02:00
Alexander Podkhalyuzin
3f8170d369
Clean idea files generated on the gradle import, add them to .gitignore
2017-09-19 23:58:27 +02:00
Ilya Chernikov
27968c8e13
Set proper jvmTarget for projects
2017-09-19 21:37:27 +02:00
Ilya Chernikov
deda50dbbb
Continue switching projects to improved dsl: sourceSets and test running
2017-09-19 21:37:26 +02:00
Ilya Chernikov
336e24b837
Fix project structure after rebase on master
2017-09-19 21:37:25 +02:00
Ilya Chernikov
b6c255cea5
Refactor: project renaming, using improved build dsl
2017-09-19 21:37:22 +02:00
Ilya Chernikov
61dfb75e0e
Implement Gradle Kotlin DSL build
2017-09-19 21:37:06 +02:00
Dmitry Jemerov
cc8fbf6078
Store third-party annotations in a separate directory
2017-09-13 17:25:20 +02:00
Alexey Tsvetkov
cb1ffdccd7
Add test where unused file is removed
2017-08-29 04:28:10 +03:00
Alexey Tsvetkov
66a77c7ec2
Fix Gradle IC cache version checking
2017-08-29 04:28:09 +03:00
Alexey Tsvetkov
cf72b14b34
Fix typo in test name
2017-08-29 04:28:08 +03:00
Alexey Tsvetkov
141c889a84
Make test case more useful
2017-08-29 04:28:08 +03:00
Alexey Tsvetkov
5f9bad5905
Add JS specific build logs to inline properties IC tests
...
Unlike the JVM target platform, the JS back-end does
not track getters' and setters' usages separately,
so when either accessor of some property is changed,
all usages of that property will be rebuilt.
2017-08-29 04:28:07 +03:00
Alexey Tsvetkov
73b63bb343
Refactor inline properties tests
2017-08-29 04:28:07 +03:00
Alexey Tsvetkov
44e8ae3571
JS IC: detect inline function changes
2017-08-29 04:28:07 +03:00
Alexey Tsvetkov
b73d5cbe1f
Mock constant search in JPS tests
2017-08-29 04:28:06 +03:00
Alexey Tsvetkov
2312013c41
Move JVM specific IC tests to separate dir
2017-08-29 04:28:06 +03:00
Alexey Tsvetkov
66cb45c202
Minor: replace forEach with filterTo
2017-08-29 04:28:05 +03:00
Alexey Tsvetkov
dbe3baf740
Minor: mark calculateSourcesToCompile abstract
2017-08-29 04:28:04 +03:00
Alexey Tsvetkov
919daefb0e
Rename IncrementalCacheImpl->IncrementalJvmCache
2017-08-29 04:28:04 +03:00
Alexey Tsvetkov
093bbc069a
Fix typo destonationDir->destinationDir
2017-08-29 04:28:04 +03:00
Alexey Tsvetkov
1c4ada2008
Fix searching serialized classes package contains multiple fragments
2017-08-29 04:28:03 +03:00
Alexey Tsvetkov
7ecf5abdc7
Add class hierarchy tests to JS and JVM IC tests
2017-08-29 02:24:38 +03:00
Alexey Tsvetkov
0a5fe3ef7c
Move JVM specific IC tests with class hierarchy changes
2017-08-29 02:24:38 +03:00
Alexey Tsvetkov
166883d847
Move JVM specific IC test data to separate dir
2017-08-29 02:24:37 +03:00
Alexey Tsvetkov
7810da7018
Add IC compiler tests with Java
2017-08-29 02:24:37 +03:00
Alexey Tsvetkov
71e8f16906
Generate IC compiler tests instead of using parametrized runner
...
# Conflicts:
# compiler/incremental-compilation-impl/incremental-compilation-impl.iml
2017-08-29 02:24:37 +03:00
Alexey Tsvetkov
52b638ddb3
Throw exception if initial build has failed in IC tests
2017-08-29 02:24:37 +03:00
Alexey Tsvetkov
c7775b8d11
Write build info only on successful build
2017-08-29 02:24:37 +03:00
Alexey Tsvetkov
bb1cba67b7
Implement JS IC
2017-08-29 02:24:37 +03:00
Alexey Tsvetkov
356536d32b
Update inputs cache on rebuild
2017-08-29 02:24:37 +03:00
Alexey Tsvetkov
20b14d4121
Extract IncrementalJvmCompilerRunnerTest
2017-08-29 02:24:37 +03:00
Alexey Tsvetkov
6fedf07f56
Introduce ChangesCollector
2017-08-29 02:24:37 +03:00
Alexey Tsvetkov
d4d684a7f0
Introduce IncrementalCompilerRunner#makeServices
2017-08-29 02:24:37 +03:00