Commit Graph

99943 Commits

Author SHA1 Message Date
Sebastian Sellmair cdca6da679 [Gradle] KotlinSourceSet.commonizerTarget: Use awaitPlatformCompilations instead of Stage
^KT-56654 Verification Pending
2023-04-03 11:24:21 +00:00
Sebastian Sellmair 8fe444f15e [Gradle] Migrate LenientFuture<T>: Future<T?> to LenientFuture: Future<T>
^KT-56654 Verification Pending
2023-04-03 11:24:21 +00:00
Sebastian Sellmair 262b45405d [Gradle] Change signature of top-level await(Stage) to Stage.await()
^KT-56654 Verification Pending
2023-04-03 11:24:20 +00:00
Sebastian Sellmair 775e08e41d [Gradle] Property.awaitFinalValue: Support generic properties
... even when not declared as lifecycle aware

^KT-56654 Verification Pending
2023-04-03 11:24:20 +00:00
Sebastian Sellmair 2043c9db8e [Gradle] Rename Kotlin~Multiplatfom~PluginLifecycleCoroutineContextElement
^KT-56654 Verification Pending
2023-04-03 11:24:19 +00:00
Sebastian Sellmair a7a689841f [Gradle] Convert KotlinTargetHierarchy.ModuleName to regular class (instead of data)
^KT-56654 Verification Pending
2023-04-03 11:24:19 +00:00
Sebastian Sellmair b5d188d44e [Gradle] Remove suspend functions from KotlinTargetHierarchyBuilder API
^KT-56654 Verification Pending
2023-04-03 11:24:18 +00:00
Sebastian Sellmair 9b8611ea9b [Gradle] RestrictedLifecycleStages: Reuse ContinuationInterceptor as Key
^KT-34662 Verification Pending
2023-04-03 11:24:18 +00:00
Sebastian Sellmair e76119b5eb [Gradle] KotlinPluginLifecycle: Remove unnecessary before stages
^KT-34662 Verification Pending
2023-04-03 11:24:18 +00:00
Sebastian Sellmair 4a896a2579 [Gradle] invokeWhenCreated: Lenient until last stage of lifecycle
^KT-34662 Verification Pending
2023-04-03 11:24:17 +00:00
Sebastian Sellmair 28fa5423a1 [Gradle] warnAboutIncorrectDependencies: Use launch instead of whenEvaluated
^KT-34662 Verification Pending
2023-04-03 11:24:17 +00:00
Sebastian Sellmair c94c4df046 [Gradle] KotlinMetadataTargetConfigurator: Support metadataCompilationsCreated for !isKotlinGranularMetadataEnabled
^KT-34662 Verification Pending
2023-04-03 11:24:17 +00:00
Sebastian Sellmair ab81e92932 [Gradle] KotlinSoftwareComponent: Use future instead of lazy
^KT-34662 Verification Pending
2023-04-03 11:24:16 +00:00
Sebastian Sellmair 50f4531c77 [Gradle] UnusedSourceSetsChecker: Use lifecycle instead of whenEvaluated
^KT-34662 Verification Pending
2023-04-03 11:24:16 +00:00
Sebastian Sellmair 15ca5412d2 [Gradle] sourcesJarTask: Wait for compilations to finalise
^KT-34662 Verification Pending
2023-04-03 11:24:15 +00:00
Sebastian Sellmair aa969fe764 [Gradle] Implement lazyFuture as Future<T> instead of Lazy<Future<T>>
^KT-34662 Verification Pending
2023-04-03 11:24:15 +00:00
Sebastian Sellmair 510eca9da1 [Gradle] Implement source set inspection methods as 'suspend'
this includes:
- isNativeSourceSet
- getCommonSourceSetsForMetadataCompilation
- getPublishedPlatformCompilations
- getHostSpecificSourceSets
- getHostSpecificMainSharedSourceSets
- allPublishableCommonSourceSets

As all of those methods are heavily lifecycle aware and might
return bad values when called to early

^KT-34662 Verification Pending
2023-04-03 11:24:15 +00:00
Sebastian Sellmair eb9936397b [Gradle] Future: Support Gradle Configuration Cache
^KT-34662 Verification Pending
2023-04-03 11:24:14 +00:00
Sebastian Sellmair ea48b52d43 [Gradle] GranularMetadataTransformation: ProjectData: Use Future instead of lambda
^KT-34662 Verification Pending
2023-04-03 11:24:14 +00:00
Sebastian Sellmair 7c65d00f29 [Gradle] Introduce lazyFuture and futureExtension methods
^KT-34662 Verification Pending
2023-04-03 11:24:14 +00:00
Sebastian Sellmair 7192b4c5af [Gradle] KotlinPluginLifecycle: Do not suspend when 'isFinished'
^KT-34662 Verification Pending
2023-04-03 11:24:13 +00:00
Sebastian Sellmair b064493c7b [Gradle] Implement CInteropCommonizerDependent factories as safe suspend functions
^KT-34662 Verification Pending
2023-04-03 11:24:13 +00:00
Sebastian Sellmair 9517667081 [Gradle] NativeExternalDependenciesIT: Build dependencies file at execution time
^KT-34662 Verification Pending
2023-04-03 11:24:13 +00:00
Sebastian Sellmair 4264e49970 [Gradle] Add test `test - launchInState - Configure`
^KT-34662 Verification Pending
2023-04-03 11:24:12 +00:00
Sebastian Sellmair b6a215d681 [Gradle] Implement 'findMetadataCompilation' in safe way
(replacing old getMetadataCompilationsForSourceSet)

