-
Notifications
You must be signed in to change notification settings - Fork 409
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Refactor project structure and introduce composite builds #3174
Conversation
* Move versioning plugin * Move templating plugin * Move mathjax plugin * Move kotlin-as-java plugin * Move all-modules-plugin * Move android-documentation plugin
* Move base-test-utils * Move base-frontend * Move base plugin
* Move gfm-template-processing plugin * Move the gfm plugin * Move jekyll-template-processing plugin * Move the jekyll plugin
I've relocated all of the currently existing subprojects to adhere to the desired structure, so now we just gotta make it work 😅 |
* add version-catalog def in integration-tests * move integration-test shared utils into a subproject * add root build.gradle.kts (even if it is empty) * add `gradle.properties` to included builds
…efactoring # Conflicts: # dokka-runners/gradle-plugin-classic/src/main/kotlin/org/jetbrains/dokka/gradle/kotlin/KotlinNativeDistributionAccessor.kt
…efactoring # Conflicts: # dokka-subprojects/plugin-base/src/main/resources/dokka/images/homepage.svg # dokka-subprojects/plugin-base/src/test/kotlin/renderers/html/HeaderTest.kt
The name of the root project was incorrect due to copy-paste, so it seems like either IDEA or git applied the patch from master to the wrong Gradle project, which caused integration test failures
The PR is ready for review and ready to be merged. Unfortunately, because everything is so tightly coupled and outdated, the scope grew and this PR also includes:
How to review itDiffIt may seem like a lot of files have been changed, but the overwhelming majority of them were simply moved with I've excluded meaningless commits and generated a Another way to review it is to open it in IDEA and only select the following commits: List of meaningful commits
Places in codeIf you'd prefer not to look at the diff and look at the code instead, the only really meaningful directories and files that need to be reviewed:
The rest of the changes were necessary to make the project buildable and pass integration tests. |
build-logic/src/main/kotlin/dokkabuild.publish-gradle-plugin.gradle.kts
Outdated
Show resolved
Hide resolved
dokka-integration-tests/gradle/projects/template.settings.gradle.kts
Outdated
Show resolved
Hide resolved
…efactoring # Conflicts: # dokka-integration-tests/gradle/src/integrationTest/kotlin/org/jetbrains/dokka/it/gradle/WasmJsWasiGradleIntegrationTest.kt
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Let's finally merge it :)
Fixes a mistake introduced in #3174
This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [org.jetbrains.dokka](https://github.com/Kotlin/dokka) | plugin | patch | `1.9.10` -> `1.9.20` | --- > [!WARNING] > Some dependencies could not be looked up. Check the Dependency Dashboard for more information. --- ### Release Notes <details> <summary>Kotlin/dokka (org.jetbrains.dokka)</summary> ### [`v1.9.20`](https://github.com/Kotlin/dokka/releases/tag/v1.9.20): 1.9.20 #### General bugfixes - Fixed sealed interfaces not having the `sealed` keyword in signatures ([https://github.com/Kotlin/dokka/issues/2994](https://github.com/Kotlin/dokka/issues/2994)) - Fixed incorrect links in multi-module projects with non-unique package names ([https://github.com/Kotlin/dokka/issues/2272](https://github.com/Kotlin/dokka/issues/2272)). Huge thanks to [@​EddieRingle](https://github.com/EddieRingle)! - Fixed member extensions not being shown on index pages in certain scenarios ([https://github.com/Kotlin/dokka/issues/3187](https://github.com/Kotlin/dokka/issues/3187)) - Fixed Java's inner classes not having the `inner` keyword in Kotlin signatures ([https://github.com/Kotlin/dokka/issues/2793](https://github.com/Kotlin/dokka/issues/2793)) - Fixed Java's `@param` tag not working with type parameters ([https://github.com/Kotlin/dokka/issues/3199](https://github.com/Kotlin/dokka/issues/3199)) - Fixed Dokka failing in KMP projects when the JVM source set is suppressed ([https://github.com/Kotlin/dokka/issues/3209](https://github.com/Kotlin/dokka/issues/3209)) #### HTML format - Provide an ability to add a custom homepage link to the header, more details in [https://github.com/Kotlin/dokka/issues/2948#issuecomment-1976723089](https://github.com/Kotlin/dokka/issues/2948#issuecomment-1976723089) - Fixed tab selection resetting after navigating to a different page ([https://github.com/Kotlin/dokka/issues/2899](https://github.com/Kotlin/dokka/issues/2899)) - Fixed inline code not always being aligned with the surrounding text ([https://github.com/Kotlin/dokka/issues/3228](https://github.com/Kotlin/dokka/issues/3228)) - Fixed the "No options found" text in search being barely visible ([https://github.com/Kotlin/dokka/issues/3281](https://github.com/Kotlin/dokka/issues/3281)) - Fixed empty HTML tags being rendered for no reason ([https://github.com/Kotlin/dokka/pull/3343](https://github.com/Kotlin/dokka/pull/3343), [https://github.com/Kotlin/dokka/issues/3095](https://github.com/Kotlin/dokka/issues/3095)) #### Runners ##### Gradle Plugin - Mark tasks as not compatible with Gradle configuration cache, second try ([https://github.com/Kotlin/dokka/pull/3438](https://github.com/Kotlin/dokka/pull/3438)). Thanks to [@​3flex](https://github.com/3flex) for noticing and fixing the problem! ##### Maven Plugin - Fixed `dokka:help` being absent ([https://github.com/Kotlin/dokka/issues/3035](https://github.com/Kotlin/dokka/issues/3035)). Thanks to [@​aSemy](https://github.com/aSemy)! - Fixed the source links configuration not working ([https://github.com/Kotlin/dokka/pull/3046](https://github.com/Kotlin/dokka/pull/3046)). Thanks to [@​freya022](https://github.com/freya022) for fixing this one! ##### CLI runner - Allow using relative paths in the `sourceRoots` configuration option ([https://github.com/Kotlin/dokka/issues/2571](https://github.com/Kotlin/dokka/issues/2571)) #### Plugin API - Provide an extension point to customize the rendering of code blocks in HTML format ([https://github.com/Kotlin/dokka/issues/3244](https://github.com/Kotlin/dokka/issues/3244)) #### Other: - Make sure `wasm-js` and `wasm-wasi` targets introduced in Kotlin 1.9.20 are supported ([https://github.com/Kotlin/dokka/issues/3310](https://github.com/Kotlin/dokka/issues/3310)) - Avoid concurrent invocations of Kotlin compiler's API due to the compiler API itself not always being thread safe ([https://github.com/Kotlin/dokka/issues/3151](https://github.com/Kotlin/dokka/issues/3151)). No noticeable performance loss is expected. - Bump dependencies to the latest versions ([https://github.com/Kotlin/dokka/pull/3231](https://github.com/Kotlin/dokka/pull/3231), [https://github.com/Kotlin/dokka/pull/3206](https://github.com/Kotlin/dokka/pull/3206), [https://github.com/Kotlin/dokka/pull/3204](https://github.com/Kotlin/dokka/pull/3204)) - Fix a documentation link ([https://github.com/Kotlin/dokka/pull/3213](https://github.com/Kotlin/dokka/pull/3213)). Thanks to [@​SubhrajyotiSen](https://github.com/SubhrajyotiSen) for noticing and fixing it! - Various build and project structure improvements ([https://github.com/Kotlin/dokka/pull/3174](https://github.com/Kotlin/dokka/pull/3174), [https://github.com/Kotlin/dokka/issues/3132](https://github.com/Kotlin/dokka/issues/3132)). Enormous thanks to [@​aSemy](https://github.com/aSemy) for the help! See [Dokka 1.9.20](https://github.com/Kotlin/dokka/milestone/30?closed=1) milestone for the list of all changes. </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4yMjcuMSIsInVwZGF0ZWRJblZlciI6IjM3LjIyNy4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->
This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [org.jetbrains.dokka](https://github.com/Kotlin/dokka) | plugin | patch | `1.9.10` -> `1.9.20` | --- > [!WARNING] > Some dependencies could not be looked up. Check the Dependency Dashboard for more information. --- ### Release Notes <details> <summary>Kotlin/dokka (org.jetbrains.dokka)</summary> ### [`v1.9.20`](https://github.com/Kotlin/dokka/releases/tag/v1.9.20): 1.9.20 #### General bugfixes - Fixed sealed interfaces not having the `sealed` keyword in signatures ([https://github.com/Kotlin/dokka/issues/2994](https://github.com/Kotlin/dokka/issues/2994)) - Fixed incorrect links in multi-module projects with non-unique package names ([https://github.com/Kotlin/dokka/issues/2272](https://github.com/Kotlin/dokka/issues/2272)). Huge thanks to [@​EddieRingle](https://github.com/EddieRingle)! - Fixed member extensions not being shown on index pages in certain scenarios ([https://github.com/Kotlin/dokka/issues/3187](https://github.com/Kotlin/dokka/issues/3187)) - Fixed Java's inner classes not having the `inner` keyword in Kotlin signatures ([https://github.com/Kotlin/dokka/issues/2793](https://github.com/Kotlin/dokka/issues/2793)) - Fixed Java's `@param` tag not working with type parameters ([https://github.com/Kotlin/dokka/issues/3199](https://github.com/Kotlin/dokka/issues/3199)) - Fixed Dokka failing in KMP projects when the JVM source set is suppressed ([https://github.com/Kotlin/dokka/issues/3209](https://github.com/Kotlin/dokka/issues/3209)) #### HTML format - Provide an ability to add a custom homepage link to the header, more details in [https://github.com/Kotlin/dokka/issues/2948#issuecomment-1976723089](https://github.com/Kotlin/dokka/issues/2948#issuecomment-1976723089) - Fixed tab selection resetting after navigating to a different page ([https://github.com/Kotlin/dokka/issues/2899](https://github.com/Kotlin/dokka/issues/2899)) - Fixed inline code not always being aligned with the surrounding text ([https://github.com/Kotlin/dokka/issues/3228](https://github.com/Kotlin/dokka/issues/3228)) - Fixed the "No options found" text in search being barely visible ([https://github.com/Kotlin/dokka/issues/3281](https://github.com/Kotlin/dokka/issues/3281)) - Fixed empty HTML tags being rendered for no reason ([https://github.com/Kotlin/dokka/pull/3343](https://github.com/Kotlin/dokka/pull/3343), [https://github.com/Kotlin/dokka/issues/3095](https://github.com/Kotlin/dokka/issues/3095)) #### Runners ##### Gradle Plugin - Mark tasks as not compatible with Gradle configuration cache, second try ([https://github.com/Kotlin/dokka/pull/3438](https://github.com/Kotlin/dokka/pull/3438)). Thanks to [@​3flex](https://github.com/3flex) for noticing and fixing the problem! ##### Maven Plugin - Fixed `dokka:help` being absent ([https://github.com/Kotlin/dokka/issues/3035](https://github.com/Kotlin/dokka/issues/3035)). Thanks to [@​aSemy](https://github.com/aSemy)! - Fixed the source links configuration not working ([https://github.com/Kotlin/dokka/pull/3046](https://github.com/Kotlin/dokka/pull/3046)). Thanks to [@​freya022](https://github.com/freya022) for fixing this one! ##### CLI runner - Allow using relative paths in the `sourceRoots` configuration option ([https://github.com/Kotlin/dokka/issues/2571](https://github.com/Kotlin/dokka/issues/2571)) #### Plugin API - Provide an extension point to customize the rendering of code blocks in HTML format ([https://github.com/Kotlin/dokka/issues/3244](https://github.com/Kotlin/dokka/issues/3244)) #### Other: - Make sure `wasm-js` and `wasm-wasi` targets introduced in Kotlin 1.9.20 are supported ([https://github.com/Kotlin/dokka/issues/3310](https://github.com/Kotlin/dokka/issues/3310)) - Avoid concurrent invocations of Kotlin compiler's API due to the compiler API itself not always being thread safe ([https://github.com/Kotlin/dokka/issues/3151](https://github.com/Kotlin/dokka/issues/3151)). No noticeable performance loss is expected. - Bump dependencies to the latest versions ([https://github.com/Kotlin/dokka/pull/3231](https://github.com/Kotlin/dokka/pull/3231), [https://github.com/Kotlin/dokka/pull/3206](https://github.com/Kotlin/dokka/pull/3206), [https://github.com/Kotlin/dokka/pull/3204](https://github.com/Kotlin/dokka/pull/3204)) - Fix a documentation link ([https://github.com/Kotlin/dokka/pull/3213](https://github.com/Kotlin/dokka/pull/3213)). Thanks to [@​SubhrajyotiSen](https://github.com/SubhrajyotiSen) for noticing and fixing it! - Various build and project structure improvements ([https://github.com/Kotlin/dokka/pull/3174](https://github.com/Kotlin/dokka/pull/3174), [https://github.com/Kotlin/dokka/issues/3132](https://github.com/Kotlin/dokka/issues/3132)). Enormous thanks to [@​aSemy](https://github.com/aSemy) for the help! See [Dokka 1.9.20](https://github.com/Kotlin/dokka/milestone/30?closed=1) milestone for the list of all changes. </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4yMjcuMSIsInVwZGF0ZWRJblZlciI6IjM3LjIyNy4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->
At the moment, the project's build configuration is very coupled, which becomes problematic if one of the subprojects (like the Gradle plugin) needs to be more independent and be configured differently than the rest of the subprojects.
This PR serves as preparation work for #3131 (it will help with merging Dokkatoo into Dokka), and at the same time addresses several other issues:
core/test-api
should becomecore-test-api
)Not in scope:
This PR will be in the Draft state until the build is green and the tests pass. Should try to keep the commits more isolated so that they can be reviewed separately.