Commit Graph

117 Commits

Author SHA1 Message Date
Martin Bonnin a199fa7624 Bump Gradle version to 7.6
As well remove usages of forUseAtConfigurationTime - see also
https://github.com/JetBrains/kotlin/pull/5003
2023-02-08 16:27:26 +00:00
Yahor Berdnikau 4de60879f0 Explicitly enable Dokka javadocs generation
Actually we don't need javadoc generation for our internal stuff like
':kotlin-gradle-plugin'. But ':kotlin-gradle-plugin-api' is a public api
 and should have properly generated javadocs.

^KT-55520 In Progress
2023-01-13 16:16:08 +00:00
Pavel Kirpichenkov 4dbb2b01fe [Tests] Give clear name to functional dependency resolution tests
KT-55530
2023-01-10 16:02:54 +00:00
Pavel Kirpichenkov f768b05804 [Tests] Rename functional test packages in KGP
KT-55530
2023-01-10 16:02:53 +00:00
Pavel Kirpichenkov c3ea93f4a4 [Tests] Split functional tests by Gradle tasks
KT-55530
2023-01-10 16:02:53 +00:00
Yahor Berdnikau b9aac83135 Add Kotlin Gradle plugins bom
This should help with failed variants selection between different Kotlin
 Gradle plugins versions.

 ^KT-54691 In Progress
2023-01-05 18:26:27 +00:00
Yahor Berdnikau c682d4f4cc Use 'jvm-test-suite' for KGP functional tests 2022-12-06 13:18:43 +00:00
Sebastian Sellmair 25fe9589b4 [Gradle] Make ExternalKotlinTargetImpl internal
^KT-54766 Verification Pending
2022-11-07 13:39:52 +00:00
Sebastian Sellmair 33adebe5bf [Gradle][MPP] Add k.g.p-tcs-android module for prototyping
KT-54766
2022-11-07 13:39:50 +00:00
Jerome Prinet 74ba175255 Update Gradle Enterprise plugin to 3.11.2 2022-10-19 12:41:51 +02:00
Jerome Prinet 3b7b36bcc1 Update Gradle Enterprise plugins 2022-10-19 12:41:51 +02:00
Sebastian Sellmair 32f86d4672 [Gradle] Implement AndroidGradlePluginVersion util
^KT-54033 WIP
2022-09-21 13:43:44 +00:00
Sebastian Sellmair 60c969fe06 [Gradle] Replace previous kgp Internal and Experimental annotations
^KT-54029 Verification Pending
2022-09-19 16:03:45 +00:00
Yahor Berdnikau 286d0d56af Introduce Kotlin compiler options with Gradle Properties API types
Old one is deprecated and delegates to new options. All new options
are marked with task input types, so they could be used as `@Nested`
input.

Generated options are using specific types in generated
compiler options. This should simplify code completion and provide
meaningful hints to user.

At this point repository compilation will fail.

^KT-27301 In Progress
2022-09-19 12:30:39 +02:00
Sebastian Sellmair d19aea36e5 [Gradle][MPP] Implement InternalKotlinSourceSet with observable dependsOn
This is used twofold:
1) The dependsOnClosure and withDependsOnClosure can be accessed
w/o any additional overhead

2) This can later be used to maintain caches for a
replacement of the slow compilationsBySourceSet util

KT-52726
2022-09-12 10:58:42 +00:00
Yahor Berdnikau 4441033134 Add kotlin-stdlib dependency in a lazy way
^KT-41642 In Progress
2022-08-25 12:43:15 +00:00
Nikita Bobko 8f79e833a8 Drop all redundant kotlin-reflect, kotlin-reflect-api dependencies
Review: https://jetbrains.team/p/kt/reviews/6753

All redundant I managed to find, of course.

Why: I'm going to process all reflect dependencies in the next commits.
Cleanup reflect dependency before processing.

They are redundant because:
1. if `compileOnly` then compilation didn't break after dropping the
   dependency