^KT-34662 Verification Pending
2023-04-03 11:24:12 +00:00
Sebastian Sellmair 4c653a4297 [Gradle] KotlinPluginLifecycle: Ensure no enqueued actions will be missed
^KT-34662 Verification Pending
2023-04-03 11:24:11 +00:00
Sebastian Sellmair 4ba2107ec5 [Gradle] checkSourceSetVisibilityRequirements: Run in 'ReadyForExecution'
^KT-34662 Verification Pending
2023-04-03 11:24:11 +00:00
Sebastian Sellmair ec2d8150fd [Gradle] Implement .commonizerTarget as 'Future' value
^KT-34662 Verification Pending
2023-04-03 11:24:11 +00:00
Sebastian Sellmair 02120a6822 [Gradle] Introduce 'Future' to represent deferred values/calculations
^KT-34662 Verification Pending
2023-04-03 11:24:10 +00:00
Sebastian Sellmair 028780ae97 [Gradle] Introduce HasProject and implement HasMutableExtras in public entities
^KT-34662 Verification Pending
2023-04-03 11:24:10 +00:00
Sebastian Sellmair 37e1d09c3e [Gradle] KotlinTargetHierarchyDescriptorTest: Suppress deprecations
^KT-34662 Verification Pending
2023-04-03 11:24:10 +00:00
Sebastian Sellmair 32e05b4631 [Gradle] Add tests for KotlinPluginLifecycle.Stage utils
^KT-34662 Verification Pending
2023-04-03 11:24:09 +00:00
Sebastian Sellmair d277502237 [Gradle] KotlinPluginLifecycle: Add documentation
^KT-34662 Verification Pending
2023-04-03 11:24:09 +00:00
Sebastian Sellmair 72ee12cfc8 [Gradle] KotlinPluginLifecycle: await on current stage: Execute in queue
KT-34662
2023-04-03 11:24:08 +00:00
Sebastian Sellmair b502f7cd03 [Gradle] Add KotlinAndroidTargetVariantTypeDslImplTest to check refines edges
KT-34662
2023-04-03 11:24:08 +00:00
Sebastian Sellmair 40603bbda7 [Gradle] Update kotlin-gradle-plugin-api.api
KT-34662
2023-04-03 11:24:08 +00:00
Sebastian Sellmair cb97beb3d6 [Gradle][Minor] KotlinPluginLifecycle: Remove enqueuedStages field
KT-34662
2023-04-03 11:24:07 +00:00
Sebastian Sellmair 656ce4aead [Gradle] Promote KotlinMultiplatformPluginLifecycle to KotlinPluginLifecycle
KT-34662
2023-04-03 11:24:07 +00:00
Sebastian Sellmair 098cfae957 [Gradle] Implement Android DSL for choosing KotlinTargetHierarchy.ModuleName
KT-34662
2023-04-03 11:24:07 +00:00
Sebastian Sellmair 78751dcb55 [Gradle] Introduce KotlinTargetHierarchy.ModuleName as public concept
KT-34662
2023-04-03 11:24:06 +00:00
Sebastian Sellmair 78673885e5 [Gradle] Implement lifecycle stage restrictions APIs
KT-34662
2023-04-03 11:24:06 +00:00
Sebastian Sellmair 5fe6e3edbb [Gradle] KotlinTargetHierarchy.Module: Respect configuration from Android
KT-34662
2023-04-03 11:24:05 +00:00
Sebastian Sellmair 7ab6349ad5 [Gradle] Do not add default 'dependsOn common(Main|Test)' edges when KotlinTargetHierarchy is applied
KT-34662
2023-04-03 11:24:05 +00:00
Sebastian Sellmair 80ffd72f25 [Gradle] Introduce 'LifecycleAwareProperty'
KT-34662
2023-04-03 11:24:05 +00:00
Sebastian Sellmair 96edfe9048 [Gradle] KotlinMultiplatformPluginLifecycle: Support suspend and await
KT-34662
2023-04-03 11:24:04 +00:00
Sebastian Sellmair cc9bab4105 [Gradle] Implement initial 'KotlinMultiplatformPluginLifecycle'
KT-34662
2023-04-03 11:24:04 +00:00
Sebastian Sellmair cf8814823b [Gradle] Rename naturalKotlinTargetHierarchy to defaultKotlinTargetHierarchy
KT-34662
2023-04-03 11:24:03 +00:00
Sebastian Sellmair 553639136a [Gradle] Introduce KotlinTargetHierarchy.Module and let targetHierarchy.default() add default common* refines
KT-34662
2023-04-03 11:24:03 +00:00
Sebastian Sellmair 0f657b8a74 [Gradle] KotlinTargetHierarchyBuilder: Deprecate filterCompilations
KT-34662
2023-04-03 11:24:03 +00:00
Sebastian Sellmair 95ae7ab8bc [Gradle][Minor] Rename buildKotlinTargetHierarchy.kt to KotlinTargetHierarchyBuilderImpl.kt
KT-34662
2023-04-03 11:24:02 +00:00