Skip to content

Configure Kotlin JVM facet via Gradle sync contributors#3435

Open
akerimsenol wants to merge 5 commits intoJetBrains:masterfrom
akerimsenol:kotlinFacet
Open

Configure Kotlin JVM facet via Gradle sync contributors#3435
akerimsenol wants to merge 5 commits intoJetBrains:masterfrom
akerimsenol:kotlinFacet

Conversation

@akerimsenol
Copy link
Contributor

Hello, this is my contribution for issues, where the main goal is to provide the Kotlin facet implementation.

https://youtrack.jetbrains.com/issue/IDEA-386244/Sync-contributor-extension-point-for-configuring-source-set-modules
https://youtrack.jetbrains.com/issue/KTIJ-37697/Configure-Kotlin-JVM-facet-via-Gradle-sync-contributors

I did verify end-to-end everything works fine, however please consider this PR as a draft first attempt and a starting point of the discussion, I'm happy to change everything as needed.

This is required to properly test streaming model phased sync implementation

Change-Id: I7d4c1b2319089e37a230b2d6b0f9cbcb9885694f
Change-Id: Ie7600ba3eafbcbae2e27f4bb82d7d4a0d14e5c8a
Create a separate model provider for dependency policy that runs earlier
to achieve this as the KotlinGradleModelBuilder depends on it.

Change-Id: If7ed1f247d05e19dcf32d4c8065a2332dd498b9a
…configured

Change-Id: If9d2e1ced75a40286dd914095ee29acd211db0ea
This implements a new configurator for the source set modules
which configures the KotlinSettingsEntity which configures the
Java modules.

Also, the configuration method is exposed for use by other
plugins (namely Android, which has its own logic for the source
set names)

Refactored some code out in KotlinFacetUtils to expose additional
arguments extraction logic

Change-Id: I4148c2acc7907c51e65a88dde9b14516ad94cee0
@akerimsenol
Copy link
Contributor Author

I have a note about the K2 tests I created, I wasn't sure if I need to keep the existing K1 tests, so I just kept them to minimize work before I get any feedback. I'm happy to delete them if they are no longer needed (but some of the tests fail in k2 mode, and I'm also not sure if the missing coverage is OK)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants