Files
kotlin-fork/jps-plugin/testData/incremental/multiplatform/multiModule
Sergey Rostov 0eee2729cd jps: support multiplatform incremental compilation for jvm and js
- support common modules metadata compilation under flag (it is not required since all common source roots are included transitively for now)
- introduce expect actual tracker in jps: move implementation from gradle to build-common
- support js incremental compilation: move implementation from gradle to build-common
2018-06-08 09:46:37 +03:00
..

Multiplatform multi module tests.

This tests is autogenerated based on dependencies.txt by MppJpsIncTestsGenerator.

This things are generated:

  • For each module content will be generated based on module type:
    • common
    • jvm
    • js
  • Modules can be marked with edit, editJvm and editExpectActual. For this modules, modification steps will be generated. For each module and each flag subdirectory will be created and empty build.log will be putted (if it wasn't already). This directory will be used to generate MultiplatformJpsTestGenerated.
    • edit, editJvm:
      • new services will be created
      • service will be changed
      • service will be deleted
    • editExpectActual
      • new services will be created in common module
      • service will be created on each platform module as separate step (to test common files state tracking separately for each platform module)
      • service will be changed on each platform module as separate step
      • service will be deleted

Module contents will be generated at run time in the temporary directory. To see it contents please set breakpoint at TODO. To simplify mega-multi-modules tests debugging, all modules are sorted in topological order and prefixed with index. Example of generated project:

00_raJvmClient_RaJvmClientJavaClass.java
00_raJvmClient_serviceRaJvmClientImpl.kt
01_raJvmServer_RaJvmServerJavaClass.java
01_raJvmServer_serviceRaJvmServerImpl.kt
02_raJsClient_serviceRaJsClientImpl.kt
03_raJsServer_serviceRaJsServerImpl.kt
04_rbJvmClient_RbJvmClientJavaClass.java
04_rbJvmClient_serviceRbJvmClientImpl.kt
...