2. if `test*` then tests didn't break after dropping the dependency.
3. `analysis/analysis-api-fir/analysis-api-fir-generator/build.gradle.kts`
   `compiler/fir/checkers/checkers-component-generator/build.gradle.kts`
   Drop `implementation(project(":kotlin-reflect-api"))` because the
   module already depends on
   `implementation(project(":kotlin-reflect"))`
4. `compiler/daemon/daemon-client/build.gradle.kts`. Drop `runtimeOnly`
   because after dropping `compileOnly` compilation didn't break (so
   `runtimeOnly` looks suspicious). Less safe than 1-3
2022-08-22 15:42:57 +02:00
Dmitriy Novozhilov ba7df005a1 [Build] Fix JPS import 2022-08-11 11:55:15 +03:00
sebastian.sellmair f45a073dc0 [Gradle][KT-53342] Run functionalTests w/ AGP 7.2.1 and Java 11 2022-08-08 19:04:23 +00:00
Dmitriy Novozhilov 1a8496757e [Compiler] Mark all entrypoints to compiler API as experimental 2022-06-29 12:00:01 +00:00
sebastian.sellmair 2d04d4f06e [kpm] kgp: Integrate IdeaKpm.* protobuf serialization into IdeaKpmProjectModelBuilder
- Rename IdeaKpmProjectModelBuildingContext to IdeaKpmProjectBuildingContext
- Support building IdeaKpmProjectContainer
- Implement IdeaKpmSerializationContext on Gradle side

^KT-52568 In Progress
2022-06-17 22:26:54 +00:00
Yahor Berdnikau b6edf9a86e Shadow Gradle plugin 3rd party dependencies
Such dependencies will be embedded into plugin jar and their package
will be relocated. This is need to avoid dependency conflicts with
user build scripts dependencies or other Gradle plugins.

Kotlin project dependencies are not shadowed.

^KT-46034 Fixed
2022-06-15 10:57:56 +02:00
Yahor Berdnikau 72b7d8da6d Drop gradleKotlinDsl dependency for KGP
This dependency brings gradleApi as a transitive dependency, which leads
to false-positive deprecation errors in plugin variants.

^KT-47047 In Progress
2022-06-03 08:29:58 +00:00
Alexander Likhachev 079400796a [Build] Validate Gradle plugins on install 2022-04-19 00:39:25 +03:00
Jerome Prinet 769f4c630f Update Gradle Enterprise plugins versions 2022-04-14 14:21:31 +03:00
Yahor Berdnikau d9ddcd991b Migrate 'kotlin-gradle-plugin' module to variants
^KT-49227 In Progress
2022-04-04 20:38:00 +02:00
Yahor Berdnikau bc066e1863 Set minimal supported AGP version to 3.6.4
^KT-51342 Fixed
2022-04-04 07:32:53 +00:00
sebastian.sellmair 1a5fc84080 [KPM] Implement initial kpm/idea dependency resolution
^KT-51386 Verification Pending
2022-03-17 15:39:46 +00:00
sebastian.sellmair 93e04c0b33 kotlin-tooling-core: Implement KotlinToolingVersion API 2022-03-09 13:17:06 +00:00
sebastian.sellmair fe45214d23 Create new kotlin-tooling-core module 2022-03-09 13:17:05 +00:00
Yahor Berdnikau 1d2796d491 Update Gradle plugins publishing setup
Simplifies and make it aligned with official documentation, which
removes some old workarounds. Additionally, it enables publication of
Gradle metadata file, which is required for plugin variants feature
support.

Instead of using 'gradleApi()' as Gradle API dependency, which provides
build current Gradle version api, now setup is using
"dev.gradleplugins:gradle-api" artifacts with specific Gradle version.
This allows to have more fine-grained Gradle support for removed apis.

^KT-49227 In Progress
2022-02-22 12:35:01 +00:00
Yahor Berdnikau 764dd84803 Update dokka plugin to 1.6.10 version
Move it into 'buildSrc' dependency, so it will be available to
precompiled script plugins.

