Commit Graph
100 Commits
Author SHA1 Message Date
Alexander.Likhachev 1556925358 [Gradle] Unify a bit logic of retrieving task loggers 2023-10-23 13:04:17 +00:00
Alexander.Likhachev b1ec2eb18a [Gradle] Unify a bit logic of compiler execution exceptions wrapping 2023-10-23 13:04:17 +00:00
Alexander.Likhachev 65f6f6a07f [Gradle] Extract task outputs backup restore conditions 2023-10-23 13:04:17 +00:00
Alexander.Likhachev 664b54de5f [Gradle, BT] Add IC integration tests for the build tools API mode
#KT-61865 Fixed
2023-10-23 13:04:17 +00:00
Alexander.Likhachev 3eaaed8e7f [BT] Add debug logging for compilation iterations 2023-10-23 13:04:17 +00:00
Alexander.Likhachev ad4f4cbd28 [BT] Clear jar caches after project compilation 2023-10-23 13:04:17 +00:00
Alexander.Likhachev 3adb202eb6 [Gradle, BT] Add support for outputs backup within build tools API compilation
#KT-61896 Fixed
2023-10-23 13:04:17 +00:00
Alexander.Likhachev b460c06907 [BT] Add support for in-process incremental compilation
#KT-61865 Fixed
2023-10-23 13:04:17 +00:00
Alexander.Likhachev f630a27f14 [Build] Fix configuration cache issue in KGP IT
`project` cannot be used at execution time.
^KTI-1433 Fixed
2023-10-20 15:42:57 +00:00
Alexander.Likhachev 274198d8f3 [Build] Return the logic to force LV=1.9 for KGP and its dependencies
KT-61951
KT-61449
2023-10-18 07:59:27 +00:00
Alexander.Likhachev afdd8466cc [Gradle] Introduce KotlinBuildStatsServicesRegistry to manage FUS services
KT-57371 introduced a legacy JMX service without proper management.
#KT-62318 Fixed
2023-10-09 13:44:29 +00:00
Alexander.Likhachev bb23602cb3 [Gradle] Do not hold a reference to Gradle objects in FUS services
Despite the FUS services are intended to be scoped to a build, the legacy compatibility service wasn't properly managed and that caused a significant memory leak together with changes in KT-59826.
#KT-62318 In Progress
2023-10-09 13:44:29 +00:00
Alexander.Likhachev a2b688eb31 [Build] Preserve original jar with unshaded postfix in subplugin example
Otherwise we have two tasks writing output to the same file. That behavior confuses Gradle.
2023-10-02 18:02:47 +00:00
Alexander.Likhachev f6eae38d6c [Build] Update com.gradle.plugin-publish to 1.2.1
The old one appeared to be non-compatible with Gradle 8
2023-10-02 18:02:47 +00:00
Alexander.Likhachev 7ab8239c6e [Gradle] Add :compiler:ir.serialization.common to KGPs compiler dependencies
This module isn't used by KGP itself, but we will bundle it for some time until kotlinx-benchmark is reworked
#KT-62016 Fixed
2023-09-21 15:23:01 +00:00
Alexander.Likhachev 33df94d96e [Gradle] Fix mpp+kapt tests on Windows
Previously expected paths were defined with forward slash, however, on Windows the paths are transformed to use backslash.
2023-09-21 08:05:10 +00:00
Alexander.Likhachev 431f4a8bd3 [Build] Remove junit from versions.properties
Now all the JUnit dependencies except the ones provided by `kotlin-test` are moved to the version catalog
#KTI-1349 Fixed
2023-09-13 15:32:15 +00:00
Alexander.Likhachev fbeed67931 [Gradle] Mark KotlinTopLevelExtension.useCompilerVersion as experimental
#KT-61895 Fixed
2023-09-13 13:32:33 +00:00
Alexander.Likhachev 64fb36deef [Gradle] Move konan.data.dir for tests into <repo>/build and normalize the path
This should solve the problem on Windows CI with too long paths in Kotlin/Native integration tests
2023-09-08 13:04:29 +00:00
Alexander.Likhachev c33f7a4161 [Build] Disable ScriptingIT on Windows CI using @OsCondition
`@DisabledOnOs` doesn't propagate its effect to the inheritors
2023-09-08 13:04:29 +00:00
Alexander.Likhachev 9dd4241a70 [Build, IGS] Make the consent checker tests parameterized tests 2023-09-07 17:32:37 +00:00
Alexander.Likhachev c7b2240c8e [Build, IGS] Add support for checking global consent 2023-09-07 17:32:37 +00:00
Alexander.Likhachev 6eaccc997f [Build] Fix the typo junit jupyter -> jupiter 2023-09-06 22:47:34 +00:00
Alexander.Likhachev a6f3dbb5f4 [Build] Remove unused AggregateTest 2023-09-06 22:47:34 +00:00
Alexander.Likhachev 37c8d789e6 [Build] Remove unused Project.preloadedDeps extension method 2023-09-06 22:47:34 +00:00
Alexander.Likhachev 7f8d9df76d [Build] Use the latest JUnit engine for kotlin-test-junit5 tests
This change aligns with the intention in 634279621d, however the "latest" version wasn't synced with other "latest" versions within the repo
#KTI-1349 In Progress
2023-09-06 22:47:34 +00:00
Alexander.Likhachev 4eb8a80b0c [Build] Update JUnit 5 to 5.10.0
#KTI-1349 In Progress
2023-09-06 22:47:34 +00:00
Alexander.Likhachev 6f96be0b76 [Build] Get rid of the testApiJUnit5 method
#KTI-1349 In Progress
2023-09-06 22:47:34 +00:00
Alexander.Likhachev 53fde520d5 [Build] Add jUnit dependencies in testApiJUnit5 to the implementation configuration
Adding these dependencies to the `api` configuration pollutes classpath for each dependant modules even if it doesn't need them. Instead, the dependencies should be declared more granularly if they're required
#KTI-1349 In Progress
2023-09-06 22:47:34 +00:00
Alexander.Likhachev 0ecbb64c64 [Build] Remove testApiJUnit5 parameters
Instead of declaring additional dependencies inside the method, declare them directly
#KTI-1349 In Progress
2023-09-06 22:47:34 +00:00
Alexander.Likhachev 7a1dc1f89b [Build] Do not add ij dependencies in testApiJUnit5
This is not needed since the dependencies are already declared as API dependencies in the relevant projects.
#KTI-1349 In Progress
2023-09-06 22:47:33 +00:00
Alexander.Likhachev ef0fb557a5 [Build] Split junit-jupiter into api and engine
#KTI-1349 In Progress
2023-09-06 22:47:33 +00:00
Alexander.Likhachev 357d12fc8e [Build] Move JUnit dependencies into the version catalog
The `kotlin-test` dependencies are left untouched as changing them affects publications, thus these versions are independent from the used inside our build
#KTI-1349 In Progress
2023-09-06 22:47:33 +00:00
Alexander.Likhachev 652ff54835 [Gradle] Print kapt worker classpath properly 2023-08-31 13:14:49 +00:00
Alexander.Likhachev 77b9860021 [Gradle] Make KaptTask.kaptPluginOptions an input of the task
#KT-58326 Fixed
2023-08-31 13:14:49 +00:00
Alexander.Likhachev 3a246d3a1d [Gradle] Add an integration test for KT-58326 2023-08-31 13:14:49 +00:00
Alexander.Likhachev dafec3c0e5 Always use latest kotlin-build-env image for Space dev environments
#KTI-1362 Fixed
2023-08-30 15:24:12 +00:00
Alexander.Likhachev 9ec0ab2f5c [Gradle] Disable failed K2 JS IC test
Enable it back when KT-61153 is resolved
#KT-60588 In Progress
2023-08-29 13:37:26 +00:00
Alexander.Likhachev 9e31904f0f [Gradle] Run CompilerPluginsIncrementalIT only with K1
Should be reconsidered in KT-61171
#KT-60588 In Progress
2023-08-29 13:37:26 +00:00
Alexander.Likhachev 52303a1b23 [Gradle] Fix test plugins application 2023-08-29 13:37:25 +00:00
Alexander.Likhachev 4f820230fd [Gradle] Disable K2 precise java tracking IC tests
Enable them back when KT-57147 is resolved
#KT-60588 In Progress
2023-08-29 13:37:25 +00:00
Alexander.Likhachev a89aa1fb8d [Gradle] Disable failed daemon test with K2
Enable it back when KT-58894 is resolved
#KT-60588 In Progress
2023-08-29 13:37:25 +00:00
Alexander.Likhachev 82df028bc5 [Gradle] Disable failed K2 scripting tests
Enable them back when KT-61137 is resolved
#KT-60588 In Progress
2023-08-29 13:37:25 +00:00
Alexander.Likhachev bdf87c2713 [Gradle] Limit language version for tests providing Gradle plugins
#KT-60588 In Progress
2023-08-29 13:37:25 +00:00
Alexander.Likhachev c6b1d37476 [Gradle] Add expected K2 Kapt fallback warning
#KT-60588 In Progress
2023-08-29 13:37:25 +00:00
Alexander.Likhachev 3177df9ad8 [Gradle] Disable LightTree for K2 scripting tests
#KT-60588 In Progress
2023-08-29 13:37:25 +00:00
Alexander.Likhachev 196fb3e5f1 [Gradle] Split K1/K2 integration tests
#KT-60588 In Progress
2023-08-29 13:37:25 +00:00
Alexander.Likhachev 829e0675f4 [Build] Suppress BuildToolsApiVersionInconsistency for the kotlin repo 2023-08-29 13:00:16 +00:00
Alexander.Likhachev 501c111e36 [Gradle] Implement BuildToolsApiVersionInconsistency diagnostic
This diagnostic checks if the Build Tools API implementation version is consistent with KGP in the case compilation goes using the old way
#KT-61449 Fixed
2023-08-29 13:00:16 +00:00
Alexander.Likhachev 271d767138 [Gradle] Allow using KotlinToolingDiagnosticsCollector in transform actions
Related to KT-56832
2023-08-29 13:00:16 +00:00
Alexander.Likhachev e6ae3f1d85 [Gradle] Replace intellijCore() dependency by intellijPlatformUtil()
#KT-61449 In Progress
2023-08-29 13:00:16 +00:00
Alexander.Likhachev 59997fb76a [Build] Update the list of modules with disabled K2 bootstrap
#KT-61449 In Progress
Relates to KT-59171
2023-08-29 13:00:15 +00:00
Alexander.Likhachev db43d8cc8d [Build] Apply workaround for bt-api resolution as in b97e82f604 2023-08-29 13:00:15 +00:00
Alexander.Likhachev 2304b0f12d [Build] Change how buildSrc buildscript detects versions 2023-08-29 13:00:15 +00:00
Alexander.Likhachev 2570be129f [Gradle, BT] Move script definitions scanning into the build tools API
#KT-61449 In Progress
2023-08-29 13:00:15 +00:00
Alexander.Likhachev 6cfa165ddb [Gradle, Build] Publish an artifact with unpublished compiler modules for KGP
#KT-61449 In Progress
2023-08-29 13:00:15 +00:00
Alexander.Likhachev c3f8706fe2 Use kotlin-stdlib to fully read a reader in CompilerOutputParser
The `FileUtil` requires additional dependency on intellij util artifacts
#KT-61449 In Progress
2023-08-29 13:00:15 +00:00
Alexander.Likhachev b4e8e27a6f Apply reformatting to CompilerOutputParser.kt 2023-08-29 13:00:15 +00:00
Alexander.Likhachev b14406b7b7 [Gradle] Inline daemon exception report call
It allows getting rid of the dependency on `:compiler:incremental-compilation-impl`
#KT-61449 In Progress
2023-08-29 13:00:15 +00:00
Alexander.Likhachev d9a6bed012 [Gradle, JS] Hardcode legacy DCE tool main class
It allows getting rid of the dependency on `:compiler:cli-js`
#KT-61449 In Progress
2023-08-29 13:00:15 +00:00
Alexander.Likhachev 52ac237015 [Gradle] Copy destinationAsFile and classpathAsList extensions
It allows getting rid of the dependency on `:compiler:incremental-compilation-impl`
#KT-61449 In Progress
2023-08-29 13:00:15 +00:00
Alexander.Likhachev 5c852347a1 [Gradle] Copy ABI_SNAPSHOT_FILE_NAME constant
It allows getting rid of the dependency on `:compiler:incremental-compilation-impl`
#KT-61449 In Progress
2023-08-29 13:00:15 +00:00
Alexander.Likhachev 3fb1f7bf42 [Gradle] Migrate from ChangesFiles to SourcesChanges
It allows getting rid of the dependency on `:compiler:incremental-compilation-impl`
#KT-61449 In Progress
2023-08-29 13:00:15 +00:00
Alexander.Likhachev 4eb468443a [Gradle] Remove old classpath snapshot transformation
Leave only the implementation via the build tools API in order to reduce compiler dependencies.
THe old implementation expects to have many of compiler modules (through `kotlin-compiler-embeddable`) in the plugin runtime classpath
#KT-61449 In Progress
2023-08-29 13:00:15 +00:00
Alexander.Likhachev a8269ff8e2 [Gradle] Opt in for the experimental build tools API module-wide
#KT-61449 In Progress
2023-08-29 13:00:14 +00:00
Alexander.Likhachev e68661fc0d [Build, Gradle] Remove totally unused KGP dependencies
#KT-61449 In Progress
2023-08-29 13:00:14 +00:00
Alexander.Likhachev 57294f91fe [Gradle] Get rid of StartParameterInternal.isConfigurationCache calls
#KT-61457 Fixed
2023-08-28 14:21:55 +00:00
Alexander.Likhachev 51fe1fd3cc [Gradle] Introduce ConfigurationCacheStartParameterAccessor
#KT-61457 In Progress
2023-08-28 14:21:55 +00:00
Alexander.Likhachev a3e8767fb1 [Gradle] Fix classpath cache key in ClassLoadersCachingBuildService
Lists have defined contracts for equals and hashCode and thus might be used as map keys for the sake of caching. Gradle's file collections do not follow those contracts, leading to cache misses and creating too many classloaders.
#KT-61426 Fixed
2023-08-24 11:59:07 +00:00
Alexander.Likhachev 693b4cf308 [Gradle] Fix creating empty directory marker for backups
The problem was occurring in the case the first directory for backup does not exist
#KT-61273 Fixed
2023-08-24 11:47:17 +00:00
Alexander.Likhachev 9b9039d512 [Gradle] Add a test for KT-61273 2023-08-24 11:47:17 +00:00
Alexander.Likhachev 797ca34a34 [BT] Use bootstrap classloader as a fallback instead of system classloader
Using system classloader may lead to unwanted leakage of classes from the application classpath (like Gradle's ones).
#KT-61206 Fixed
2023-08-21 18:09:49 +00:00
Alexander.Likhachev 4705f13b39 [BT] Add a test for KT-61206 2023-08-21 18:09:49 +00:00
Alexander.Likhachev 51a43a02f7 [IC] Restore old IncrementalCompilationContext constructor for KSP compatibility 2023-08-18 14:20:57 +00:00
Alexander.Likhachev 4d1ea3c441 [Gradle] Avoid early reading of Project.buildDir in compilation tasks
#KT-61292 Fixed
2023-08-18 14:20:57 +00:00
Alexander.Likhachev 7c5a826fd8 [Gradle] Add a test for KT-61292 2023-08-18 14:20:57 +00:00
Alexander.Likhachev 765a8bdd7c [Gradle] Fix JsIrConfigurationCacheIT was disabled by a mistake
It was marked as an abstract class and thus wasn't executed
2023-08-16 09:48:48 +00:00
Alexander.Likhachev 2675531624 [Build] allow empty build cache url to disable it
4af1970b28 allows it only for the included build
2023-08-09 22:10:43 +00:00
Alexander.Likhachev 83c53b7ce3 [BT] Implement classpath snapshotting in the Build Tools API
#KT-57565 In Progress
2023-08-03 08:55:32 +00:00
Alexander.Likhachev 329fd6be45 [BT] Move ClassSnapshotGranularity to the Build Tools API module
#KT-57565 In Progress
2023-08-03 08:55:32 +00:00
Alexander.Likhachev 442d1cf711 [BT] Move ClassSnapshotGranularity to the Build Tools API package 2023-08-03 08:55:32 +00:00
Alexander.Likhachev 61f404e493 [BT] Implement incremental compilation within the daemon
#KT-57398 In Progress
2023-08-01 16:24:37 +00:00
Alexander.Likhachev 91dc33f398 [IC] Allow to not specify the root project dir
When it's specified, it's used to calculate relative paths
2023-08-01 16:24:37 +00:00
Alexander.Likhachev b3677fa0ca [IC] Allow to not specify the modules info 2023-08-01 16:24:37 +00:00
Alexander.Likhachev e33611a88a [IC] Allow to not specify the build history file 2023-08-01 16:24:37 +00:00
Alexander.Likhachev 18aa7f4d4b [BT] Implement non-incremental compilation within the daemon
#KT-57398 In Progress
2023-07-31 10:38:35 +00:00
Alexander.Likhachev 175c00e5c7 [BT] Introduce the project build uuid
This allows to perform some cleanups after the entire project build finished.
#KT-57398 In Progress
2023-07-28 15:48:28 +00:00
Alexander.Likhachev 28c059f25b [BT] Implement basic non-incremental in-process JVM compilation 2023-07-28 15:48:28 +00:00
Alexander.Likhachev 6356a40fe8 [BT] Introduce KotlinBuildToolsException
#KT-57398 In Progress
2023-07-28 15:48:28 +00:00
Alexander.Likhachev b3fbe4c484 [BT] Introduce CompilationResult
#KT-57398 In Progress
2023-07-28 15:48:28 +00:00
Alexander.Likhachev 754f4830b9 [Gradle] Add integration tests for JVM compilation via the Build Tools API 2023-07-28 15:48:28 +00:00
Alexander.Likhachev 009cda5062 [Gradle] Adjust the MPP test project for KT-34901
Following the resolution of KT-59595, the java plugin is no longer applied in MPP projects. However, the `java-test-fixtures` plugin is currently non-functional due to its reliance on the `java` plugin (https://github.com/gradle/gradle/blob/e95eafb8c43c5cd404bd235fa0a69c58cab6f5d6/subprojects/plugins/src/main/java/org/gradle/api/plugins/JavaTestFixturesPlugin.java#L60).
2023-07-12 10:20:15 +00:00
Alexander.Likhachev 8ae0f61028 [Gradle] Associate the textFixtures source set with main and test ones
#KT-34901 Fixed
2023-07-10 18:23:20 +00:00
Alexander.Likhachev fcb7010726 [Gradle] Add integration tests for KT-34901 2023-07-10 18:23:20 +00:00
Alexander.Likhachev cb087b7def [Build] Bump gradle-node-plugin version to 5.0.0
This change is required to fix a configuration cache problem revealed after migration to Gradle 8.1
2023-06-26 10:36:25 +00:00
Alexander.Likhachev 1c00b7062e [Build] Upgrade gradle wrapper files
This change was missed during the Gradle version bump
2023-06-26 10:36:25 +00:00
Alexander.Likhachev bfb314adcb [BT] Mark the Build Tools API as experimental 2023-06-23 12:34:23 +00:00
Alexander.Likhachev 5993e4bce4 [BT] Introduce JVM compilation API 2023-06-23 12:34:23 +00:00
Alexander.Likhachev 2412693ef0 [BT] Move KotlinLogger to the bt-api module
#KT-57398 In Progress
2023-06-23 12:34:23 +00:00
Alexander.Likhachev 1005d0244a [BT] Move KotlinLogger to the bt-api package
#KT-57398 In Progress
2023-06-23 12:34:23 +00:00