Commit Graph

609 Commits

Author SHA1 Message Date
Vyacheslav Gerasimov 16b314f860 as32: Remove JavaBuilderExtension from AS 3.2 C10 2018-04-13 21:33:16 +03:00
Alexey Tsvetkov bd50ad87ba Use KotlinCoreEnvironment for parsing Kotlin in IC
Creating and disposing CoreApplicationEnvironment on each call leads to
problems with parallel builds, while KotlinCoreEnvironment
avoids disposing application environment in case of parallel builds.

    #KT-23694 fixed
2018-04-11 19:56:15 +03:00
Alexey Tsvetkov 39f7ecc9a3 181: Reimplement constant search in JPS
The API in Intellij have been changed after the PR was merged
(see https://github.com/JetBrains/intellij-community/commit/8227d8e2dd4d98d2ff248a1b193ba31831ddef50)

This commit implements new API.
Also mocked Kotlin constant search is removed from JPS tests.
Mocked Java search is in place, but now
it is does not use hardcoded file and constant names.

   #KT-16091 fixed
2018-04-11 16:28:38 +03:00
Alexey Tsvetkov 6f59b6da8e Use daemon if available for parsing files in JPS 2018-04-03 21:11:12 +03:00
Alexey Tsvetkov 3eb968807e Invalidate usages of removed classes before round
#KT-23165 fixed
2018-04-03 21:11:12 +03:00
Alexey Tsvetkov 8cd0f13f2b Convert KotlinSourceFileCollector: simplify after conversion 2018-04-03 21:11:11 +03:00
Alexey Tsvetkov 3f36f472b3 Convert KotlinSourceFileCollector: actual conversion 2018-04-03 21:11:11 +03:00
Alexey Tsvetkov 336d63c0a3 Convert KotlinSourceFileCollector: rename file 2018-04-03 21:11:11 +03:00
Alexey Tsvetkov 58e4b704c6 Replace reflection with direct call 2018-04-03 21:11:11 +03:00
Alexey Tsvetkov fa9c80e05c Convert CompilerRunnerUtil: actual conversion 2018-04-03 21:11:11 +03:00
Alexey Tsvetkov f27b6c0d8d Convert CompilerRunnerUtil: rename file 2018-04-03 21:11:11 +03:00
Alexey Tsvetkov 455fe7fe61 Reformat jps-plugin module 2018-04-03 21:11:11 +03:00
Alexey Sedunov ae37cc30a1 JS: Use the same output paths for JPS and Maven-based builds
#KT-22586 Fixed
2018-04-02 15:28:35 +03:00
Alexey Tsvetkov 0deec7983d Revert "Provide custom ConstantAffectionResolver in JPS"
This reverts commit 772a935de6.

The API in Intellij was changed, now the issue can be fixed only in
182.* branches.
2018-03-13 21:26:11 +03:00
Alexey Tsvetkov d7644559eb Perform a test lookup before build
#KT-22535 fixed
   #KT-22995 fixed
2018-02-22 18:21:37 +03:00
Alexey Tsvetkov 7c9412a0b3 Avoid instanciating LookupStorage when clearing it
#KT-22535
  #KT-22995
2018-02-22 18:21:37 +03:00
Alexey Tsvetkov 140ba0681a Throw BuildDataCorruptedException when lookup operation cannot be performed
That is expected to force a rebuild (but it does not seem to be the case
in case of parallel build).

  #KT-22535
  #KT-22995
2018-02-22 18:21:37 +03:00
Alexey Tsvetkov 8ab9366ae5 Synchronize access to lookup storage in JPS
Storage operations are synchronized already,
but BuildDataManager.getStorage is not synchronized,
so maybe it is possible to create multiple LookupStorage
instances.

    #KT-22535
    #KT-22995
2018-02-22 18:21:37 +03:00
Alexey Tsvetkov 772a935de6 Provide custom ConstantAffectionResolver in JPS
#KT-16091 fixed
2018-02-21 19:12:12 +03:00
Alexey Tsvetkov 220fab0d3f Test JPS with Daemon and IC 2018-01-16 21:09:57 +03:00
Alexey Tsvetkov 18fae9e16d Allow override removing temporary module files after build
For debug purposes
2017-12-18 21:19:15 +03:00
Alexey Tsvetkov 5bffef6de7 Allow customizing directory for temporary module files 2017-12-18 21:19:15 +03:00
Alexey Tsvetkov 37b00b91fc Avoid generating too long path for temp module file
#KT-21841 fixed
2017-12-18 21:19:15 +03:00
Ilya Chernikov f83dc0a067 Make daemon session retrieval more robust to the daemon failures 2017-12-18 16:49:53 +01:00
Ilya Chernikov 1101bb7fb4 Treat "daemon is dying" state as a case for fallback compilation strategy in jps 2017-12-18 16:49:52 +01:00
Alexey Tsvetkov 3f082346ae Do not set api version to language version when language version is null
#KT-21852 fixed
    #KT-21574 fixed
2017-12-18 16:22:07 +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
Alexey Sedunov c54b934383 Configuration: Fix deserialization of immutable freeArgs collection
#KT-21363 Fixed
2017-11-30 12:49:24 +03:00
Alexey Tsvetkov 913a997f24 Rebuild when language/api version is changed (JPS)
#KT-20757 fixed
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 643f771c24 Report rebuild reason in rebuild function 2017-11-15 16:12:38 +03:00
Alexey Andreev 2fbecfdd9c Support generation of relative path in JS source maps in JPS builder
See KT-20820
2017-10-23 17:19:50 +03:00
Anton Bannykh b2e53644a5 JPS JS: fix friend path detection in projects imported from Gradle (KT-18963 fixed) 2017-10-20 19:16:14 +03:00
Nikolay Krasko bc6f2f6659 Request path from URI before construction file 2017-10-12 12:00:35 +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
Alexey Andreev 21e91c4052 JS: rename -source-map-source-roots to -source-map-base-dirs
See KT-19906
2017-10-03 14:26:37 +03:00
Alexey Tsvetkov 7a5e0e1107 Request CHUNK_REBUILD when IC is off and there are dirty Kotlin files
Otherwise unexpected compile error might happen,
when there are Groovy files, but they are not dirty,
so Groovy builder does not generate source stubs,
and Kotlin builder is filtering out output directory
from classpath (because it may contain outdated Java classes).

Previously the issue was not detected,
because it was not possible to turn off the IC completely (in JPS),
only switch to the legacy IC.

    #KT-20138
2017-09-26 16:35:24 +03:00
Alexey Tsvetkov 919daefb0e Rename IncrementalCacheImpl->IncrementalJvmCache 2017-08-29 04:28:04 +03:00
Alexey Tsvetkov 6fedf07f56 Introduce ChangesCollector 2017-08-29 02:24:37 +03:00
Alexey Tsvetkov 9727ec401b Remove Target parameter from GeneratedFile 2017-08-29 02:24:36 +03:00
Alexey Tsvetkov d1fd88fb8e Minimize usage of TargetId in IC 2017-08-29 02:24:36 +03:00
Mikhail Glukhikh 3623f581b8 Eliminate a set of warnings, mostly nullability ones 2017-08-18 15:10:27 +03:00
Alexey Tsvetkov 99439620d4 JPS: completely skip chunk containing only dummy targets
Such chunks were added in intellij-community, see
commit fdeae7754c593e78b6748dfa66ce7198c2780d35
(https://github.com/JetBrains/intellij-community/commit/fdeae7754c593e78b6748dfa66ce7198c2780d35)
2017-08-10 22:05:48 +03:00
Alexey Tsvetkov bb2fab5b5d Extract LookupTracker service from IncrementalCompilationComponents
We don't need a `TargetId` to `IncrementalCache` mapping in JS
2017-08-10 21:19:42 +03:00
Alexey Tsvetkov 1cce1ef1f6 Isolate JS compiler in proto tests
Proto tests are still in the 'jps-tests' module
which is included in non-compiler tests.

It is not safe to call the compiler
directly in non-compiler tests
because it might affect IDE tests.
2017-08-10 21:19:41 +03:00
Alexey Tsvetkov 5ce3a436c7 Avoid marking dirty dependencies from already compiled chunks
#KT-17397 fixed
2017-07-31 19:34:59 +03:00
Alexey Tsvetkov 534db2d45b Remove old IC: remove experimental cache version 2017-07-31 19:34:58 +03:00
Alexey Tsvetkov 62fdd91947 Remove old IC: remove unnecessary caches 2017-07-31 19:34:58 +03:00
Alexey Tsvetkov 2bd7d12312 Remove old IC: remove IncrementalCompilation.isExperimental 2017-07-31 19:34:58 +03:00
Alexey Tsvetkov 50091bfac8 Remove old IC: remove flags from CompilationResult 2017-07-31 19:34:58 +03:00