Alexander.Likhachev
6fbd26905a
[Gradle] Add Gradle 8.2+ plugin variant
...
Fixups KT-52976 as the intention was to remove conventions registration. However until this commit, `gradle81` variant was used for all the 8.1+ versions providing an implementation that registers conventions.
^KT-63499 Fixed
2023-11-16 16:59:02 +00:00
Alexander.Likhachev
965b6b544d
[Gradle] Add integration test for KT-63499
2023-11-16 16:59:02 +00:00
Alexander.Likhachev
11e0edc124
[Gradle, K/N] Remove the enableEndorsedLibs flag
...
This is the last stage of the flag's deprecation cycle.
^KT-56455 Fixed
2023-11-15 17:01:40 +00:00
Alexander.Likhachev
0333985445
[Build] Remove kotlin-gradle-plugin-compiler-dependencies
...
We should consider the information from the removed buildscript to resolve KT-61706
^KT-62650 Fixed
2023-11-09 12:19:23 +00:00
Alexander.Likhachev
defa0b955b
[Gradle] Use kotlin-compiler-embeddable instead of kotlin-gradle-plugin-compiler-dependencies
...
^KT-62650 In Progress
2023-11-09 12:19:23 +00:00
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