^KT-49227 In Progress
2022-02-22 12:35:00 +00:00
sebastian.sellmair 969222c372 [KPM] kotlin-gradle-plugin: Remove default optIn for ExternalVariantApi
KT-51262
KT-51220
2022-02-17 20:19:25 +00:00
sebastian.sellmair ee6957c9a0 [KPM] Only provide access to KotlinExternalModelContainer through ExternalVariantApi
KT-51262
KT-51220
2022-02-17 20:19:17 +00:00
sebastian.sellmair 627cb0be3a [KPM] Exclude 'InternalKotlinGradlePluginApi' apis from binary validation
^KT-51262
2022-02-17 20:19:14 +00:00
sebastian.sellmair e91785ba39 [KPM] Implement initial IdeaKotlinProjectModelBuilder
- Introduce `kotlin-gradle-plugin-idea` module that allows
to share models between the IDE and KGP

- Add `kotlin-gradle-plugin-idea` to the RuntimePublicAPITest to
ensure binary compatibility

^KT-51262
2022-02-17 20:19:12 +00:00
sebastian.sellmair 162dcef73a [KPM] Mark overwriting custom capabilities as advanced 2022-01-26 21:51:58 +00:00
sebastian.sellmair 47a1d2aec6 [Gradle] Fix wrong project path to :kotlin-test:kotlin-test-junit 2022-01-26 21:51:52 +00:00
Vyacheslav Gerasimov f7a9065b75 Build: Use intellij maven repo instead of downloaded IDEA
#KTI-82
2021-12-16 21:48:23 +03:00
Vyacheslav Gerasimov bc2f0936bd Build: Rename commonDep -> commonDependency 2021-12-16 21:48:19 +03:00
sebastian.sellmair 493824aee7 Minor: kotlin-gradle-plugin/build.gradle.kts: Optimise imports 2021-12-07 17:53:23 +00:00
sebastian.sellmair 6129d920c7 [Gradle][KPM] Implement IdeFragmentDependency(&Resolver)
This apis are expected to be called reflectively during
Gradle/Ide import of KPM projects.
2021-12-07 17:53:22 +00:00
Nikolay Krasko af8faadca5 Update internal project junit dependency 4.12 -> 4.13.2 2021-11-24 19:35:31 +03:00
Aleksei.Cherepanov 8e21e954ad Disable functionalTest source set for JPS build
Exclude functionalTest from :kotlin-gradle-plugin module for JPS build
2021-11-22 08:15:37 +00:00
sebastian.sellmair 5430b19262 [Gradle] Add 'gradleKotlinDsl' dependency to 'functionalTestImplementation'
^KT-48823
2021-09-28 12:11:10 +00:00
sebastian.sellmair 29fb74d27d [Gradle] Don't run post-evaluation-checks on projects that failed to configure
When in 'lenient' or 'classpath' mode, Gradle will catch exceptions
during project evaluation and collect them into the
'ClassPathModeExceptionCollector'.

Running checks on the project after evaluation should only happen
if the project is properly configured (aka no such exceptions collected)
to prevent false positive error reports (that will then fail
the Gradle process and swallow the real cause)

^KT-48823 Verification Pending
2021-09-28 12:11:09 +00:00
Vyacheslav Gerasimov f91d6958a8 Build: Rework runtimeJar helper and drop redundant configuration
#KTI-559
2021-09-26 20:10:29 +03:00
Vyacheslav Gerasimov ab146bd6d4 Build: Fix deprecated Gradle configurations usages
for migration to Gradle 7+ #KTI-559
2021-09-26 18:28:44 +03:00
nataliya.valtman 2114e048dc Add statistic to buildScan 2021-08-20 10:48:28 +03:00
Yahor Berdnikau 7789054547 Migrate repo to use JVM toolchains Gradle feature.
^KT-46972 Fixed
2021-07-05 14:11:12 +00:00