Commit Graph

379 Commits

Author SHA1 Message Date
Ilya Goncharov 22a01432df [Gradle,JS] Remove legacy target in Gradle plugin
This reverts commit 4c82206d

^KT-60694 fixed
2023-10-17 09:42:38 +00:00
Sebastian Sellmair 4c15509776 [Gradle] Rename KotlinExtensionPoint to KotlinGradlePluginExtensionPoint
KT-61634
2023-10-12 18:24:17 +00:00
Sebastian Sellmair d471a5ed4a [Gradle] Migrate KotlinGradleProjectChecker to KotlinExtensionPoint
KT-61634
2023-10-12 18:24:17 +00:00
Sebastian Sellmair 30665c3e02 [Gradle] Implement KotlinExtensionPoint to allow extensible designs inside the KotlinGradlePlugin
KT-61634
2023-10-12 18:24:17 +00:00
Sebastian Sellmair 1dad890652 [Gradle][KMP] Remove top level and target level compilerOptions APIs
as those experimental APIs have shown to negatively affect usages
of stable APIs (because of resolve confusion), whilst also
failing to address popular use cases.

KT-61636
KT-61355
KT-61368
2023-10-04 12:23:39 +00:00
Mikhail Glukhikh 5fb38008b7 Switch Kotlin version to 2.0
#KT-59171 In Progress
2023-09-19 15:46:26 +00:00
Dmitrii Krasnov 8299fffae2 Added possibility to create a custom usable KotlinCompile task without using internals ownModuleName and moduleName
#KT-60541 Ready for Review
2023-08-31 09:37:21 +00:00
Sebastian Sellmair 02c2c76ffe [Gradle] Remove ':kotlin-project-model' and ':kotlin-project-model-tests-generator'
KT-61463
2023-08-29 16:45:12 +00:00
Sebastian Sellmair 6c6200a9c5 [Gradle][Minor] Deprecate 'KotlinCompilation.associateWith' property...
... in favor of associateCompilations and allAssociateCompilations

^KT-60937 Verification Pending
2023-08-07 13:40:32 +00:00
Yahor Berdnikau 38b17420c1 [Gradle] Introduce compilerOptions on KotlinTarget
This will allow configuring compiler options for all compilations in the
target.

^KT-57292 In Progress
2023-08-03 14:29:43 +00:00
Yahor Berdnikau 020ad64b3c [Gradle] Update documentation for Kotlin tasks
^KT-58858 In Progress
2023-08-03 12:39:51 +00:00
Yahor Berdnikau 365c04a7f7 [Gradle] Update documentation for CompileUsingKotlinDaemon
^KT-58858 In Progress
2023-08-03 12:39:51 +00:00
Yahor Berdnikau 6d36ba04f8 [Gradle] Document IncrementalSyncTask
^KT-58858 In Progress
2023-08-03 12:39:51 +00:00
Yahor Berdnikau f988de60c3 [Gradle] Document KotlinToolTask
^KT-58858 In Progress
2023-08-03 12:39:51 +00:00
Yahor Berdnikau 2e8d2800f5 [Gradle] Document KotlinCompilationTask
Remove KotlinCompilationTask from KotlinCompile class as it anyway comes
via KotlinJvmCompile interface.

^KT-58858 In Progress
2023-08-03 12:39:51 +00:00
Alexander Udalov d4b5599373 Add JVM target bytecode version 21
Unfortunately, there are still problems with running JVM backend tests
with JVM target 21 because:

1) The D8 version that we use does not support bytecode version 21, and
   updating to a newer version requires to change JVM target of compiler
   tests to 11. This will be addressed separately when we enable JVM 21
   in tests-different-jdk.
2) Some tests are failing because of KT-60659 and KT-60770:
   - builtinStubMethods/bridgesForStubs/emptyStringListAdd.kt
   - jdk/stream.kt
   - regressions/kt528.kt

 #KT-60662 Fixed
