25 Commits

Author SHA1 Message Date
Anton Lakotka e2336e1752 [Gradle] Fix friendArtifactResolver for External Targets API
It was failing with ClassCastException in an attempt of using it.

Also added a test case to cover the logic with friendArtifactResolver

^KT-66431 Verification Pending
2024-03-12 09:52:57 +00:00
Yahor Berdnikau 433bec3700 [Gradle] Deprecate kotlinOptions DSL in KotlinCompilation
^KT-63419 In Progress
2024-02-28 21:20:18 +00:00
Yahor Berdnikau bdb96dc0db [Gradle] Rename to HasConfigurableKotlinCompilerOptions
Added "Kotlin" to better indicate to what this interface belongs to.

^KT-65196
2024-02-26 19:32:26 +00:00
Yahor Berdnikau d662f72d07 [Gradle] Deprecate KotlinCompilation.compilerOptions
Users quite often confuse that compilerOptions in KotlinCompilation is
actually the same object in the Kotlin compilation task. We want to make
 our API more straightforward and remove this ambiguity by proposing to
 use task compiler options DSL.

^KT-65568 Verification Pending
2024-02-15 18:27:31 +00:00
Yahor Berdnikau 5df05d5797 [Gradle] Deprecate HasCompilerOptions
This DSL is not consistent with other DSL to configuring compiler
options.

^KT-65568 In Progress
2024-02-15 18:27:31 +00:00
Yahor Berdnikau dbd77fc785 [Gradle] Fix eager task realization due to attributes querying
Gradle 8.3+ starts triggering JVM eager tasks creating via eagerly
configured attributes that we copy over from the Gradle JVM plugin for
Kotlin compilation. The fix is to migrate to '.attributeProvider()' API
to configure the attribute.

^KT-60664 In Progress
2024-01-19 14:58:23 +00:00
Yahor Berdnikau facc9cdb58 [Gradle] Add compiler options DSL for Kotlin targets
Restore compiler options DSL for all Kotlin targets. 'KotlinTarget'
interface does not provide any common way to configuring options - this
is the responsibility of related plugin extensions.

From the hierarchical standpoint of view target DSL overrides options
configured in the extension.

^KT-57292 In Progress
2024-01-19 14:16:11 +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
Sebastian Sellmair ea3c275961 [Gradle] Dissolve .kotlin.gradle.kpm package
KT-61463
2023-08-29 16:45:12 +00:00
Yahor Berdnikau 7dfbf28d93 [Gradle] Introduce compilerOptions for Kotlin external target
Kotlin external target now properly exposes compilerOptions which could
be used by target users to configure target compilations compiler
options.

^KT-57292 In Progress
2023-08-03 14:29:44 +00:00
Sebastian Sellmair d9f572bc0b [Gradle] Remove old ExternalTargetApiExtensions
KT-58601
2023-05-12 08:14:46 +00:00
Sebastian Sellmair e1e2c04044 [Gradle] Replace IdeMultiplatformImport.*Level enums with simpler IdeMultiplatformImport.Priority
KT-58601
2023-05-12 08:14:46 +00:00
Sebastian Sellmair 5e13e118fa [Gradle] ExternalTargetApi: Rename 'DecoratedKotlinCompilationFactory' to 'CompilationFactory'
To be consistent with 'TargetFactory' in ExternalKotlinTargetDescriptor

KT-55524
2023-04-25 12:49:52 +00:00
Sebastian Sellmair 898e2beecb [Gradle] ExternalTargetApi: Rename 'ExternalDecoratedKotlinCompilation' to 'DecoratedExternalKotlinCompilation'
To be consistent with 'DecoratedExternalKotlinTarget'

KT-55524
2023-04-25 12:49:51 +00:00
Sebastian Sellmair ef1e4662f1 [Gradle] Remove unnecessary sourcesElementsPublishedConfiguration from external target API 2023-01-13 08:59:51 +00:00
Sebastian Sellmair e32cff3b38 [Gradle] Implement IdeMultiplatformImport using new IdeaKotlinClasspath
^KT-55492 Verification Pending
2022-12-16 16:46:13 +00:00
Anton Lakotka 032c3330ab [Gradle] Support sources publication as variants in ExternalKotlinTarget
^KT-36943
2022-12-01 18:57:03 +00:00
Sebastian Sellmair 83af85706d [Gradle] ExternalKotlinTarget Api: Implement 'configureIdeImport' API
^KT-55010 Verification Pending
2022-11-21 14:11:27 +00:00
Sebastian Sellmair bc531610f7 [Gradle] ExternalKotlinTarget Api: Add initial APIs to configure publications
KT-54981
2022-11-21 07:33:17 +00:00
Sebastian Sellmair 7368752c24 [Gradle] ExternalKotlinTargetApi: Configure apiElements and runtimeElements configurations
KT-54981
2022-11-21 07:33:16 +00:00
Sebastian Sellmair dec0946896 [Gradle][Minor] Opt into InternalKotlinGradlePluginAPI (workaround KT-54823)
^KT-54766 Verification Pending
2022-11-07 13:39:53 +00:00
Sebastian Sellmair 25fe9589b4 [Gradle] Make ExternalKotlinTargetImpl internal
^KT-54766 Verification Pending
2022-11-07 13:39:52 +00:00
Sebastian Sellmair 966ed6b7fb [Gradle] Extract setupCompileTask into separate function
^KT-54766 Verification Pending
2022-11-07 13:39:51 +00:00
Sebastian Sellmair 9599c16d95 [Gradle] Initial 'externalTargetApi' w/ compilable Android prototype
^KT-54766 Verification Pending
2022-11-07 13:39:50 +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