2023-08-03 08:43:22 +00:00
Sebastian Sellmair db5655d6ce [Gradle] Implement InternalKotlinTargetPreset
^KT-59321 In Progress
2023-07-28 17:53:45 +00:00
Timofey Solonin 969deb639c [MPP] Deprecate preset APIs
^KT-59321
2023-07-28 17:53:45 +00:00
Ilya Goncharov 4c82206d3b [Gradle,JS] Return legacy target to Gradle plugin back 2023-07-28 09:29:03 +00:00
Sebastian Sellmair 7cef7ac639 [Gradle] Restore 'KotlinTargetHierarchyDsl' for easier transition to hierarchy templates
^KT-60596 Verification Pending
2023-07-27 08:07:34 +00:00
Ilya Goncharov 54debac4c5 [Gradle, JS] Remove K/JS legacy support from Gradle plugin 2023-07-25 13:08:23 +00:00
Anton Lakotka f05856f6a0 [Gradle] Lower deprecation level of KotlinCompilation source method
It makes IDE Import failing when method is used.
So tooling diagnostic with ERROR level is preferred in such cases.

^KT-58234 Verification Pending
2023-07-21 11:47:01 +00:00
Anton Lakotka 245825cf8b [Gradle] Elevate KotlinCompilation.source deprecation to ERROR
Fix internal use of this API with dedicated internal function.

^KT-58234 Verification Pending
2023-07-21 11:47:01 +00:00
Yahor Berdnikau dc5660d98c [Gradle] Add 'validatePlugins' tasks for Gradle plugin dependencies
Gradle 8 has removed "validate-external-gradle-plugin" plugin which we
used before to run validate task inputs proper annotations.

With this change, every Gradle dependency that is not published as a
Gradle plugin but uses Gradle API types is also running
'validatedPlugins' task registered manually via a build script.

^KT-59827 Fixed
2023-07-19 13:36:03 +00:00
Yahor Berdnikau 7b665e7673 [Gradle] Move UsesKotlinJavaToolchain inheritance into api
Such way it will be visible which tasks are using this feature.

^KT-58858 In Progress
2023-07-13 19:20:19 +00:00
Yahor Berdnikau 8988557b6d Update documentation for UsesKotlinJavaToolchain
^KT-58858 In Progress
2023-07-13 19:20:19 +00:00
Anton Lakotka 2f7f69ed4f [Gradle] Remove requiresVisibilityOf API and related checks
^KT-58228 Verification Pending
2023-07-12 11:59:27 +00:00
Sebastian Sellmair 0880b4cb34 [Gradle] KotlinTargetsDsl: Remove undesirable AnnotationRetention.SOURCE
KTIJ-26247
2023-07-12 10:50:11 +00:00
Anton Lakotka 344dbcbd23 [Gradle] Update apiDump after removing relatedConfigurationNames
^KT-58225 Verification Pending
2023-07-06 13:23:16 +00:00
Anton Lakotka 001bdc411d [Gradle] Remove relatedConfigurationNames
It was public api which has not much use outside KGP.
Moreover, this api has a little use so it is ok list configuration names
in place.

^KT-58225 Verification Pending
2023-07-06 13:23:16 +00:00
Sebastian Sellmair 6f42446138 [Gradle][Minor] Improve documentation in KotlinHierarchyDsl
^KT-58676 Verification Pending
2023-06-26 11:36:17 +00:00
Sebastian Sellmair f26f3e0738 [Gradle] Remove InternalKotlinHierarchyTemplate interface (in favor of using Impl directly)
^KT-58676 Verification Pending
2023-06-26 11:36:17 +00:00
Sebastian Sellmair 6d4dbfae28 [Gradle] Move KotlinHierarchyDsl documentation into KotlinHierarchyDsl.kt
^KT-58676 Verification Pending
2023-06-26 11:36:17 +00:00
Sebastian Sellmair a03fb02af3 [Gradle] Deduplicate documentation from KotlinHierarchyTemplate.Templates.default and applyDefaultHierarchyTemplate
^KT-58676 Verification Pending
2023-06-26 11:36:17 +00:00
Sebastian Sellmair 772bcb283d [Gradle] Replace KotlinSourceSetTree interface with simpler class
^KT-58676 Verification Pending
2023-06-26 11:36:17 +00:00
Sebastian Sellmair 85f4b72c8b [Gradle] Remove deprecation from deprecated KotlinTargetHierarchy entities
^KT-58676 Verification Pending
2023-06-26 11:36:17 +00:00
Sebastian Sellmair 18a2ceebea [Gradle] Keep deprecated KotlinTargetHierarchy in previous KotlinTargetHierarchy.kt source file
^KT-58676 Verification Pending
2023-06-26 11:36:17 +00:00
Sebastian Sellmair 1cd8089e92 [Gradle] Move KotlinHierarchyTemplate.Templates.default into -api module
^KT-58676 Verification Pending
2023-06-26 11:36:17 +00:00
Sebastian Sellmair b2dd83515c [Gradle] Stabilise Kotlin Hierarchy Template DSL
- Remove 'Target' name from hierarchy components as in
    - KotlinTargetHierarchyBuilder -> KotlinHierarchyBuilder
    - KotlinTargetHierarchyDsl -> KotlinHierarchyDsl

- Rename KotlinTargetHierarchyDescriptor -> KotlinHierarchyTemplate
    To convey a better intuition about the 'template' vs 'layout' separation:
    A 'template' is used to 'layout' the actual 'hierarchy' on a given project.

- Move entities from .mpp.targetHierarchy to .hierarchy package
    As the .targetHierarchy package was using the 'target' term as well

- Rename SourceSetTree to KotlinSourceSetTree

- Rename SourceSetTreeClassifier to KotlinSourceSetTreeClassifier
    (Support external target APIs by introducing a V2 api version)

^KT-58676 In Progress
2023-06-26 11:36:16 +00:00
Pavel Kirpichenkov a7ff0cfc9d Remove deprecated CInteropSettings#getDependencyConfigurationName
KT-55908
2023-06-16 11:00:42 +00:00
Anton Lakotka 67a511544c [Gradle] Remove defaultConfigurationName
^KT-55201 Verification Pending
2023-05-31 15:45:25 +00:00
Alexander Shabalin 1ef198ead4 [Gradle][MPP] Promote several K/N targets deprecation level to error 2023-05-26 14:47:45 +00:00
Anton Lakotka b3b0f23a50 [Gradle] Deprecate rare api in KotlinDependencyHandler
Recommend users default `project.dependencies` instead.
Gradle's DependencyHanlder has its own evolution thus
we cannot easily maintain API of KotlinDependencyHandler to look like
Gradle's DependencyHandler. We're going to support only our own
factory methods to create dependencies + `project` dependencies.

KT-58759 Verification Pending
2023-05-23 09:00:30 +00:00
Sebastian Sellmair 2dcaad2d03 [Gradle] Reshape API surface for setting Android SourceSetTrees
^KT-58710 Verification Pending
2023-05-16 13:19:42 +00:00
Sebastian Sellmair e1d48847dc [Gradle] Rename KotlinTargetHierarchyBuilder.withAndroid to withAndroidTarget
... by deprecating .withAndroid in favor of 'withAndroidTarget' to
make room for the Google maintained 'Android Target'

^KT-58710 Verification Pending
2023-05-16 13:19:42 +00:00
Sebastian Sellmair ff7e4f7986 [Gradle] Implement SourceSetTreeClassifier API
- This new API will be configurable for 'External Kotlin Targets'
- This change also moves targetHierarchy.android {} into the androidTarget
to avoid potential confusion around the KGP managed AndroidTarget vs
the Google implementation.

KT-58710
2023-05-16 13:19:42 +00:00
Yahor Berdnikau ccbca7a019 [Gradle] Move pm20 interfaces from plugin/api into plugin codebase
^KT-58619 Fixed
2023-05-10 23:27:14 +02:00
Yahor Berdnikau 2ea65bd658 Fix explicitApiMode could be overwritten by freeCompilerArgs
Now tasks has a separate task input for 'explicitApiMode' which is
passed to Kotlin compiler via arg, rather than free compiler args.

^KT-57653 Fixed
2023-05-08 19:43:43 +00:00
Sebastian Sellmair 0889b3eb2e [Gradle] Schedule KotlinCompilation.source for removal in 2.0
Having only one SourceSet being associated with a KotlinCompilation
will simplify multiple code paths and prevents misconfiguration
from users.

^KT-58220 Verification Pending
See: KT-58234
See: KT-58235
2023-04-25 17:09:00 +00:00
Sebastian Sellmair 1313cffe01 [Gradle] Schedule 'overrideDisambiguationClassifierOnIdeImport' and 'useDisambiguationClassifierAsSourceSetNamePrefix' for removal in 2.0
^KT-58220 Verification Pending
See: KT-58231
2023-04-25 17:08:59 +00:00