├── modules ├── docs │ ├── site │ │ ├── static │ │ │ ├── .nojekyll │ │ │ └── img │ │ │ │ ├── feature-icons │ │ │ │ └── undraw_server_push.svg │ │ │ │ ├── social_preview_banner.png │ │ │ │ ├── icons │ │ │ │ ├── three-dots.svg │ │ │ │ └── arrow-up-right.svg │ │ │ │ └── homepage.svg │ │ ├── babel.config.js │ │ ├── src │ │ │ ├── data │ │ │ │ └── showcase │ │ │ │ │ ├── ks3-dark.png │ │ │ │ │ ├── ks3-light.png │ │ │ │ │ ├── gradle-dark.png │ │ │ │ │ ├── selfie-dark.png │ │ │ │ │ ├── KobanKat-dark.png │ │ │ │ │ ├── KobanKat-light.png │ │ │ │ │ ├── Pedestal-dark.png │ │ │ │ │ ├── Pedestal-light.png │ │ │ │ │ ├── Prepared-dark.png │ │ │ │ │ ├── Prepared-light.png │ │ │ │ │ ├── dokkatoo-dark.png │ │ │ │ │ ├── dokkatoo-light.png │ │ │ │ │ ├── gradle-light.png │ │ │ │ │ ├── mqtt-starter.png │ │ │ │ │ ├── selfie-light.png │ │ │ │ │ ├── ModuleCheck-dark.png │ │ │ │ │ ├── spring-boot-dark.png │ │ │ │ │ ├── GW2ChatLinks-dark.png │ │ │ │ │ ├── GW2ChatLinks-light.png │ │ │ │ │ ├── ModuleCheck-light.png │ │ │ │ │ ├── apollo-graphql-dark.png │ │ │ │ │ ├── kotka-streams-dark.png │ │ │ │ │ ├── kotka-streams-light.png │ │ │ │ │ ├── spring-boot-light.png │ │ │ │ │ ├── apollo-graphql-light.png │ │ │ │ │ ├── androidx-ktx-extras-dark.png │ │ │ │ │ ├── oss-review-toolkit-dark.png │ │ │ │ │ ├── oss-review-toolkit-light.png │ │ │ │ │ ├── androidx-ktx-extras-light.png │ │ │ │ │ ├── snakeyaml-engine-kmp-dark.png │ │ │ │ │ ├── snakeyaml-engine-kmp-light.png │ │ │ │ │ ├── Kotlin-JS-Resources-Plugin-dark.png │ │ │ │ │ └── Kotlin-JS-Resources-Plugin-light.png │ │ │ ├── components │ │ │ │ ├── HomepageFeatures │ │ │ │ │ └── styles.module.css │ │ │ │ └── svgIcons │ │ │ │ │ └── styles.module.css │ │ │ ├── utils │ │ │ │ └── jsUtils.ts │ │ │ └── pages │ │ │ │ ├── index.module.css │ │ │ │ └── showcase │ │ │ │ └── _components │ │ │ │ ├── ShowcaseTooltip │ │ │ │ └── styles.module.css │ │ │ │ └── ShowcaseTagSelect │ │ │ │ └── styles.module.css │ │ ├── docs │ │ │ └── guides │ │ │ │ └── index.mdx │ │ └── sidebars.config.js │ └── Module.md ├── dokkatoo-plugin-integration-tests │ ├── projects │ │ ├── it-multimodule-1 │ │ │ └── dokka │ │ │ │ ├── first │ │ │ │ ├── build.gradle │ │ │ │ └── src │ │ │ │ │ └── main │ │ │ │ │ └── kotlin │ │ │ │ │ ├── noPackage.kt │ │ │ │ │ └── foo │ │ │ │ │ ├── Main.kt │ │ │ │ │ ├── FirstClass.kt │ │ │ │ │ └── FirstSubclass.kt │ │ │ │ ├── second │ │ │ │ ├── src │ │ │ │ │ └── main │ │ │ │ │ │ └── kotlin │ │ │ │ │ │ ├── NoPackageClass.kt │ │ │ │ │ │ ├── foo │ │ │ │ │ │ └── ThirdClass.kt │ │ │ │ │ │ └── bar │ │ │ │ │ │ └── SecondClass.kt │ │ │ │ └── build.gradle │ │ │ │ ├── gradle.properties │ │ │ │ ├── settings.gradle.kts │ │ │ │ └── build.gradle │ │ ├── it-multimodule-versioning-0 │ │ │ └── dokka │ │ │ │ ├── first │ │ │ │ ├── build.gradle │ │ │ │ └── src │ │ │ │ │ └── main │ │ │ │ │ └── kotlin │ │ │ │ │ └── foo │ │ │ │ │ └── FirstClass.kt │ │ │ │ ├── second │ │ │ │ ├── build.gradle │ │ │ │ └── src │ │ │ │ │ └── main │ │ │ │ │ └── kotlin │ │ │ │ │ └── bar │ │ │ │ │ └── SecondClass.kt │ │ │ │ ├── gradle.properties │ │ │ │ └── settings.gradle.kts │ │ ├── ANDROID_SDK │ │ │ └── licenses │ │ │ │ ├── android-sdk-license │ │ │ │ ├── google-gdk-license │ │ │ │ ├── android-googletv-license │ │ │ │ ├── android-sdk-arm-dbt-license │ │ │ │ ├── android-sdk-preview-license │ │ │ │ ├── intel-android-extra-license │ │ │ │ └── mips-android-sysimage-license │ │ ├── it-android-0 │ │ │ ├── dokkatoo │ │ │ │ └── src │ │ │ │ │ └── main │ │ │ │ │ ├── AndroidManifest.xml │ │ │ │ │ └── java │ │ │ │ │ └── it │ │ │ │ │ └── android │ │ │ │ │ ├── AndroidSpecificClass.kt │ │ │ │ │ └── IntegrationTestActivity.kt │ │ │ └── dokka │ │ │ │ ├── src │ │ │ │ └── main │ │ │ │ │ ├── AndroidManifest.xml │ │ │ │ │ └── java │ │ │ │ │ └── it │ │ │ │ │ └── android │ │ │ │ │ ├── AndroidSpecificClass.kt │ │ │ │ │ └── IntegrationTestActivity.kt │ │ │ │ ├── settings.gradle.kts │ │ │ │ └── build.gradle.kts │ │ ├── it-collector-0 │ │ │ └── dokka │ │ │ │ ├── moduleA │ │ │ │ ├── moduleB │ │ │ │ │ ├── README.md │ │ │ │ │ ├── src │ │ │ │ │ │ └── main │ │ │ │ │ │ │ └── kotlin │ │ │ │ │ │ │ └── org │ │ │ │ │ │ │ └── jetbrains │ │ │ │ │ │ │ └── dokka │ │ │ │ │ │ │ └── it │ │ │ │ │ │ │ └── moduleB │ │ │ │ │ │ │ └── ModuleB.kt │ │ │ │ │ └── build.gradle.kts │ │ │ │ ├── moduleC │ │ │ │ │ ├── README.md │ │ │ │ │ ├── src │ │ │ │ │ │ └── main │ │ │ │ │ │ │ └── kotlin │ │ │ │ │ │ │ └── org │ │ │ │ │ │ │ └── jetbrains │ │ │ │ │ │ │ └── dokka │ │ │ │ │ │ │ └── it │ │ │ │ │ │ │ └── moduleC │ │ │ │ │ │ │ └── ModuleC.kt │ │ │ │ │ └── build.gradle.kts │ │ │ │ └── build.gradle.kts │ │ │ │ ├── gradle.properties │ │ │ │ ├── build.gradle.kts │ │ │ │ └── settings.gradle.kts │ │ ├── it-multimodule-0 │ │ │ └── dokka │ │ │ │ ├── moduleA │ │ │ │ ├── moduleC │ │ │ │ │ ├── Module.md │ │ │ │ │ ├── src │ │ │ │ │ │ └── main │ │ │ │ │ │ │ └── kotlin │ │ │ │ │ │ │ └── org │ │ │ │ │ │ │ └── jetbrains │ │ │ │ │ │ │ └── dokka │ │ │ │ │ │ │ └── it │ │ │ │ │ │ │ └── moduleC │ │ │ │ │ │ │ └── ModuleC.kt │ │ │ │ │ └── build.gradle.kts │ │ │ │ ├── moduleB │ │ │ │ │ ├── src │ │ │ │ │ │ └── main │ │ │ │ │ │ │ └── kotlin │ │ │ │ │ │ │ └── org │ │ │ │ │ │ │ └── jetbrains │ │ │ │ │ │ │ └── dokka │ │ │ │ │ │ │ └── it │ │ │ │ │ │ │ └── moduleB │ │ │ │ │ │ │ └── ModuleB.kt │ │ │ │ │ ├── Module.md │ │ │ │ │ └── build.gradle.kts │ │ │ │ ├── moduleD │ │ │ │ │ ├── src │ │ │ │ │ │ └── main │ │ │ │ │ │ │ └── kotlin │ │ │ │ │ │ │ └── org │ │ │ │ │ │ │ └── jetbrains │ │ │ │ │ │ │ └── dokka │ │ │ │ │ │ │ └── it │ │ │ │ │ │ │ └── moduleD │ │ │ │ │ │ │ └── ModuleC.kt │ │ │ │ │ └── build.gradle.kts │ │ │ │ └── build.gradle.kts │ │ │ │ ├── gradle.properties │ │ │ │ ├── build.gradle.kts │ │ │ │ └── settings.gradle.kts │ │ ├── it-multiplatform-0 │ │ │ └── dokka │ │ │ │ ├── src │ │ │ │ ├── commonMain │ │ │ │ │ └── kotlin │ │ │ │ │ │ └── it │ │ │ │ │ │ └── mpp0 │ │ │ │ │ │ ├── ExpectedClass.kt │ │ │ │ │ │ ├── coroutines.kt │ │ │ │ │ │ └── CommonMainClass.kt │ │ │ │ ├── jsMain │ │ │ │ │ └── kotlin │ │ │ │ │ │ └── it │ │ │ │ │ │ └── mpp0 │ │ │ │ │ │ ├── ExpectedClass.kt │ │ │ │ │ │ └── runBlocking.kt │ │ │ │ ├── desktopMain │ │ │ │ │ └── kotlin │ │ │ │ │ │ └── it │ │ │ │ │ │ └── mpp0 │ │ │ │ │ │ ├── ExpectedClass.kt │ │ │ │ │ │ └── CPointerExtension.kt │ │ │ │ ├── linuxMain │ │ │ │ │ └── kotlin │ │ │ │ │ │ └── it │ │ │ │ │ │ └── mpp0 │ │ │ │ │ │ ├── ExpectedClass.kt │ │ │ │ │ │ ├── CPointerExtension.kt │ │ │ │ │ │ └── runBlocking.kt │ │ │ │ ├── macosMain │ │ │ │ │ └── kotlin │ │ │ │ │ │ └── it │ │ │ │ │ │ └── mpp0 │ │ │ │ │ │ ├── ExpectedClass.kt │ │ │ │ │ │ └── runBlocking.kt │ │ │ │ └── jvmMain │ │ │ │ │ └── kotlin │ │ │ │ │ └── it │ │ │ │ │ └── mpp0 │ │ │ │ │ ├── runBlocking.kt │ │ │ │ │ ├── ExpectedClass.kt │ │ │ │ │ └── JvmOnlyClass.kt │ │ │ │ ├── gradle.properties │ │ │ │ └── settings.gradle.kts │ │ ├── it-basic │ │ │ ├── dokka │ │ │ │ ├── gradle.properties │ │ │ │ ├── src │ │ │ │ │ ├── main │ │ │ │ │ │ ├── kotlin │ │ │ │ │ │ │ ├── it │ │ │ │ │ │ │ │ ├── suppressedByPath │ │ │ │ │ │ │ │ │ └── SuppressedByPath.kt │ │ │ │ │ │ │ │ ├── suppressedByPackage │ │ │ │ │ │ │ │ │ └── SuppressedByPackage.kt │ │ │ │ │ │ │ │ ├── internal │ │ │ │ │ │ │ │ │ └── InternalClass.kt │ │ │ │ │ │ │ │ ├── protected │ │ │ │ │ │ │ │ │ └── ProtectedClass.kt │ │ │ │ │ │ │ │ └── overriddenVisibility │ │ │ │ │ │ │ │ │ └── VisiblePrivateClass.kt │ │ │ │ │ │ │ └── RootPackageClass.kt │ │ │ │ │ │ └── java │ │ │ │ │ │ │ └── it │ │ │ │ │ │ │ └── basic │ │ │ │ │ │ │ └── java │ │ │ │ │ │ │ └── SampleJavaClass.java │ │ │ │ │ └── test │ │ │ │ │ │ └── kotlin │ │ │ │ │ │ └── it │ │ │ │ │ │ └── basic │ │ │ │ │ │ └── TestClass.kt │ │ │ │ ├── customResources │ │ │ │ │ ├── custom-style-to-add.css │ │ │ │ │ ├── logo-styles.css │ │ │ │ │ └── custom-resource.svg │ │ │ │ └── settings.gradle.kts │ │ │ └── dokkatoo │ │ │ │ ├── customResources │ │ │ │ ├── custom-style-to-add.css │ │ │ │ ├── logo-styles.css │ │ │ │ └── custom-resource.svg │ │ │ │ └── src │ │ │ │ ├── main │ │ │ │ ├── kotlin │ │ │ │ │ ├── it │ │ │ │ │ │ ├── suppressedByPath │ │ │ │ │ │ │ └── SuppressedByPath.kt │ │ │ │ │ │ ├── suppressedByPackage │ │ │ │ │ │ │ └── SuppressedByPackage.kt │ │ │ │ │ │ ├── internal │ │ │ │ │ │ │ └── InternalClass.kt │ │ │ │ │ │ ├── protected │ │ │ │ │ │ │ └── ProtectedClass.kt │ │ │ │ │ │ └── overriddenVisibility │ │ │ │ │ │ │ └── VisiblePrivateClass.kt │ │ │ │ │ └── RootPackageClass.kt │ │ │ │ └── java │ │ │ │ │ └── it │ │ │ │ │ └── basic │ │ │ │ │ └── java │ │ │ │ │ └── SampleJavaClass.java │ │ │ │ └── test │ │ │ │ └── kotlin │ │ │ │ └── it │ │ │ │ └── basic │ │ │ │ └── TestClass.kt │ │ ├── it-basic-groovy │ │ │ ├── dokka │ │ │ │ ├── gradle.properties │ │ │ │ ├── settings.gradle.kts │ │ │ │ └── src │ │ │ │ │ ├── custom │ │ │ │ │ └── java │ │ │ │ │ │ └── it │ │ │ │ │ │ └── basic │ │ │ │ │ │ └── java │ │ │ │ │ │ └── SampleJavaClass.java │ │ │ │ │ └── main │ │ │ │ │ └── java │ │ │ │ │ └── it │ │ │ │ │ └── basic │ │ │ │ │ └── java │ │ │ │ │ └── SampleJavaClass.java │ │ │ └── dokkatoo │ │ │ │ └── settings.gradle │ │ └── it-js-ir-0 │ │ │ └── dokka │ │ │ ├── src │ │ │ └── main │ │ │ │ └── kotlin │ │ │ │ ├── it │ │ │ │ ├── suppressedByPath │ │ │ │ │ └── SuppressedByPath.kt │ │ │ │ ├── internal │ │ │ │ │ └── InternalClass.kt │ │ │ │ └── suppressedByPackage │ │ │ │ │ └── SuppressedByPackage.kt │ │ │ │ └── RootPackageClass.kt │ │ │ ├── gradle.properties │ │ │ ├── settings.gradle.kts │ │ │ └── build.gradle.kts │ ├── example-project-data │ │ ├── composite-build-example │ │ │ └── dokkatoo │ │ │ │ └── html │ │ │ │ ├── scripts │ │ │ │ └── sourceset_dependencies.js │ │ │ │ ├── package-list │ │ │ │ ├── images │ │ │ │ ├── homepage.svg │ │ │ │ ├── arrow_down.svg │ │ │ │ ├── copy-icon.svg │ │ │ │ ├── footer-go-to-link.svg │ │ │ │ ├── copy-successful-icon.svg │ │ │ │ ├── go-to-top-icon.svg │ │ │ │ ├── burger.svg │ │ │ │ ├── nav-icons │ │ │ │ │ ├── exception-class.svg │ │ │ │ │ ├── field-value.svg │ │ │ │ │ ├── enum.svg │ │ │ │ │ ├── interface.svg │ │ │ │ │ ├── field-variable.svg │ │ │ │ │ ├── interface-kotlin.svg │ │ │ │ │ ├── enum-kotlin.svg │ │ │ │ │ └── typealias-kotlin.svg │ │ │ │ └── logo-icon.svg │ │ │ │ └── styles │ │ │ │ └── logo-styles.css │ │ └── java-example │ │ │ └── dokkatoo │ │ │ └── html │ │ │ ├── images │ │ │ ├── homepage.svg │ │ │ ├── arrow_down.svg │ │ │ ├── copy-icon.svg │ │ │ ├── footer-go-to-link.svg │ │ │ ├── copy-successful-icon.svg │ │ │ ├── go-to-top-icon.svg │ │ │ ├── burger.svg │ │ │ ├── nav-icons │ │ │ │ ├── exception-class.svg │ │ │ │ ├── field-value.svg │ │ │ │ ├── enum.svg │ │ │ │ ├── interface.svg │ │ │ │ ├── field-variable.svg │ │ │ │ ├── interface-kotlin.svg │ │ │ │ ├── enum-kotlin.svg │ │ │ │ └── typealias-kotlin.svg │ │ │ └── logo-icon.svg │ │ │ ├── scripts │ │ │ └── sourceset_dependencies.js │ │ │ ├── package-list │ │ │ └── styles │ │ │ └── logo-styles.css │ └── src │ │ ├── testIntegration │ │ └── resources │ │ │ └── it │ │ │ └── example │ │ │ └── dokka-multi-module │ │ │ └── readme.md │ │ └── testFixtures │ │ └── kotlin │ │ └── templateProjectUtils.kt └── dokkatoo-plugin │ └── src │ ├── test │ └── kotlin │ │ └── dokka │ │ └── parameters │ │ ├── builders │ │ ├── DokkaParametersBuilderTest.kt │ │ └── DokkaModuleDescriptionBuilderTest.kt │ │ └── VisibilityModifierTest.kt │ ├── main │ └── kotlin │ │ ├── internal │ │ ├── logUtils.kt │ │ ├── uriUtils.kt │ │ ├── collectionsUtils.kt │ │ ├── gradleExtensionAccessors.kt │ │ ├── HasFormatName.kt │ │ ├── stringUtils.kt │ │ ├── PluginId.kt │ │ └── gradleTypealiases.kt │ │ ├── formats │ │ ├── DokkatooGfmPlugin.kt │ │ ├── DokkatooJavadocPlugin.kt │ │ └── DokkatooJekyllPlugin.kt │ │ ├── dokka │ │ └── parameters │ │ │ └── HasConfigurableVisibilityModifiers.kt │ │ └── tasks │ │ ├── DokkatooTask.kt │ │ └── TaskNames.kt │ └── testFixtures │ └── kotlin │ ├── KotestProjectConfig.kt │ ├── kotestConditions.kt │ ├── files.kt │ ├── text.kt │ └── kotestCollectionMatchers.kt ├── examples ├── multimodule-example │ ├── dokkatoo │ │ ├── build.gradle.kts │ │ ├── parentProject │ │ │ ├── childProjectA │ │ │ │ ├── ModuleA.md │ │ │ │ ├── src │ │ │ │ │ └── main │ │ │ │ │ │ └── kotlin │ │ │ │ │ │ └── demo │ │ │ │ │ │ └── ChildProjectAClass.kt │ │ │ │ └── build.gradle.kts │ │ │ ├── childProjectB │ │ │ │ ├── ModuleB.md │ │ │ │ ├── src │ │ │ │ │ └── main │ │ │ │ │ │ └── kotlin │ │ │ │ │ │ └── demo │ │ │ │ │ │ └── ChildProjectBClass.kt │ │ │ │ └── build.gradle.kts │ │ │ └── build.gradle.kts │ │ └── buildSrc │ │ │ ├── build.gradle.kts │ │ │ └── src │ │ │ └── main │ │ │ └── kotlin │ │ │ └── dokka-convention.gradle.kts │ └── dokka │ │ ├── demo.png │ │ ├── parentProject │ │ ├── childProjectA │ │ │ ├── ModuleA.md │ │ │ ├── src │ │ │ │ └── main │ │ │ │ │ └── kotlin │ │ │ │ │ └── demo │ │ │ │ │ └── ChildProjectAClass.kt │ │ │ └── build.gradle.kts │ │ └── childProjectB │ │ │ ├── ModuleB.md │ │ │ ├── src │ │ │ └── main │ │ │ │ └── kotlin │ │ │ │ └── demo │ │ │ │ └── ChildProjectBClass.kt │ │ │ └── build.gradle.kts │ │ ├── build.gradle.kts │ │ └── settings.gradle.kts ├── versioning-multimodule-example │ ├── dokkatoo │ │ ├── build.gradle.kts │ │ ├── previousDocVersions │ │ │ └── 0.9 │ │ │ │ ├── version.json │ │ │ │ ├── older │ │ │ │ └── 0.9 │ │ │ │ │ ├── version.json │ │ │ │ │ ├── package-list │ │ │ │ │ ├── scripts │ │ │ │ │ └── sourceset_dependencies.js │ │ │ │ │ ├── images │ │ │ │ │ ├── arrow_down.svg │ │ │ │ │ ├── copy-icon.svg │ │ │ │ │ ├── footer-go-to-link.svg │ │ │ │ │ ├── theme-toggle.svg │ │ │ │ │ ├── copy-successful-icon.svg │ │ │ │ │ ├── go-to-top-icon.svg │ │ │ │ │ ├── nav-icons │ │ │ │ │ │ ├── field-value.svg │ │ │ │ │ │ ├── field-variable.svg │ │ │ │ │ │ ├── exception-class.svg │ │ │ │ │ │ ├── enum.svg │ │ │ │ │ │ ├── interface.svg │ │ │ │ │ │ ├── interface-kotlin.svg │ │ │ │ │ │ ├── enum-kotlin.svg │ │ │ │ │ │ └── object.svg │ │ │ │ │ ├── logo-icon.svg │ │ │ │ │ └── anchor-copy-button.svg │ │ │ │ │ └── styles │ │ │ │ │ └── logo-styles.css │ │ │ │ ├── package-list │ │ │ │ ├── scripts │ │ │ │ └── sourceset_dependencies.js │ │ │ │ ├── images │ │ │ │ ├── homepage.svg │ │ │ │ ├── arrow_down.svg │ │ │ │ ├── copy-icon.svg │ │ │ │ ├── footer-go-to-link.svg │ │ │ │ ├── copy-successful-icon.svg │ │ │ │ ├── go-to-top-icon.svg │ │ │ │ ├── burger.svg │ │ │ │ ├── nav-icons │ │ │ │ │ ├── exception-class.svg │ │ │ │ │ ├── field-value.svg │ │ │ │ │ ├── enum.svg │ │ │ │ │ ├── interface.svg │ │ │ │ │ ├── field-variable.svg │ │ │ │ │ ├── interface-kotlin.svg │ │ │ │ │ ├── enum-kotlin.svg │ │ │ │ │ └── typealias-kotlin.svg │ │ │ │ ├── logo-icon.svg │ │ │ │ └── anchor-copy-button.svg │ │ │ │ └── styles │ │ │ │ └── logo-styles.css │ │ ├── parentProject │ │ │ ├── childProjectB │ │ │ │ ├── src │ │ │ │ │ └── main │ │ │ │ │ │ └── kotlin │ │ │ │ │ │ └── demo │ │ │ │ │ │ ├── Functions.kt │ │ │ │ │ │ └── ChildProjectBClass.kt │ │ │ │ └── build.gradle.kts │ │ │ └── childProjectA │ │ │ │ ├── src │ │ │ │ └── main │ │ │ │ │ └── kotlin │ │ │ │ │ └── demo │ │ │ │ │ ├── FancyAPI.kt │ │ │ │ │ └── ChildProjectAClass.kt │ │ │ │ └── build.gradle.kts │ │ └── buildSrc │ │ │ ├── build.gradle.kts │ │ │ └── src │ │ │ └── main │ │ │ └── kotlin │ │ │ └── dokka-convention.gradle.kts │ └── dokka │ │ ├── previousDocVersions │ │ └── 0.9 │ │ │ ├── version.json │ │ │ ├── package-list │ │ │ ├── scripts │ │ │ └── sourceset_dependencies.js │ │ │ ├── images │ │ │ ├── arrow_down.svg │ │ │ ├── copy-icon.svg │ │ │ ├── footer-go-to-link.svg │ │ │ ├── theme-toggle.svg │ │ │ ├── copy-successful-icon.svg │ │ │ ├── go-to-top-icon.svg │ │ │ ├── nav-icons │ │ │ │ ├── field-value.svg │ │ │ │ ├── field-variable.svg │ │ │ │ ├── exception-class.svg │ │ │ │ ├── enum.svg │ │ │ │ ├── interface.svg │ │ │ │ ├── interface-kotlin.svg │ │ │ │ ├── enum-kotlin.svg │ │ │ │ ├── object.svg │ │ │ │ └── class-kotlin.svg │ │ │ ├── logo-icon.svg │ │ │ └── anchor-copy-button.svg │ │ │ └── styles │ │ │ └── logo-styles.css │ │ ├── demo.png │ │ ├── parentProject │ │ ├── childProjectB │ │ │ ├── src │ │ │ │ └── main │ │ │ │ │ └── kotlin │ │ │ │ │ └── demo │ │ │ │ │ ├── Functions.kt │ │ │ │ │ └── ChildProjectBClass.kt │ │ │ └── build.gradle.kts │ │ └── childProjectA │ │ │ ├── src │ │ │ └── main │ │ │ │ └── kotlin │ │ │ │ └── demo │ │ │ │ ├── FancyAPI.kt │ │ │ │ └── ChildProjectAClass.kt │ │ │ └── build.gradle.kts │ │ ├── settings.gradle.kts │ │ └── build.gradle.kts ├── java-example │ └── dokkatoo │ │ ├── Module.md │ │ ├── buildSrc │ │ ├── src │ │ │ └── main │ │ │ │ └── kotlin │ │ │ │ ├── java-library-convention.gradle.kts │ │ │ │ ├── java-application-convention.gradle.kts │ │ │ │ ├── java-base-convention.gradle.kts │ │ │ │ ├── java-mongodb-library-convention.gradle.kts │ │ │ │ └── dokka-convention.gradle.kts │ │ └── build.gradle.kts │ │ ├── my-java-features │ │ ├── src │ │ │ ├── main │ │ │ │ └── java │ │ │ │ │ └── demo │ │ │ │ │ └── feature │ │ │ │ │ └── MyJavaFeatureUtil.java │ │ │ └── mongodbSupport │ │ │ │ └── java │ │ │ │ └── demo │ │ │ │ └── mongodb │ │ │ │ └── MyMongoDbUtil.java │ │ ├── Module.md │ │ └── build.gradle.kts │ │ ├── my-java-library │ │ ├── Module.md │ │ ├── build.gradle.kts │ │ └── src │ │ │ └── main │ │ │ └── java │ │ │ └── demo │ │ │ └── MyJavaLibraryClass.java │ │ ├── my-java-application │ │ ├── Module.md │ │ ├── build.gradle.kts │ │ └── src │ │ │ └── main │ │ │ └── java │ │ │ └── demo │ │ │ └── MyJavaApplication.java │ │ └── build.gradle.kts ├── gradle-example │ ├── dokka │ │ ├── demo.png │ │ ├── settings.gradle.kts │ │ ├── Module.md │ │ ├── src │ │ │ └── main │ │ │ │ └── kotlin │ │ │ │ └── demo │ │ │ │ └── HelloWorld.kt │ │ └── README.md │ └── dokkatoo │ │ ├── Module.md │ │ ├── src │ │ └── main │ │ │ └── kotlin │ │ │ └── demo │ │ │ └── HelloWorld.kt │ │ └── build.gradle.kts ├── custom-format-example │ ├── dokka │ │ ├── demo.png │ │ ├── ktor-logo.png │ │ ├── settings.gradle.kts │ │ ├── src │ │ │ └── main │ │ │ │ └── kotlin │ │ │ │ └── demo │ │ │ │ └── HelloWorld.kt │ │ ├── README.md │ │ └── logo-styles.css │ └── dokkatoo │ │ ├── ktor-logo.png │ │ ├── src │ │ └── main │ │ │ └── kotlin │ │ │ └── demo │ │ │ └── HelloWorld.kt │ │ ├── build.gradle.kts │ │ └── logo-styles.css ├── kotlin-as-java-example │ ├── dokka │ │ ├── demo.png │ │ ├── settings.gradle.kts │ │ ├── src │ │ │ └── main │ │ │ │ └── kotlin │ │ │ │ └── demo │ │ │ │ └── HelloWorld.kt │ │ ├── README.md │ │ └── build.gradle.kts │ └── dokkatoo │ │ ├── build.gradle.kts │ │ └── src │ │ └── main │ │ └── kotlin │ │ └── demo │ │ └── HelloWorld.kt ├── multiplatform-example │ ├── dokka │ │ ├── demo.png │ │ ├── src │ │ │ ├── commonMain │ │ │ │ └── kotlin │ │ │ │ │ └── org │ │ │ │ │ └── kotlintestmpp │ │ │ │ │ ├── common │ │ │ │ │ └── Foo.kt │ │ │ │ │ ├── CommonDateUtils.kt │ │ │ │ │ └── CommonCoroutineExtensions.kt │ │ │ ├── jsMain │ │ │ │ └── kotlin │ │ │ │ │ └── org │ │ │ │ │ └── kotlintestmpp │ │ │ │ │ ├── JsDateUtils.kt │ │ │ │ │ ├── JsCoroutineExtensions.kt │ │ │ │ │ └── JsFunctions.kt │ │ │ ├── jvmMain │ │ │ │ └── kotlin │ │ │ │ │ └── org │ │ │ │ │ └── kotlintestmpp │ │ │ │ │ ├── JvmDateUtils.kt │ │ │ │ │ ├── JvmCoroutineExtensions.kt │ │ │ │ │ ├── JavaAnnotation.java │ │ │ │ │ └── JvmFunctions.kt │ │ │ ├── linuxMain │ │ │ │ └── kotlin │ │ │ │ │ └── org │ │ │ │ │ └── kotlintestmpp │ │ │ │ │ ├── LinuxDateUtils.kt │ │ │ │ │ ├── LinuxCoroutineExtensions.kt │ │ │ │ │ └── cinterop.kt │ │ │ ├── macosMain │ │ │ │ └── kotlin │ │ │ │ │ └── org │ │ │ │ │ └── kotlintestmpp │ │ │ │ │ ├── MacOsDateUtils.kt │ │ │ │ │ └── MacOsCoroutineExtensions.kt │ │ │ └── customJdk9 │ │ │ │ └── kotlin │ │ │ │ └── org │ │ │ │ └── kotlintest │ │ │ │ └── jdk9 │ │ │ │ └── CustomSourceSetFile.kt │ │ └── settings.gradle.kts │ └── dokkatoo │ │ └── src │ │ ├── commonMain │ │ └── kotlin │ │ │ └── org │ │ │ └── kotlintestmpp │ │ │ ├── common │ │ │ └── Foo.kt │ │ │ ├── CommonDateUtils.kt │ │ │ └── CommonCoroutineExtensions.kt │ │ ├── jsMain │ │ └── kotlin │ │ │ └── org │ │ │ └── kotlintestmpp │ │ │ ├── JsDateUtils.kt │ │ │ ├── JsCoroutineExtensions.kt │ │ │ └── JsFunctions.kt │ │ ├── jvmMain │ │ └── kotlin │ │ │ └── org │ │ │ └── kotlintestmpp │ │ │ ├── JvmDateUtils.kt │ │ │ ├── JvmCoroutineExtensions.kt │ │ │ ├── JavaAnnotation.java │ │ │ └── JvmFunctions.kt │ │ ├── linuxMain │ │ └── kotlin │ │ │ └── org │ │ │ └── kotlintestmpp │ │ │ ├── LinuxDateUtils.kt │ │ │ ├── LinuxCoroutineExtensions.kt │ │ │ └── CInterop.kt │ │ ├── macosMain │ │ └── kotlin │ │ │ └── org │ │ │ └── kotlintestmpp │ │ │ ├── MacOsDateUtils.kt │ │ │ └── MacOsCoroutineExtensions.kt │ │ └── customJdk9 │ │ └── kotlin │ │ └── org │ │ └── kotlintest │ │ └── jdk9 │ │ └── CustomSourceSetFile.kt ├── composite-build-example │ └── dokkatoo │ │ ├── build-logic │ │ ├── src │ │ │ └── main │ │ │ │ └── kotlin │ │ │ │ ├── kotlin-jvm-convention.gradle.kts │ │ │ │ └── dokka-convention.gradle.kts │ │ └── build.gradle.kts │ │ ├── module-kea │ │ ├── build.gradle.kts │ │ └── src │ │ │ └── main │ │ │ └── kotlin │ │ │ └── Kea.kt │ │ ├── module-kakapo │ │ ├── build.gradle.kts │ │ └── src │ │ │ └── main │ │ │ └── kotlin │ │ │ └── Kakapo.kt │ │ ├── docs │ │ └── build.gradle.kts │ │ └── build.gradle.kts ├── library-publishing-example │ ├── dokka │ │ ├── settings.gradle.kts │ │ └── src │ │ │ └── main │ │ │ └── kotlin │ │ │ └── demo │ │ │ └── HelloWorld.kt │ └── dokkatoo │ │ └── src │ │ └── main │ │ └── kotlin │ │ └── demo │ │ └── HelloWorld.kt └── README.md ├── gradle └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── .idea ├── scopes │ ├── TestFixtures.xml │ └── ExampleProjects.xml ├── codeStyles │ └── codeStyleConfig.xml └── fileColors.xml ├── .github └── workflows │ └── workflow_pull_request.yml └── gradle.properties /modules/docs/site/static/.nojekyll: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /modules/docs/site/static/img/feature-icons/undraw_server_push.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /examples/multimodule-example/dokkatoo/build.gradle.kts: -------------------------------------------------------------------------------- 1 | plugins { 2 | base 3 | } 4 | -------------------------------------------------------------------------------- /modules/dokkatoo-plugin-integration-tests/projects/it-multimodule-1/dokka/first/build.gradle: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /examples/versioning-multimodule-example/dokkatoo/build.gradle.kts: -------------------------------------------------------------------------------- 1 | plugins { 2 | base 3 | } 4 | -------------------------------------------------------------------------------- /examples/versioning-multimodule-example/dokka/previousDocVersions/0.9/version.json: -------------------------------------------------------------------------------- 1 | {"version":"0.9"} -------------------------------------------------------------------------------- /examples/versioning-multimodule-example/dokkatoo/previousDocVersions/0.9/version.json: -------------------------------------------------------------------------------- 1 | {"version":"1.0"} -------------------------------------------------------------------------------- /modules/dokkatoo-plugin-integration-tests/projects/it-multimodule-versioning-0/dokka/first/build.gradle: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /examples/versioning-multimodule-example/dokkatoo/previousDocVersions/0.9/older/0.9/version.json: -------------------------------------------------------------------------------- 1 | {"version":"0.9"} -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamko-dev/dokkatoo/HEAD/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /examples/java-example/dokkatoo/Module.md: -------------------------------------------------------------------------------- 1 | # Module My Java Project 2 | 3 | This is the documentation for My Java Project. 4 | -------------------------------------------------------------------------------- /examples/gradle-example/dokka/demo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamko-dev/dokkatoo/HEAD/examples/gradle-example/dokka/demo.png -------------------------------------------------------------------------------- /modules/docs/site/babel.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | presets: [require.resolve('@docusaurus/core/lib/babel/preset')], 3 | }; 4 | -------------------------------------------------------------------------------- /examples/multimodule-example/dokka/demo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamko-dev/dokkatoo/HEAD/examples/multimodule-example/dokka/demo.png -------------------------------------------------------------------------------- /modules/dokkatoo-plugin-integration-tests/projects/ANDROID_SDK/licenses/android-sdk-license: -------------------------------------------------------------------------------- 1 | 2 | 24333f8a63b6825ea9c5514f83c2829b004d1fee 3 | -------------------------------------------------------------------------------- /modules/dokkatoo-plugin-integration-tests/projects/ANDROID_SDK/licenses/google-gdk-license: -------------------------------------------------------------------------------- 1 | 2 | 33b6a2b64607f11b759f320ef9dff4ae5c47d97a 3 | -------------------------------------------------------------------------------- /examples/custom-format-example/dokka/demo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamko-dev/dokkatoo/HEAD/examples/custom-format-example/dokka/demo.png -------------------------------------------------------------------------------- /examples/kotlin-as-java-example/dokka/demo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamko-dev/dokkatoo/HEAD/examples/kotlin-as-java-example/dokka/demo.png -------------------------------------------------------------------------------- /examples/multiplatform-example/dokka/demo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamko-dev/dokkatoo/HEAD/examples/multiplatform-example/dokka/demo.png -------------------------------------------------------------------------------- /modules/dokkatoo-plugin-integration-tests/projects/ANDROID_SDK/licenses/android-googletv-license: -------------------------------------------------------------------------------- 1 | 2 | 601085b94cd77f0b54ff86406957099ebe79c4d6 3 | -------------------------------------------------------------------------------- /modules/docs/site/src/data/showcase/ks3-dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamko-dev/dokkatoo/HEAD/modules/docs/site/src/data/showcase/ks3-dark.png -------------------------------------------------------------------------------- /modules/docs/site/src/data/showcase/ks3-light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamko-dev/dokkatoo/HEAD/modules/docs/site/src/data/showcase/ks3-light.png -------------------------------------------------------------------------------- /modules/dokkatoo-plugin-integration-tests/projects/ANDROID_SDK/licenses/android-sdk-arm-dbt-license: -------------------------------------------------------------------------------- 1 | 2 | 859f317696f67ef3d7f30a50a5560e7834b43903 3 | -------------------------------------------------------------------------------- /modules/dokkatoo-plugin-integration-tests/projects/ANDROID_SDK/licenses/android-sdk-preview-license: -------------------------------------------------------------------------------- 1 | 2 | 84831b9409646a918e30573bab4c9c91346d8abd 3 | -------------------------------------------------------------------------------- /modules/dokkatoo-plugin-integration-tests/projects/ANDROID_SDK/licenses/intel-android-extra-license: -------------------------------------------------------------------------------- 1 | 2 | d975f751698a77b662f1254ddbeed3901e976f5a 3 | -------------------------------------------------------------------------------- /modules/dokkatoo-plugin-integration-tests/projects/ANDROID_SDK/licenses/mips-android-sysimage-license: -------------------------------------------------------------------------------- 1 | 2 | e9acab5b5fbb560a72cfaecce8946896ff6aab9d 3 | -------------------------------------------------------------------------------- /modules/dokkatoo-plugin-integration-tests/projects/it-multimodule-1/dokka/second/src/main/kotlin/NoPackageClass.kt: -------------------------------------------------------------------------------- 1 | class NoPackageClass : NoPackage() 2 | -------------------------------------------------------------------------------- /examples/custom-format-example/dokka/ktor-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamko-dev/dokkatoo/HEAD/examples/custom-format-example/dokka/ktor-logo.png -------------------------------------------------------------------------------- /modules/docs/site/src/data/showcase/gradle-dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamko-dev/dokkatoo/HEAD/modules/docs/site/src/data/showcase/gradle-dark.png -------------------------------------------------------------------------------- /modules/docs/site/src/data/showcase/selfie-dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamko-dev/dokkatoo/HEAD/modules/docs/site/src/data/showcase/selfie-dark.png -------------------------------------------------------------------------------- /modules/dokkatoo-plugin-integration-tests/projects/it-android-0/dokkatoo/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /examples/custom-format-example/dokkatoo/ktor-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamko-dev/dokkatoo/HEAD/examples/custom-format-example/dokkatoo/ktor-logo.png -------------------------------------------------------------------------------- /examples/versioning-multimodule-example/dokka/demo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamko-dev/dokkatoo/HEAD/examples/versioning-multimodule-example/dokka/demo.png -------------------------------------------------------------------------------- /modules/docs/site/src/data/showcase/KobanKat-dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamko-dev/dokkatoo/HEAD/modules/docs/site/src/data/showcase/KobanKat-dark.png -------------------------------------------------------------------------------- /modules/docs/site/src/data/showcase/KobanKat-light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamko-dev/dokkatoo/HEAD/modules/docs/site/src/data/showcase/KobanKat-light.png -------------------------------------------------------------------------------- /modules/docs/site/src/data/showcase/Pedestal-dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamko-dev/dokkatoo/HEAD/modules/docs/site/src/data/showcase/Pedestal-dark.png -------------------------------------------------------------------------------- /modules/docs/site/src/data/showcase/Pedestal-light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamko-dev/dokkatoo/HEAD/modules/docs/site/src/data/showcase/Pedestal-light.png -------------------------------------------------------------------------------- /modules/docs/site/src/data/showcase/Prepared-dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamko-dev/dokkatoo/HEAD/modules/docs/site/src/data/showcase/Prepared-dark.png -------------------------------------------------------------------------------- /modules/docs/site/src/data/showcase/Prepared-light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamko-dev/dokkatoo/HEAD/modules/docs/site/src/data/showcase/Prepared-light.png -------------------------------------------------------------------------------- /modules/docs/site/src/data/showcase/dokkatoo-dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamko-dev/dokkatoo/HEAD/modules/docs/site/src/data/showcase/dokkatoo-dark.png -------------------------------------------------------------------------------- /modules/docs/site/src/data/showcase/dokkatoo-light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamko-dev/dokkatoo/HEAD/modules/docs/site/src/data/showcase/dokkatoo-light.png -------------------------------------------------------------------------------- /modules/docs/site/src/data/showcase/gradle-light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamko-dev/dokkatoo/HEAD/modules/docs/site/src/data/showcase/gradle-light.png -------------------------------------------------------------------------------- /modules/docs/site/src/data/showcase/mqtt-starter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamko-dev/dokkatoo/HEAD/modules/docs/site/src/data/showcase/mqtt-starter.png -------------------------------------------------------------------------------- /modules/docs/site/src/data/showcase/selfie-light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamko-dev/dokkatoo/HEAD/modules/docs/site/src/data/showcase/selfie-light.png -------------------------------------------------------------------------------- /modules/docs/site/static/img/social_preview_banner.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamko-dev/dokkatoo/HEAD/modules/docs/site/static/img/social_preview_banner.png -------------------------------------------------------------------------------- /modules/dokkatoo-plugin-integration-tests/projects/it-collector-0/dokka/moduleA/moduleB/README.md: -------------------------------------------------------------------------------- 1 | # Module moduleB 2 | Here is some description for module B 3 | -------------------------------------------------------------------------------- /modules/dokkatoo-plugin-integration-tests/projects/it-collector-0/dokka/moduleA/moduleC/README.md: -------------------------------------------------------------------------------- 1 | # Module moduleC 2 | Here is some description for module C 3 | -------------------------------------------------------------------------------- /modules/dokkatoo-plugin-integration-tests/projects/it-multimodule-0/dokka/moduleA/moduleC/Module.md: -------------------------------------------------------------------------------- 1 | # Module moduleC 2 | Here is some description for module C 3 | -------------------------------------------------------------------------------- /examples/java-example/dokkatoo/buildSrc/src/main/kotlin/java-library-convention.gradle.kts: -------------------------------------------------------------------------------- 1 | plugins { 2 | id("java-base-convention") 3 | `java-library` 4 | } 5 | -------------------------------------------------------------------------------- /modules/docs/site/src/data/showcase/ModuleCheck-dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamko-dev/dokkatoo/HEAD/modules/docs/site/src/data/showcase/ModuleCheck-dark.png -------------------------------------------------------------------------------- /modules/docs/site/src/data/showcase/spring-boot-dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamko-dev/dokkatoo/HEAD/modules/docs/site/src/data/showcase/spring-boot-dark.png -------------------------------------------------------------------------------- /examples/java-example/dokkatoo/my-java-features/src/main/java/demo/feature/MyJavaFeatureUtil.java: -------------------------------------------------------------------------------- 1 | package demo.feature; 2 | 3 | public class MyJavaFeatureUtil { 4 | } 5 | -------------------------------------------------------------------------------- /examples/java-example/dokkatoo/my-java-features/src/mongodbSupport/java/demo/mongodb/MyMongoDbUtil.java: -------------------------------------------------------------------------------- 1 | package demo.mongodb; 2 | 3 | public class MyMongoDbUtil { 4 | } 5 | -------------------------------------------------------------------------------- /modules/docs/site/src/data/showcase/GW2ChatLinks-dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamko-dev/dokkatoo/HEAD/modules/docs/site/src/data/showcase/GW2ChatLinks-dark.png -------------------------------------------------------------------------------- /modules/docs/site/src/data/showcase/GW2ChatLinks-light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamko-dev/dokkatoo/HEAD/modules/docs/site/src/data/showcase/GW2ChatLinks-light.png -------------------------------------------------------------------------------- /modules/docs/site/src/data/showcase/ModuleCheck-light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamko-dev/dokkatoo/HEAD/modules/docs/site/src/data/showcase/ModuleCheck-light.png -------------------------------------------------------------------------------- /modules/docs/site/src/data/showcase/apollo-graphql-dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamko-dev/dokkatoo/HEAD/modules/docs/site/src/data/showcase/apollo-graphql-dark.png -------------------------------------------------------------------------------- /modules/docs/site/src/data/showcase/kotka-streams-dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamko-dev/dokkatoo/HEAD/modules/docs/site/src/data/showcase/kotka-streams-dark.png -------------------------------------------------------------------------------- /modules/docs/site/src/data/showcase/kotka-streams-light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamko-dev/dokkatoo/HEAD/modules/docs/site/src/data/showcase/kotka-streams-light.png -------------------------------------------------------------------------------- /modules/docs/site/src/data/showcase/spring-boot-light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamko-dev/dokkatoo/HEAD/modules/docs/site/src/data/showcase/spring-boot-light.png -------------------------------------------------------------------------------- /modules/dokkatoo-plugin-integration-tests/projects/it-multimodule-versioning-0/dokka/second/build.gradle: -------------------------------------------------------------------------------- 1 | dependencies { 2 | implementation project(":first") 3 | } 4 | -------------------------------------------------------------------------------- /.idea/scopes/TestFixtures.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /examples/java-example/dokkatoo/buildSrc/src/main/kotlin/java-application-convention.gradle.kts: -------------------------------------------------------------------------------- 1 | plugins { 2 | java 3 | application 4 | id("java-base-convention") 5 | } 6 | -------------------------------------------------------------------------------- /modules/docs/site/src/data/showcase/apollo-graphql-light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamko-dev/dokkatoo/HEAD/modules/docs/site/src/data/showcase/apollo-graphql-light.png -------------------------------------------------------------------------------- /modules/dokkatoo-plugin-integration-tests/example-project-data/composite-build-example/dokkatoo/html/scripts/sourceset_dependencies.js: -------------------------------------------------------------------------------- 1 | sourceset_dependencies = '{":/main":[]}' -------------------------------------------------------------------------------- /modules/docs/site/src/data/showcase/androidx-ktx-extras-dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamko-dev/dokkatoo/HEAD/modules/docs/site/src/data/showcase/androidx-ktx-extras-dark.png -------------------------------------------------------------------------------- /modules/docs/site/src/data/showcase/oss-review-toolkit-dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamko-dev/dokkatoo/HEAD/modules/docs/site/src/data/showcase/oss-review-toolkit-dark.png -------------------------------------------------------------------------------- /modules/docs/site/src/data/showcase/oss-review-toolkit-light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamko-dev/dokkatoo/HEAD/modules/docs/site/src/data/showcase/oss-review-toolkit-light.png -------------------------------------------------------------------------------- /modules/dokkatoo-plugin-integration-tests/projects/it-multimodule-1/dokka/first/src/main/kotlin/noPackage.kt: -------------------------------------------------------------------------------- 1 | fun noPackage(): String = "Hello there" 2 | 3 | open class NoPackage 4 | -------------------------------------------------------------------------------- /modules/docs/site/src/data/showcase/androidx-ktx-extras-light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamko-dev/dokkatoo/HEAD/modules/docs/site/src/data/showcase/androidx-ktx-extras-light.png -------------------------------------------------------------------------------- /modules/docs/site/src/data/showcase/snakeyaml-engine-kmp-dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamko-dev/dokkatoo/HEAD/modules/docs/site/src/data/showcase/snakeyaml-engine-kmp-dark.png -------------------------------------------------------------------------------- /modules/docs/site/src/data/showcase/snakeyaml-engine-kmp-light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamko-dev/dokkatoo/HEAD/modules/docs/site/src/data/showcase/snakeyaml-engine-kmp-light.png -------------------------------------------------------------------------------- /examples/composite-build-example/dokkatoo/build-logic/src/main/kotlin/kotlin-jvm-convention.gradle.kts: -------------------------------------------------------------------------------- 1 | plugins { 2 | kotlin("jvm") 3 | } 4 | 5 | kotlin { 6 | jvmToolchain(11) 7 | } 8 | -------------------------------------------------------------------------------- /examples/multiplatform-example/dokka/src/commonMain/kotlin/org/kotlintestmpp/common/Foo.kt: -------------------------------------------------------------------------------- 1 | package org.kotlintestmpp.common 2 | 3 | /** 4 | * Common Foo class 5 | */ 6 | class Foo {} 7 | 8 | -------------------------------------------------------------------------------- /examples/multiplatform-example/dokkatoo/src/commonMain/kotlin/org/kotlintestmpp/common/Foo.kt: -------------------------------------------------------------------------------- 1 | package org.kotlintestmpp.common 2 | 3 | /** 4 | * Common Foo class 5 | */ 6 | class Foo {} 7 | 8 | -------------------------------------------------------------------------------- /modules/docs/site/src/data/showcase/Kotlin-JS-Resources-Plugin-dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamko-dev/dokkatoo/HEAD/modules/docs/site/src/data/showcase/Kotlin-JS-Resources-Plugin-dark.png -------------------------------------------------------------------------------- /modules/docs/site/src/data/showcase/Kotlin-JS-Resources-Plugin-light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamko-dev/dokkatoo/HEAD/modules/docs/site/src/data/showcase/Kotlin-JS-Resources-Plugin-light.png -------------------------------------------------------------------------------- /examples/java-example/dokkatoo/my-java-library/Module.md: -------------------------------------------------------------------------------- 1 | # Module My Java Library 2 | 3 | This is the API reference for My Java Library. 4 | 5 | # Package demo 6 | 7 | This package contains library classes. 8 | -------------------------------------------------------------------------------- /examples/multimodule-example/dokka/parentProject/childProjectA/ModuleA.md: -------------------------------------------------------------------------------- 1 | # Module childProjectA 2 | This is the child module A 3 | 4 | # Package demo 5 | This package contains a few examples of Dokka usage. 6 | -------------------------------------------------------------------------------- /examples/multimodule-example/dokka/parentProject/childProjectB/ModuleB.md: -------------------------------------------------------------------------------- 1 | # Module childProjectB 2 | This is the child module B 3 | 4 | # Package demo 5 | This package contains a few examples of Dokka usage. 6 | -------------------------------------------------------------------------------- /examples/versioning-multimodule-example/dokka/previousDocVersions/0.9/package-list: -------------------------------------------------------------------------------- 1 | $dokka.format:html-v1 2 | $dokka.linkExtension:html 3 | 4 | module:childProjectA 5 | demo 6 | module:childProjectB 7 | demo 8 | -------------------------------------------------------------------------------- /examples/multimodule-example/dokkatoo/parentProject/childProjectA/ModuleA.md: -------------------------------------------------------------------------------- 1 | # Module childProjectA 2 | This is the child module A 3 | 4 | # Package demo 5 | This package contains a few examples of Dokka usage. 6 | -------------------------------------------------------------------------------- /examples/multimodule-example/dokkatoo/parentProject/childProjectB/ModuleB.md: -------------------------------------------------------------------------------- 1 | # Module childProjectB 2 | This is the child module B 3 | 4 | # Package demo 5 | This package contains a few examples of Dokka usage. 6 | -------------------------------------------------------------------------------- /examples/versioning-multimodule-example/dokkatoo/previousDocVersions/0.9/package-list: -------------------------------------------------------------------------------- 1 | $dokka.format:html-v1 2 | $dokka.linkExtension:html 3 | 4 | module:childProjectA 5 | demo 6 | module:childProjectB 7 | demo 8 | -------------------------------------------------------------------------------- /modules/dokkatoo-plugin-integration-tests/projects/it-multiplatform-0/dokka/src/commonMain/kotlin/it/mpp0/ExpectedClass.kt: -------------------------------------------------------------------------------- 1 | package it.mpp0 2 | 3 | expect class ExpectedClass { 4 | val platform: String 5 | } 6 | -------------------------------------------------------------------------------- /examples/gradle-example/dokka/settings.gradle.kts: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2014-2023 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license. 3 | */ 4 | 5 | rootProject.name = "dokka-gradle-example" 6 | -------------------------------------------------------------------------------- /examples/versioning-multimodule-example/dokkatoo/previousDocVersions/0.9/older/0.9/package-list: -------------------------------------------------------------------------------- 1 | $dokka.format:html-v1 2 | $dokka.linkExtension:html 3 | 4 | module:childProjectA 5 | demo 6 | module:childProjectB 7 | demo 8 | -------------------------------------------------------------------------------- /modules/dokkatoo-plugin-integration-tests/projects/it-multiplatform-0/dokka/src/jsMain/kotlin/it/mpp0/ExpectedClass.kt: -------------------------------------------------------------------------------- 1 | package it.mpp0 2 | 3 | actual class ExpectedClass { 4 | actual val platform: String = "js" 5 | } 6 | -------------------------------------------------------------------------------- /examples/java-example/dokkatoo/my-java-application/Module.md: -------------------------------------------------------------------------------- 1 | # Module My Java Application 2 | 3 | This is the documentation for My Java Application. 4 | 5 | # Package demo 6 | 7 | This package contains application classes. 8 | -------------------------------------------------------------------------------- /modules/dokkatoo-plugin-integration-tests/projects/it-multiplatform-0/dokka/src/desktopMain/kotlin/it/mpp0/ExpectedClass.kt: -------------------------------------------------------------------------------- 1 | package it.mpp0 2 | 3 | actual class ExpectedClass { 4 | actual val platform: String = "linux" 5 | } 6 | -------------------------------------------------------------------------------- /modules/dokkatoo-plugin-integration-tests/projects/it-multiplatform-0/dokka/src/linuxMain/kotlin/it/mpp0/ExpectedClass.kt: -------------------------------------------------------------------------------- 1 | package it.mpp0 2 | 3 | actual class ExpectedClass { 4 | actual val platform: String = "linux" 5 | } 6 | -------------------------------------------------------------------------------- /modules/dokkatoo-plugin-integration-tests/projects/it-multiplatform-0/dokka/src/macosMain/kotlin/it/mpp0/ExpectedClass.kt: -------------------------------------------------------------------------------- 1 | package it.mpp0 2 | 3 | actual class ExpectedClass { 4 | actual val platform: String = "macos" 5 | } 6 | -------------------------------------------------------------------------------- /examples/custom-format-example/dokka/settings.gradle.kts: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2014-2023 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license. 3 | */ 4 | 5 | rootProject.name = "dokka-customFormat-example" 6 | -------------------------------------------------------------------------------- /examples/java-example/dokkatoo/buildSrc/src/main/kotlin/java-base-convention.gradle.kts: -------------------------------------------------------------------------------- 1 | plugins { 2 | `java-base` 3 | } 4 | 5 | java { 6 | toolchain { 7 | languageVersion = JavaLanguageVersion.of(17) 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /examples/kotlin-as-java-example/dokka/settings.gradle.kts: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2014-2023 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license. 3 | */ 4 | 5 | rootProject.name = "dokka-kotlinAsJava-example" 6 | -------------------------------------------------------------------------------- /modules/dokkatoo-plugin-integration-tests/projects/it-multimodule-1/dokka/first/src/main/kotlin/foo/Main.kt: -------------------------------------------------------------------------------- 1 | package foo 2 | 3 | /** 4 | * Main function 5 | */ 6 | fun main(args : Array) { 7 | println("Hello, world!") 8 | } -------------------------------------------------------------------------------- /examples/gradle-example/dokka/Module.md: -------------------------------------------------------------------------------- 1 | # Module Dokka Gradle Example 2 | 3 | This is an example of how you can write module documentation with Dokka. 4 | 5 | # Package demo 6 | 7 | This package contains a few examples of Dokka usage. 8 | -------------------------------------------------------------------------------- /examples/multiplatform-example/dokka/settings.gradle.kts: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2014-2023 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license. 3 | */ 4 | 5 | rootProject.name = "dokka-multiplatform-example" 6 | 7 | -------------------------------------------------------------------------------- /examples/versioning-multimodule-example/dokka/previousDocVersions/0.9/scripts/sourceset_dependencies.js: -------------------------------------------------------------------------------- 1 | sourceset_dependencies = '{":parentProject:childProjectA:dokkaHtmlPartial/main":[],":parentProject:childProjectB:dokkaHtmlPartial/main":[]}' -------------------------------------------------------------------------------- /modules/dokkatoo-plugin-integration-tests/projects/it-basic/dokka/gradle.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright 2014-2023 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license. 3 | # 4 | 5 | dokka_it_kotlin_version=1.9.22 6 | -------------------------------------------------------------------------------- /examples/gradle-example/dokkatoo/Module.md: -------------------------------------------------------------------------------- 1 | # Module Dokka Gradle Example 2 | 3 | This is an example of how you can write module documentation with Dokka. 4 | 5 | # Package demo 6 | 7 | This package contains a few examples of Dokka usage. 8 | -------------------------------------------------------------------------------- /examples/library-publishing-example/dokka/settings.gradle.kts: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2014-2023 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license. 3 | */ 4 | 5 | rootProject.name = "dokka-library-publishing-example" 6 | -------------------------------------------------------------------------------- /examples/multimodule-example/dokka/parentProject/childProjectA/src/main/kotlin/demo/ChildProjectAClass.kt: -------------------------------------------------------------------------------- 1 | @file:Suppress("unused") 2 | 3 | package demo 4 | 5 | /** 6 | * Class defined in child project a 7 | */ 8 | class ChildProjectAClass 9 | -------------------------------------------------------------------------------- /examples/multimodule-example/dokka/parentProject/childProjectB/src/main/kotlin/demo/ChildProjectBClass.kt: -------------------------------------------------------------------------------- 1 | @file:Suppress("unused") 2 | 3 | package demo 4 | 5 | /** 6 | * Class defined in child module b 7 | */ 8 | class ChildProjectBClass 9 | -------------------------------------------------------------------------------- /examples/multimodule-example/dokkatoo/parentProject/childProjectB/src/main/kotlin/demo/ChildProjectBClass.kt: -------------------------------------------------------------------------------- 1 | @file:Suppress("unused") 2 | 3 | package demo 4 | 5 | /** 6 | * Class defined in child module b 7 | */ 8 | class ChildProjectBClass 9 | -------------------------------------------------------------------------------- /examples/versioning-multimodule-example/dokka/parentProject/childProjectB/src/main/kotlin/demo/Functions.kt: -------------------------------------------------------------------------------- 1 | package demo 2 | 3 | /** 4 | * New super function that does everything 5 | * 6 | * @since 1.0 7 | */ 8 | fun superFunction42() {} 9 | -------------------------------------------------------------------------------- /examples/versioning-multimodule-example/dokkatoo/previousDocVersions/0.9/scripts/sourceset_dependencies.js: -------------------------------------------------------------------------------- 1 | sourceset_dependencies = '{":parentProject:childProjectA:dokkaHtmlPartial/main":[],":parentProject:childProjectB:dokkaHtmlPartial/main":[]}' -------------------------------------------------------------------------------- /modules/dokkatoo-plugin-integration-tests/projects/it-basic-groovy/dokka/gradle.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright 2014-2023 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license. 3 | # 4 | 5 | dokka_it_kotlin_version=1.9.22 6 | -------------------------------------------------------------------------------- /modules/dokkatoo-plugin-integration-tests/projects/it-collector-0/dokka/gradle.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright 2014-2023 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license. 3 | # 4 | 5 | dokka_it_kotlin_version=1.9.22 6 | -------------------------------------------------------------------------------- /examples/multimodule-example/dokkatoo/parentProject/childProjectA/src/main/kotlin/demo/ChildProjectAClass.kt: -------------------------------------------------------------------------------- 1 | @file:Suppress("unused") 2 | 3 | package demo 4 | 5 | /** 6 | * Class defined in child project a 7 | */ 8 | class ChildProjectAClass 9 | -------------------------------------------------------------------------------- /examples/versioning-multimodule-example/dokkatoo/parentProject/childProjectB/src/main/kotlin/demo/Functions.kt: -------------------------------------------------------------------------------- 1 | package demo 2 | 3 | /** 4 | * New super function that does everything 5 | * 6 | * @since 1.0 7 | */ 8 | fun superFunction42() {} 9 | -------------------------------------------------------------------------------- /modules/dokkatoo-plugin-integration-tests/projects/it-multimodule-0/dokka/gradle.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright 2014-2023 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license. 3 | # 4 | 5 | dokka_it_kotlin_version=1.9.22 6 | -------------------------------------------------------------------------------- /modules/dokkatoo-plugin-integration-tests/projects/it-multimodule-1/dokka/gradle.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright 2014-2023 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license. 3 | # 4 | 5 | dokka_it_kotlin_version=1.9.22 6 | -------------------------------------------------------------------------------- /modules/dokkatoo-plugin-integration-tests/projects/it-multiplatform-0/dokka/gradle.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright 2014-2023 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license. 3 | # 4 | 5 | dokka_it_kotlin_version=1.9.22 6 | -------------------------------------------------------------------------------- /examples/versioning-multimodule-example/dokkatoo/previousDocVersions/0.9/older/0.9/scripts/sourceset_dependencies.js: -------------------------------------------------------------------------------- 1 | sourceset_dependencies = '{":parentProject:childProjectA:dokkaHtmlPartial/main":[],":parentProject:childProjectB:dokkaHtmlPartial/main":[]}' -------------------------------------------------------------------------------- /modules/dokkatoo-plugin-integration-tests/projects/it-basic/dokka/src/main/kotlin/it/suppressedByPath/SuppressedByPath.kt: -------------------------------------------------------------------------------- 1 | package it.suppressedByPath 2 | 3 | /** 4 | * §SUPPRESSED§ 5 | * This should not be rendered. 6 | */ 7 | class SuppressedByPath 8 | -------------------------------------------------------------------------------- /examples/java-example/dokkatoo/my-java-library/build.gradle.kts: -------------------------------------------------------------------------------- 1 | plugins { 2 | `java-library-convention` 3 | `dokka-convention` 4 | } 5 | 6 | dokkatoo { 7 | dokkatooSourceSets.configureEach { 8 | includes.from("Module.md") 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /examples/versioning-multimodule-example/dokka/parentProject/childProjectA/src/main/kotlin/demo/FancyAPI.kt: -------------------------------------------------------------------------------- 1 | package demo 2 | 3 | /** 4 | * New shiny fancy API 5 | * 6 | * @since 1.0 7 | */ 8 | class FancyAPI { 9 | fun doSomething() {} 10 | } 11 | -------------------------------------------------------------------------------- /examples/versioning-multimodule-example/dokka/previousDocVersions/0.9/images/arrow_down.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /modules/dokkatoo-plugin-integration-tests/projects/it-basic/dokka/customResources/custom-style-to-add.css: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2014-2023 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license. 3 | */ 4 | 5 | /* custom stylesheet */ 6 | -------------------------------------------------------------------------------- /modules/dokkatoo-plugin-integration-tests/projects/it-basic/dokkatoo/customResources/custom-style-to-add.css: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2014-2023 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license. 3 | */ 4 | 5 | /* custom stylesheet */ 6 | -------------------------------------------------------------------------------- /modules/dokkatoo-plugin-integration-tests/projects/it-basic/dokkatoo/src/main/kotlin/it/suppressedByPath/SuppressedByPath.kt: -------------------------------------------------------------------------------- 1 | package it.suppressedByPath 2 | 3 | /** 4 | * §SUPPRESSED§ 5 | * This should not be rendered. 6 | */ 7 | class SuppressedByPath 8 | -------------------------------------------------------------------------------- /modules/dokkatoo-plugin-integration-tests/projects/it-collector-0/dokka/build.gradle.kts: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2014-2023 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license. 3 | */ 4 | 5 | apply(from = "./template.root.gradle.kts") 6 | -------------------------------------------------------------------------------- /modules/dokkatoo-plugin-integration-tests/projects/it-js-ir-0/dokka/src/main/kotlin/it/suppressedByPath/SuppressedByPath.kt: -------------------------------------------------------------------------------- 1 | package it.suppressedByPath 2 | 3 | /** 4 | * §SUPPRESSED§ 5 | * This should not be rendered. 6 | */ 7 | class SuppressedByPath 8 | -------------------------------------------------------------------------------- /.idea/codeStyles/codeStyleConfig.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 6 | -------------------------------------------------------------------------------- /examples/multiplatform-example/dokka/src/jsMain/kotlin/org/kotlintestmpp/JsDateUtils.kt: -------------------------------------------------------------------------------- 1 | package org.kotlintestmpp.date 2 | 3 | /** 4 | * JS actual implementation for `getCurrentDate` 5 | */ 6 | actual fun getCurrentDate(): String { 7 | return "test" 8 | } 9 | -------------------------------------------------------------------------------- /examples/versioning-multimodule-example/dokkatoo/parentProject/childProjectA/src/main/kotlin/demo/FancyAPI.kt: -------------------------------------------------------------------------------- 1 | package demo 2 | 3 | /** 4 | * New shiny fancy API 5 | * 6 | * @since 1.0 7 | */ 8 | class FancyAPI { 9 | fun doSomething() {} 10 | } 11 | -------------------------------------------------------------------------------- /modules/dokkatoo-plugin-integration-tests/projects/it-js-ir-0/dokka/src/main/kotlin/it/internal/InternalClass.kt: -------------------------------------------------------------------------------- 1 | package it.internal 2 | 3 | /** 4 | * §INTERNAL§ 5 | * This class is internal and should not be rendered 6 | */ 7 | internal class InternalClass 8 | -------------------------------------------------------------------------------- /modules/dokkatoo-plugin-integration-tests/projects/it-multimodule-0/dokka/build.gradle.kts: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2014-2023 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license. 3 | */ 4 | 5 | apply(from = "./template.root.gradle.kts") 6 | -------------------------------------------------------------------------------- /modules/dokkatoo-plugin-integration-tests/projects/it-multimodule-versioning-0/dokka/gradle.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright 2014-2023 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license. 3 | # 4 | 5 | dokka_it_kotlin_version=1.9.22 6 | 7 | -------------------------------------------------------------------------------- /modules/dokkatoo-plugin-integration-tests/projects/it-multiplatform-0/dokka/src/commonMain/kotlin/it/mpp0/coroutines.kt: -------------------------------------------------------------------------------- 1 | package it.mpp0 2 | 3 | import kotlinx.coroutines.CoroutineScope 4 | 5 | expect fun CoroutineScope.runBlocking(block: suspend () -> T) : T 6 | -------------------------------------------------------------------------------- /examples/java-example/dokkatoo/buildSrc/build.gradle.kts: -------------------------------------------------------------------------------- 1 | plugins { 2 | `kotlin-dsl` 3 | } 4 | 5 | dependencies { 6 | implementation("org.jetbrains.kotlin:kotlin-gradle-plugin:1.9.23") 7 | implementation("dev.adamko.dokkatoo:dokkatoo-plugin:2.5.0-SNAPSHOT") 8 | } 9 | -------------------------------------------------------------------------------- /examples/multimodule-example/dokka/build.gradle.kts: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2014-2023 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license. 3 | */ 4 | 5 | subprojects { 6 | repositories { 7 | mavenCentral() 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /examples/multiplatform-example/dokka/src/jvmMain/kotlin/org/kotlintestmpp/JvmDateUtils.kt: -------------------------------------------------------------------------------- 1 | package org.kotlintestmpp.date 2 | 3 | /** 4 | * JVM actual implementation for `getCurrentDate` 5 | */ 6 | actual fun getCurrentDate(): String { 7 | return "test" 8 | } 9 | -------------------------------------------------------------------------------- /examples/multiplatform-example/dokkatoo/src/jsMain/kotlin/org/kotlintestmpp/JsDateUtils.kt: -------------------------------------------------------------------------------- 1 | package org.kotlintestmpp.date 2 | 3 | /** 4 | * JS actual implementation for `getCurrentDate` 5 | */ 6 | actual fun getCurrentDate(): String { 7 | return "test" 8 | } 9 | -------------------------------------------------------------------------------- /examples/multiplatform-example/dokkatoo/src/jvmMain/kotlin/org/kotlintestmpp/JvmDateUtils.kt: -------------------------------------------------------------------------------- 1 | package org.kotlintestmpp.date 2 | 3 | /** 4 | * JVM actual implementation for `getCurrentDate` 5 | */ 6 | actual fun getCurrentDate(): String { 7 | return "test" 8 | } 9 | -------------------------------------------------------------------------------- /examples/versioning-multimodule-example/dokkatoo/previousDocVersions/0.9/images/homepage.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /examples/versioning-multimodule-example/dokkatoo/previousDocVersions/0.9/older/0.9/images/arrow_down.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /modules/dokkatoo-plugin-integration-tests/projects/it-basic/dokka/src/main/kotlin/it/suppressedByPackage/SuppressedByPackage.kt: -------------------------------------------------------------------------------- 1 | package it.suppressedByPackage 2 | 3 | /** 4 | * §SUPPRESSED§ 5 | * This should not be rendered. 6 | */ 7 | class SuppressedByPackage 8 | -------------------------------------------------------------------------------- /modules/dokkatoo-plugin-integration-tests/projects/it-basic/dokkatoo/src/main/kotlin/it/suppressedByPackage/SuppressedByPackage.kt: -------------------------------------------------------------------------------- 1 | package it.suppressedByPackage 2 | 3 | /** 4 | * §SUPPRESSED§ 5 | * This should not be rendered. 6 | */ 7 | class SuppressedByPackage 8 | -------------------------------------------------------------------------------- /modules/dokkatoo-plugin-integration-tests/projects/it-js-ir-0/dokka/src/main/kotlin/it/suppressedByPackage/SuppressedByPackage.kt: -------------------------------------------------------------------------------- 1 | package it.suppressedByPackage 2 | 3 | /** 4 | * §SUPPRESSED§ 5 | * This should not be rendered. 6 | */ 7 | class SuppressedByPackage 8 | -------------------------------------------------------------------------------- /modules/dokkatoo-plugin/src/test/kotlin/dokka/parameters/builders/DokkaParametersBuilderTest.kt: -------------------------------------------------------------------------------- 1 | package dev.adamko.dokkatoo.dokka.parameters.builders 2 | 3 | import io.kotest.core.spec.style.FunSpec 4 | 5 | class DokkaParametersBuilderTest : FunSpec({ 6 | 7 | }) 8 | -------------------------------------------------------------------------------- /.idea/fileColors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /examples/java-example/dokkatoo/my-java-library/src/main/java/demo/MyJavaLibraryClass.java: -------------------------------------------------------------------------------- 1 | package demo; 2 | 3 | /** 4 | * Java Class defined in child project a. 5 | */ 6 | public class MyJavaLibraryClass { 7 | public static final String WELCOME = "Hello, world!"; 8 | } 9 | -------------------------------------------------------------------------------- /modules/dokkatoo-plugin-integration-tests/example-project-data/composite-build-example/dokkatoo/html/package-list: -------------------------------------------------------------------------------- 1 | $dokka.format:html-v1 2 | $dokka.linkExtension:html 3 | 4 | module:Kakapo Module 5 | foo.example.module.kakapo 6 | module:Kea Module 7 | foo.example.module.kea 8 | -------------------------------------------------------------------------------- /modules/dokkatoo-plugin-integration-tests/projects/it-js-ir-0/dokka/gradle.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright 2014-2023 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license. 3 | # 4 | 5 | dokka_it_kotlin_version=1.9.22 6 | react_version=18.2.0-pre.467 7 | -------------------------------------------------------------------------------- /examples/multimodule-example/dokkatoo/buildSrc/build.gradle.kts: -------------------------------------------------------------------------------- 1 | plugins { 2 | `kotlin-dsl` 3 | } 4 | 5 | dependencies { 6 | implementation("org.jetbrains.kotlin:kotlin-gradle-plugin:1.9.23") 7 | implementation("dev.adamko.dokkatoo:dokkatoo-plugin:2.5.0-SNAPSHOT") 8 | } 9 | -------------------------------------------------------------------------------- /modules/dokkatoo-plugin/src/test/kotlin/dokka/parameters/builders/DokkaModuleDescriptionBuilderTest.kt: -------------------------------------------------------------------------------- 1 | package dev.adamko.dokkatoo.dokka.parameters.builders 2 | 3 | import io.kotest.core.spec.style.FunSpec 4 | 5 | class DokkaModuleDescriptionBuilderTest : FunSpec({ 6 | 7 | }) 8 | -------------------------------------------------------------------------------- /modules/dokkatoo-plugin-integration-tests/example-project-data/java-example/dokkatoo/html/images/homepage.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /modules/dokkatoo-plugin-integration-tests/projects/it-android-0/dokka/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /modules/dokkatoo-plugin-integration-tests/projects/it-basic/dokka/src/main/kotlin/it/internal/InternalClass.kt: -------------------------------------------------------------------------------- 1 | package it.internal 2 | 3 | /** 4 | * §INTERNAL§ (marker for asserts) 5 | * This class is internal and should not be rendered 6 | */ 7 | internal class InternalClass 8 | -------------------------------------------------------------------------------- /modules/dokkatoo-plugin-integration-tests/projects/it-basic/dokkatoo/src/main/kotlin/it/internal/InternalClass.kt: -------------------------------------------------------------------------------- 1 | package it.internal 2 | 3 | /** 4 | * §INTERNAL§ (marker for asserts) 5 | * This class is internal and should not be rendered 6 | */ 7 | internal class InternalClass 8 | -------------------------------------------------------------------------------- /modules/dokkatoo-plugin-integration-tests/projects/it-collector-0/dokka/moduleA/moduleB/src/main/kotlin/org/jetbrains/dokka/it/moduleB/ModuleB.kt: -------------------------------------------------------------------------------- 1 | package org.jetbrains.dokka.it.moduleB 2 | 3 | @Suppress("unused") 4 | class ModuleB { 5 | fun undocumentedPublicFunction() {} 6 | } 7 | -------------------------------------------------------------------------------- /modules/dokkatoo-plugin-integration-tests/projects/it-collector-0/dokka/moduleA/moduleC/src/main/kotlin/org/jetbrains/dokka/it/moduleC/ModuleC.kt: -------------------------------------------------------------------------------- 1 | package org.jetbrains.dokka.it.moduleC 2 | 3 | @Suppress("unused") 4 | class ModuleC { 5 | fun undocumentedPublicFunction() {} 6 | } 7 | -------------------------------------------------------------------------------- /examples/multiplatform-example/dokka/src/linuxMain/kotlin/org/kotlintestmpp/LinuxDateUtils.kt: -------------------------------------------------------------------------------- 1 | package org.kotlintestmpp.date 2 | 3 | /** 4 | * Linux actual implementation for `getCurrentDate` 5 | */ 6 | actual fun getCurrentDate(): String { 7 | TODO("Not yet implemented") 8 | } 9 | -------------------------------------------------------------------------------- /examples/multiplatform-example/dokka/src/macosMain/kotlin/org/kotlintestmpp/MacOsDateUtils.kt: -------------------------------------------------------------------------------- 1 | package org.kotlintestmpp.date 2 | 3 | /** 4 | * MacOS actual implementation for `getCurrentDate` 5 | */ 6 | actual fun getCurrentDate(): String { 7 | TODO("Not yet implemented") 8 | } 9 | -------------------------------------------------------------------------------- /examples/multiplatform-example/dokkatoo/src/linuxMain/kotlin/org/kotlintestmpp/LinuxDateUtils.kt: -------------------------------------------------------------------------------- 1 | package org.kotlintestmpp.date 2 | 3 | /** 4 | * Linux actual implementation for `getCurrentDate` 5 | */ 6 | actual fun getCurrentDate(): String { 7 | TODO("Not yet implemented") 8 | } 9 | -------------------------------------------------------------------------------- /examples/multiplatform-example/dokkatoo/src/macosMain/kotlin/org/kotlintestmpp/MacOsDateUtils.kt: -------------------------------------------------------------------------------- 1 | package org.kotlintestmpp.date 2 | 3 | /** 4 | * MacOS actual implementation for `getCurrentDate` 5 | */ 6 | actual fun getCurrentDate(): String { 7 | TODO("Not yet implemented") 8 | } 9 | -------------------------------------------------------------------------------- /examples/versioning-multimodule-example/dokka/parentProject/childProjectB/src/main/kotlin/demo/ChildProjectBClass.kt: -------------------------------------------------------------------------------- 1 | @file:Suppress("unused") 2 | 3 | package demo 4 | 5 | /** 6 | * Class defined in child module B 7 | * 8 | * @since 0.9 9 | */ 10 | class ChildProjectBClass 11 | -------------------------------------------------------------------------------- /examples/versioning-multimodule-example/dokkatoo/buildSrc/build.gradle.kts: -------------------------------------------------------------------------------- 1 | plugins { 2 | `kotlin-dsl` 3 | } 4 | 5 | dependencies { 6 | implementation("org.jetbrains.kotlin:kotlin-gradle-plugin:1.9.23") 7 | implementation("dev.adamko.dokkatoo:dokkatoo-plugin:2.5.0-SNAPSHOT") 8 | } 9 | -------------------------------------------------------------------------------- /modules/dokkatoo-plugin-integration-tests/example-project-data/java-example/dokkatoo/html/scripts/sourceset_dependencies.js: -------------------------------------------------------------------------------- 1 | sourceset_dependencies = '{":my-java-application/javaMain":[],":my-java-library/javaMain":[],":my-java-features/javaMain":[],":my-java-features/javaMongodbSupport":[]}' -------------------------------------------------------------------------------- /modules/dokkatoo-plugin-integration-tests/projects/it-multimodule-0/dokka/moduleA/moduleB/src/main/kotlin/org/jetbrains/dokka/it/moduleB/ModuleB.kt: -------------------------------------------------------------------------------- 1 | package org.jetbrains.dokka.it.moduleB 2 | 3 | @Suppress("unused") 4 | class ModuleB { 5 | fun undocumentedPublicFunction() {} 6 | } 7 | -------------------------------------------------------------------------------- /modules/dokkatoo-plugin-integration-tests/projects/it-multimodule-0/dokka/moduleA/moduleC/src/main/kotlin/org/jetbrains/dokka/it/moduleC/ModuleC.kt: -------------------------------------------------------------------------------- 1 | package org.jetbrains.dokka.it.moduleC 2 | 3 | @Suppress("unused") 4 | class ModuleC { 5 | fun undocumentedPublicFunction() {} 6 | } 7 | -------------------------------------------------------------------------------- /modules/dokkatoo-plugin-integration-tests/projects/it-multimodule-0/dokka/moduleA/moduleD/src/main/kotlin/org/jetbrains/dokka/it/moduleD/ModuleC.kt: -------------------------------------------------------------------------------- 1 | package org.jetbrains.dokka.it.moduleD 2 | 3 | @Suppress("unused") 4 | class ModuleD { 5 | fun undocumentedPublicFunction() {} 6 | } 7 | -------------------------------------------------------------------------------- /modules/dokkatoo-plugin-integration-tests/projects/it-multiplatform-0/dokka/src/commonMain/kotlin/it/mpp0/CommonMainClass.kt: -------------------------------------------------------------------------------- 1 | package it.mpp0 2 | 3 | /** 4 | * This class is defined in commonMain 5 | */ 6 | class CommonMainClass { 7 | fun publicFunction(): String = "public" 8 | } 9 | -------------------------------------------------------------------------------- /examples/versioning-multimodule-example/dokka/parentProject/childProjectA/build.gradle.kts: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2014-2023 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license. 3 | */ 4 | 5 | // intentionally empty - build config is set in the root build.gradle.kts 6 | -------------------------------------------------------------------------------- /examples/versioning-multimodule-example/dokka/parentProject/childProjectB/build.gradle.kts: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2014-2023 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license. 3 | */ 4 | 5 | // intentionally empty - build config is set in the root build.gradle.kts 6 | -------------------------------------------------------------------------------- /examples/versioning-multimodule-example/dokkatoo/parentProject/childProjectB/src/main/kotlin/demo/ChildProjectBClass.kt: -------------------------------------------------------------------------------- 1 | @file:Suppress("unused") 2 | 3 | package demo 4 | 5 | /** 6 | * Class defined in child module B 7 | * 8 | * @since 0.9 9 | */ 10 | class ChildProjectBClass 11 | -------------------------------------------------------------------------------- /modules/dokkatoo-plugin-integration-tests/example-project-data/composite-build-example/dokkatoo/html/images/homepage.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /examples/composite-build-example/dokkatoo/build-logic/build.gradle.kts: -------------------------------------------------------------------------------- 1 | plugins { 2 | `kotlin-dsl` 3 | } 4 | 5 | dependencies { 6 | implementation("org.jetbrains.kotlin:kotlin-gradle-plugin:$embeddedKotlinVersion") 7 | implementation("dev.adamko.dokkatoo:dokkatoo-plugin:2.5.0-SNAPSHOT") 8 | } 9 | -------------------------------------------------------------------------------- /examples/composite-build-example/dokkatoo/module-kea/build.gradle.kts: -------------------------------------------------------------------------------- 1 | plugins { 2 | id("kotlin-jvm-convention") 3 | id("dokka-convention") 4 | } 5 | 6 | group = "foo.example" 7 | version = "4.5.6" 8 | 9 | dokkatoo { 10 | moduleName = "Kea Module" 11 | modulePath = "kea" 12 | } 13 | -------------------------------------------------------------------------------- /modules/dokkatoo-plugin-integration-tests/projects/it-collector-0/dokka/moduleA/moduleB/build.gradle.kts: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2014-2023 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license. 3 | */ 4 | 5 | plugins { 6 | kotlin("jvm") 7 | id("org.jetbrains.dokka") 8 | } 9 | -------------------------------------------------------------------------------- /modules/dokkatoo-plugin-integration-tests/projects/it-collector-0/dokka/moduleA/moduleC/build.gradle.kts: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2014-2023 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license. 3 | */ 4 | 5 | plugins { 6 | kotlin("jvm") 7 | id("org.jetbrains.dokka") 8 | } 9 | -------------------------------------------------------------------------------- /modules/dokkatoo-plugin-integration-tests/projects/it-multimodule-0/dokka/moduleA/moduleB/Module.md: -------------------------------------------------------------------------------- 1 | # Module !Module B! 2 | Here is some description for Module B 3 | 4 | Module B: Second paragraph 5 | # Module moduleB 6 | §IGNORED$This documentation shall be ignored, because wrong module name§IGNORED$ 7 | -------------------------------------------------------------------------------- /modules/dokkatoo-plugin-integration-tests/projects/it-multiplatform-0/dokka/src/jsMain/kotlin/it/mpp0/runBlocking.kt: -------------------------------------------------------------------------------- 1 | package it.mpp0 2 | 3 | import kotlinx.coroutines.CoroutineScope 4 | 5 | actual fun CoroutineScope.runBlocking(block: suspend () -> T): T { 6 | TODO("Not yet implemented") 7 | } 8 | -------------------------------------------------------------------------------- /examples/composite-build-example/dokkatoo/module-kakapo/build.gradle.kts: -------------------------------------------------------------------------------- 1 | plugins { 2 | id("kotlin-jvm-convention") 3 | id("dokka-convention") 4 | } 5 | 6 | group = "foo.example" 7 | version = "1.2.3" 8 | 9 | dokkatoo { 10 | moduleName = "Kakapo Module" 11 | modulePath = "kakakpo" 12 | } 13 | -------------------------------------------------------------------------------- /examples/versioning-multimodule-example/dokka/previousDocVersions/0.9/images/copy-icon.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /examples/versioning-multimodule-example/dokka/previousDocVersions/0.9/images/footer-go-to-link.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /modules/dokkatoo-plugin-integration-tests/example-project-data/java-example/dokkatoo/html/package-list: -------------------------------------------------------------------------------- 1 | $dokka.format:html-v1 2 | $dokka.linkExtension:html 3 | 4 | module:my-java-application 5 | demo 6 | module:my-java-features 7 | demo.feature 8 | demo.mongodb 9 | module:my-java-library 10 | demo 11 | -------------------------------------------------------------------------------- /modules/dokkatoo-plugin-integration-tests/projects/it-multimodule-1/dokka/first/src/main/kotlin/foo/FirstClass.kt: -------------------------------------------------------------------------------- 1 | package foo 2 | 3 | /** 4 | * First class description 5 | */ 6 | open class FirstClass{ 7 | /** 8 | * PropertyOne description 9 | */ 10 | val propertyOne: Int = 5 11 | } -------------------------------------------------------------------------------- /modules/dokkatoo-plugin-integration-tests/projects/it-multimodule-1/dokka/second/src/main/kotlin/foo/ThirdClass.kt: -------------------------------------------------------------------------------- 1 | package foo 2 | 3 | /** 4 | * Third class description 5 | */ 6 | open class ThirdClass{ 7 | /** 8 | * PropertyOne description 9 | */ 10 | val propertyOne: Int = 5 11 | } -------------------------------------------------------------------------------- /modules/dokkatoo-plugin-integration-tests/projects/it-multiplatform-0/dokka/src/jvmMain/kotlin/it/mpp0/runBlocking.kt: -------------------------------------------------------------------------------- 1 | package it.mpp0 2 | 3 | import kotlinx.coroutines.CoroutineScope 4 | 5 | actual fun CoroutineScope.runBlocking(block: suspend () -> T): T { 6 | TODO("Not yet implemented") 7 | } 8 | -------------------------------------------------------------------------------- /modules/dokkatoo-plugin-integration-tests/projects/it-multiplatform-0/dokka/src/macosMain/kotlin/it/mpp0/runBlocking.kt: -------------------------------------------------------------------------------- 1 | package it.mpp0 2 | 3 | import kotlinx.coroutines.CoroutineScope 4 | 5 | actual fun CoroutineScope.runBlocking(block: suspend () -> T): T { 6 | TODO("Not yet implemented") 7 | } 8 | -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.6-bin.zip 4 | networkTimeout=10000 5 | validateDistributionUrl=true 6 | zipStoreBase=GRADLE_USER_HOME 7 | zipStorePath=wrapper/dists 8 | -------------------------------------------------------------------------------- /modules/docs/site/docs/guides/index.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | id: guides 3 | title: Guides 4 | description: Guides and tutorials that go into details and specifics about how to use Dokkatoo 5 | sidebar_position: 4 6 | slug: /guides/ 7 | --- 8 | import DocCardList from '@theme/DocCardList'; 9 | 10 | 11 | -------------------------------------------------------------------------------- /modules/dokkatoo-plugin-integration-tests/projects/it-multiplatform-0/dokka/settings.gradle.kts: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2014-2023 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license. 3 | */ 4 | 5 | apply(from = "./template.settings.gradle.kts") 6 | rootProject.name = "it-multiplatform-0" 7 | -------------------------------------------------------------------------------- /examples/composite-build-example/dokkatoo/docs/build.gradle.kts: -------------------------------------------------------------------------------- 1 | plugins { 2 | id("dokka-convention") 3 | } 4 | 5 | dependencies { 6 | dokkatoo("foo.example:module-kakapo") 7 | dokkatoo("foo.example:module-kea") 8 | } 9 | 10 | dokkatoo { 11 | moduleName = "Dokkatoo Composite Builds Example" 12 | } 13 | -------------------------------------------------------------------------------- /modules/dokkatoo-plugin-integration-tests/projects/it-multimodule-versioning-0/dokka/first/src/main/kotlin/foo/FirstClass.kt: -------------------------------------------------------------------------------- 1 | package foo 2 | 3 | /** 4 | * First class description 5 | */ 6 | open class FirstClass{ 7 | /** 8 | * PropertyOne description 9 | */ 10 | val propertyOne: Int = 5 11 | } -------------------------------------------------------------------------------- /modules/dokkatoo-plugin/src/main/kotlin/internal/logUtils.kt: -------------------------------------------------------------------------------- 1 | package dev.adamko.dokkatoo.internal 2 | 3 | import org.gradle.api.logging.Logger 4 | 5 | /** Only evaluate and log [msg] when [Logger.isWarnEnabled] is `true`. */ 6 | internal fun Logger.warn(msg: () -> String) { 7 | if (isWarnEnabled) warn(msg()) 8 | } 9 | -------------------------------------------------------------------------------- /examples/versioning-multimodule-example/dokkatoo/previousDocVersions/0.9/older/0.9/images/copy-icon.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /examples/versioning-multimodule-example/dokkatoo/previousDocVersions/0.9/older/0.9/images/footer-go-to-link.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /examples/java-example/dokkatoo/my-java-features/Module.md: -------------------------------------------------------------------------------- 1 | # Module My Java Features 2 | 3 | This is the API reference for My Java Features. 4 | 5 | # Package demo.feature 6 | 7 | This package contains common feature classes. 8 | 9 | # Package demo.mongodb 10 | 11 | This package contains MongoDB feature classes. 12 | -------------------------------------------------------------------------------- /modules/docs/site/static/img/icons/three-dots.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /modules/dokkatoo-plugin-integration-tests/projects/it-basic/dokka/src/main/kotlin/RootPackageClass.kt: -------------------------------------------------------------------------------- 1 | @file:Suppress("unused") 2 | 3 | /** 4 | * A class that lives inside the root package 5 | * 6 | * 7 | */ 8 | class RootPackageClass { 9 | val description = "I do live in the root package!" 10 | } 11 | -------------------------------------------------------------------------------- /modules/dokkatoo-plugin-integration-tests/projects/it-basic/dokkatoo/src/main/kotlin/RootPackageClass.kt: -------------------------------------------------------------------------------- 1 | @file:Suppress("unused") 2 | 3 | /** 4 | * A class that lives inside the root package 5 | * 6 | * 7 | */ 8 | class RootPackageClass { 9 | val description = "I do live in the root package!" 10 | } 11 | -------------------------------------------------------------------------------- /modules/dokkatoo-plugin/src/main/kotlin/internal/uriUtils.kt: -------------------------------------------------------------------------------- 1 | package dev.adamko.dokkatoo.internal 2 | 3 | import java.net.URI 4 | 5 | internal fun URI.appendPath(addition: String): URI { 6 | val currentPath = path.removeSuffix("/") 7 | val newPath = "$currentPath/$addition" 8 | return resolve(newPath).normalize() 9 | } 10 | -------------------------------------------------------------------------------- /modules/docs/site/static/img/icons/arrow-up-right.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /examples/versioning-multimodule-example/dokka/previousDocVersions/0.9/images/theme-toggle.svg: -------------------------------------------------------------------------------- 1 | 2 | 4 | -------------------------------------------------------------------------------- /modules/dokkatoo-plugin-integration-tests/projects/it-basic/dokka/customResources/logo-styles.css: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2014-2023 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license. 3 | */ 4 | 5 | :root { 6 | --dokka-logo-image-url: url('https://upload.wikimedia.org/wikipedia/commons/9/9d/Ubuntu_logo.svg'); 7 | } 8 | -------------------------------------------------------------------------------- /modules/dokkatoo-plugin-integration-tests/projects/it-basic/dokkatoo/customResources/logo-styles.css: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2014-2023 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license. 3 | */ 4 | 5 | :root { 6 | --dokka-logo-image-url: url('https://upload.wikimedia.org/wikipedia/commons/9/9d/Ubuntu_logo.svg'); 7 | } 8 | -------------------------------------------------------------------------------- /modules/dokkatoo-plugin-integration-tests/projects/it-multimodule-1/dokka/settings.gradle.kts: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2014-2023 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license. 3 | */ 4 | 5 | apply(from = "./template.settings.gradle.kts") 6 | rootProject.name = "it-multimodule-1" 7 | include(":first") 8 | include(":second") 9 | -------------------------------------------------------------------------------- /examples/multiplatform-example/dokka/src/customJdk9/kotlin/org/kotlintest/jdk9/CustomSourceSetFile.kt: -------------------------------------------------------------------------------- 1 | package org.kotlintest.jdk9 2 | 3 | /** 4 | * This class demonstrates custom dokka source sets 5 | */ 6 | class CustomSourceSetFile { 7 | /** 8 | * This function will not do anything 9 | */ 10 | fun thisIsAFunction() {} 11 | } 12 | -------------------------------------------------------------------------------- /examples/multiplatform-example/dokkatoo/src/customJdk9/kotlin/org/kotlintest/jdk9/CustomSourceSetFile.kt: -------------------------------------------------------------------------------- 1 | package org.kotlintest.jdk9 2 | 3 | /** 4 | * This class demonstrates custom dokka source sets 5 | */ 6 | class CustomSourceSetFile { 7 | /** 8 | * This function will not do anything 9 | */ 10 | fun thisIsAFunction() {} 11 | } 12 | -------------------------------------------------------------------------------- /examples/versioning-multimodule-example/dokka/previousDocVersions/0.9/images/copy-successful-icon.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /examples/versioning-multimodule-example/dokkatoo/previousDocVersions/0.9/older/0.9/images/theme-toggle.svg: -------------------------------------------------------------------------------- 1 | 2 | 4 | -------------------------------------------------------------------------------- /modules/dokkatoo-plugin-integration-tests/src/testIntegration/resources/it/example/dokka-multi-module/readme.md: -------------------------------------------------------------------------------- 1 | This directory contains example JSON that the current Dokka plugin generates 2 | for the dokka-multi-module example. 3 | 4 | It is committed here for development so that I can manually compare and contrast. 5 | In time, these files can be removed. 6 | -------------------------------------------------------------------------------- /modules/dokkatoo-plugin-integration-tests/projects/it-multimodule-0/dokka/moduleA/moduleD/build.gradle.kts: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2014-2023 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license. 3 | */ 4 | 5 | import org.jetbrains.dokka.gradle.DokkaTask 6 | 7 | plugins { 8 | kotlin("jvm") 9 | id("org.jetbrains.dokka") 10 | } 11 | -------------------------------------------------------------------------------- /modules/dokkatoo-plugin-integration-tests/projects/it-multiplatform-0/dokka/src/jvmMain/kotlin/it/mpp0/ExpectedClass.kt: -------------------------------------------------------------------------------- 1 | package it.mpp0 2 | 3 | actual class ExpectedClass { 4 | actual val platform: String = "jvm" 5 | 6 | /** 7 | * This function can only be used by JVM consumers 8 | */ 9 | fun jvmOnlyFunction() = Unit 10 | 11 | } 12 | -------------------------------------------------------------------------------- /modules/dokkatoo-plugin-integration-tests/projects/it-multiplatform-0/dokka/src/linuxMain/kotlin/it/mpp0/CPointerExtension.kt: -------------------------------------------------------------------------------- 1 | package it.mpp0 2 | 3 | import kotlinx.cinterop.CPointed 4 | import kotlinx.cinterop.CPointer 5 | 6 | /** 7 | * Will print the raw value 8 | */ 9 | fun CPointer.customExtension() { 10 | println(this.rawValue) 11 | } 12 | -------------------------------------------------------------------------------- /examples/multimodule-example/dokkatoo/parentProject/build.gradle.kts: -------------------------------------------------------------------------------- 1 | plugins { 2 | kotlin("jvm") apply false 3 | `dokka-convention` 4 | } 5 | 6 | dependencies { 7 | dokkatoo(project(":parentProject:childProjectA")) 8 | dokkatoo(project(":parentProject:childProjectB")) 9 | } 10 | 11 | dokkatoo { 12 | moduleName.set("Dokka MultiModule Example") 13 | } 14 | -------------------------------------------------------------------------------- /modules/dokkatoo-plugin-integration-tests/projects/it-basic/dokka/settings.gradle.kts: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2014-2023 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license. 3 | */ 4 | 5 | @file:Suppress("LocalVariableName", "UnstableApiUsage") 6 | 7 | apply(from = "./template.settings.gradle.kts") 8 | rootProject.name = "it-basic" 9 | 10 | -------------------------------------------------------------------------------- /modules/dokkatoo-plugin-integration-tests/projects/it-multiplatform-0/dokka/src/desktopMain/kotlin/it/mpp0/CPointerExtension.kt: -------------------------------------------------------------------------------- 1 | package it.mpp0 2 | 3 | import kotlinx.cinterop.CPointed 4 | import kotlinx.cinterop.CPointer 5 | 6 | /** 7 | * Will print the raw value 8 | */ 9 | fun CPointer.customExtension() { 10 | println(this.rawValue) 11 | } 12 | -------------------------------------------------------------------------------- /modules/dokkatoo-plugin/src/main/kotlin/internal/collectionsUtils.kt: -------------------------------------------------------------------------------- 1 | package dev.adamko.dokkatoo.internal 2 | 3 | internal inline fun Set.mapToSet(transform: (T) -> R): Set = 4 | mapTo(mutableSetOf(), transform) 5 | 6 | internal inline fun Set.mapNotNullToSet(transform: (T) -> R?): Set = 7 | mapNotNullTo(mutableSetOf(), transform) 8 | -------------------------------------------------------------------------------- /.idea/scopes/ExampleProjects.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /examples/versioning-multimodule-example/dokkatoo/previousDocVersions/0.9/older/0.9/images/copy-successful-icon.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /examples/versioning-multimodule-example/dokkatoo/previousDocVersions/0.9/styles/logo-styles.css: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2014-2023 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license. 3 | */ 4 | 5 | :root { 6 | --dokka-logo-image-url: url('../images/logo-icon.svg'); 7 | --dokka-logo-height: 50px; 8 | --dokka-logo-width: 50px; 9 | } 10 | -------------------------------------------------------------------------------- /modules/dokkatoo-plugin-integration-tests/projects/it-js-ir-0/dokka/settings.gradle.kts: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2014-2023 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license. 3 | */ 4 | 5 | @file:Suppress("LocalVariableName", "UnstableApiUsage") 6 | 7 | apply(from = "./template.settings.gradle.kts") 8 | rootProject.name = "it-js-ir-0" 9 | 10 | -------------------------------------------------------------------------------- /modules/dokkatoo-plugin-integration-tests/projects/it-multimodule-versioning-0/dokka/settings.gradle.kts: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2014-2023 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license. 3 | */ 4 | 5 | apply(from = "./template.settings.gradle.kts") 6 | rootProject.name = "it-multimodule-versioning-0" 7 | include(":first") 8 | include(":second") 9 | -------------------------------------------------------------------------------- /examples/multiplatform-example/dokka/src/commonMain/kotlin/org/kotlintestmpp/CommonDateUtils.kt: -------------------------------------------------------------------------------- 1 | package org.kotlintestmpp.date 2 | 3 | /** 4 | * Common `expect` declaration 5 | */ 6 | expect fun getCurrentDate(): String 7 | 8 | /** 9 | * Common date util function 10 | */ 11 | fun getDate(): String { 12 | return "Today's Date is ${getCurrentDate()}" 13 | } 14 | 15 | -------------------------------------------------------------------------------- /examples/versioning-multimodule-example/dokka/previousDocVersions/0.9/images/go-to-top-icon.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /examples/versioning-multimodule-example/dokka/settings.gradle.kts: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2014-2023 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license. 3 | */ 4 | 5 | include(":parentProject") 6 | include(":parentProject:childProjectA") 7 | include(":parentProject:childProjectB") 8 | 9 | rootProject.name = "dokka-versioning-multimodule-example" 10 | -------------------------------------------------------------------------------- /modules/dokkatoo-plugin-integration-tests/projects/it-android-0/dokka/settings.gradle.kts: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2014-2023 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license. 3 | */ 4 | 5 | @file:Suppress("LocalVariableName", "UnstableApiUsage") 6 | 7 | apply(from = "./template.settings.gradle.kts") 8 | rootProject.name = "it-android-0" 9 | 10 | -------------------------------------------------------------------------------- /examples/multiplatform-example/dokkatoo/src/commonMain/kotlin/org/kotlintestmpp/CommonDateUtils.kt: -------------------------------------------------------------------------------- 1 | package org.kotlintestmpp.date 2 | 3 | /** 4 | * Common `expect` declaration 5 | */ 6 | expect fun getCurrentDate(): String 7 | 8 | /** 9 | * Common date util function 10 | */ 11 | fun getDate(): String { 12 | return "Today's Date is ${getCurrentDate()}" 13 | } 14 | 15 | -------------------------------------------------------------------------------- /modules/dokkatoo-plugin-integration-tests/projects/it-basic-groovy/dokka/settings.gradle.kts: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2014-2023 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license. 3 | */ 4 | 5 | @file:Suppress("LocalVariableName", "UnstableApiUsage") 6 | 7 | apply(from = "./template.settings.gradle.kts") 8 | rootProject.name = "it-basic-groovy" 9 | 10 | -------------------------------------------------------------------------------- /examples/versioning-multimodule-example/dokkatoo/previousDocVersions/0.9/older/0.9/images/go-to-top-icon.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /examples/versioning-multimodule-example/dokkatoo/previousDocVersions/0.9/images/arrow_down.svg: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /modules/dokkatoo-plugin-integration-tests/example-project-data/java-example/dokkatoo/html/styles/logo-styles.css: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2014-2023 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license. 3 | */ 4 | 5 | :root { 6 | --dokka-logo-image-url: url('../images/logo-icon.svg'); 7 | --dokka-logo-height: 50px; 8 | --dokka-logo-width: 50px; 9 | } 10 | -------------------------------------------------------------------------------- /modules/dokkatoo-plugin-integration-tests/projects/it-basic/dokka/src/main/kotlin/it/protected/ProtectedClass.kt: -------------------------------------------------------------------------------- 1 | package it.protected 2 | 3 | /** 4 | * Protected class should be visible because it's included in documentedVisibilities 5 | * 6 | * §PROTECTED§ (marker for asserts) 7 | */ 8 | protected class ProtectedClass { 9 | protected fun protectedFun(): String = "protected" 10 | } 11 | -------------------------------------------------------------------------------- /modules/dokkatoo-plugin-integration-tests/projects/it-collector-0/dokka/settings.gradle.kts: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2014-2023 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license. 3 | */ 4 | 5 | apply(from = "./template.settings.gradle.kts") 6 | rootProject.name = "it-collector-0" 7 | include(":moduleA") 8 | include(":moduleA:moduleB") 9 | include(":moduleA:moduleC") 10 | -------------------------------------------------------------------------------- /modules/dokkatoo-plugin-integration-tests/projects/it-multimodule-1/dokka/first/src/main/kotlin/foo/FirstSubclass.kt: -------------------------------------------------------------------------------- 1 | package foo 2 | 3 | /** 4 | * Subclass description 5 | * @property surname Surname description 6 | */ 7 | class FirstSubclass(var surname: String) : FirstClass() { 8 | /** 9 | * printNewLine description 10 | */ 11 | fun printNewline() = print("\r\n") 12 | } -------------------------------------------------------------------------------- /modules/dokkatoo-plugin/src/testFixtures/kotlin/KotestProjectConfig.kt: -------------------------------------------------------------------------------- 1 | package dev.adamko.dokkatoo.utils 2 | 3 | import io.kotest.core.config.AbstractProjectConfig 4 | 5 | @Suppress("unused") // Kotest loads this class via system property `kotest.framework.config.fqn` 6 | object KotestProjectConfig : AbstractProjectConfig() { 7 | init { 8 | displayFullTestPath = true 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /modules/dokkatoo-plugin-integration-tests/example-project-data/composite-build-example/dokkatoo/html/styles/logo-styles.css: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2014-2023 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license. 3 | */ 4 | 5 | :root { 6 | --dokka-logo-image-url: url('../images/logo-icon.svg'); 7 | --dokka-logo-height: 50px; 8 | --dokka-logo-width: 50px; 9 | } 10 | -------------------------------------------------------------------------------- /modules/dokkatoo-plugin-integration-tests/projects/it-basic/dokkatoo/src/main/kotlin/it/protected/ProtectedClass.kt: -------------------------------------------------------------------------------- 1 | package it.protected 2 | 3 | /** 4 | * Protected class should be visible because it's included in documentedVisibilities 5 | * 6 | * §PROTECTED§ (marker for asserts) 7 | */ 8 | protected class ProtectedClass { 9 | protected fun protectedFun(): String = "protected" 10 | } 11 | -------------------------------------------------------------------------------- /modules/dokkatoo-plugin-integration-tests/projects/it-multiplatform-0/dokka/src/jvmMain/kotlin/it/mpp0/JvmOnlyClass.kt: -------------------------------------------------------------------------------- 1 | @file:Suppress("unused") 2 | 3 | package it.mpp0 4 | 5 | /** 6 | * This class can only be used by JVM consumers 7 | */ 8 | class JvmOnlyClass { 9 | /** 10 | * This function can only be used by JVM consumers 11 | */ 12 | fun myJvm() = println("HI") 13 | } 14 | -------------------------------------------------------------------------------- /examples/java-example/dokkatoo/buildSrc/src/main/kotlin/java-mongodb-library-convention.gradle.kts: -------------------------------------------------------------------------------- 1 | plugins { 2 | id("java-library-convention") 3 | } 4 | 5 | val mongodbSourceSet = sourceSets.create("mongodbSupport") { 6 | java { 7 | srcDir("src/mongodb/java") 8 | } 9 | } 10 | 11 | java { 12 | registerFeature("mongodbSupport") { 13 | usingSourceSet(mongodbSourceSet) 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /modules/dokkatoo-plugin-integration-tests/example-project-data/java-example/dokkatoo/html/images/arrow_down.svg: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /modules/dokkatoo-plugin/src/main/kotlin/internal/gradleExtensionAccessors.kt: -------------------------------------------------------------------------------- 1 | package dev.adamko.dokkatoo.internal 2 | 3 | import dev.adamko.dokkatoo.DokkatooExtension 4 | 5 | // When Dokkatoo is applied to a build script Gradle will auto-generate these accessors 6 | 7 | internal fun DokkatooExtension.versions(configure: DokkatooExtension.Versions.() -> Unit) { 8 | versions.apply(configure) 9 | } 10 | -------------------------------------------------------------------------------- /examples/java-example/dokkatoo/build.gradle.kts: -------------------------------------------------------------------------------- 1 | plugins { 2 | base 3 | `dokka-convention` 4 | } 5 | 6 | dependencies { 7 | dokkatoo(project(":my-java-application")) 8 | dokkatoo(project(":my-java-features")) 9 | dokkatoo(project(":my-java-library")) 10 | 11 | dokkatooPluginHtml("org.jetbrains.dokka:templating-plugin") 12 | } 13 | 14 | dokkatoo { 15 | moduleName.set("My Java Project") 16 | } 17 | -------------------------------------------------------------------------------- /modules/dokkatoo-plugin-integration-tests/example-project-data/composite-build-example/dokkatoo/html/images/arrow_down.svg: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /examples/java-example/dokkatoo/my-java-application/build.gradle.kts: -------------------------------------------------------------------------------- 1 | plugins { 2 | `java-application-convention` 3 | `dokka-convention` 4 | } 5 | 6 | dependencies { 7 | implementation(project(":my-java-library")) 8 | } 9 | 10 | dokkatoo { 11 | dokkatooSourceSets.configureEach { 12 | includes.from("Module.md") 13 | } 14 | } 15 | 16 | application { 17 | mainClass = "demo.MyJavaApplication" 18 | } 19 | -------------------------------------------------------------------------------- /modules/dokkatoo-plugin/src/testFixtures/kotlin/kotestConditions.kt: -------------------------------------------------------------------------------- 1 | package dev.adamko.dokkatoo.utils 2 | 3 | import io.kotest.core.annotation.EnabledCondition 4 | import io.kotest.core.spec.Spec 5 | import kotlin.reflect.KClass 6 | 7 | class NotWindowsCondition : EnabledCondition { 8 | override fun enabled(kclass: KClass): Boolean = 9 | "win" !in System.getProperty("os.name").lowercase() 10 | } 11 | -------------------------------------------------------------------------------- /modules/dokkatoo-plugin/src/main/kotlin/internal/HasFormatName.kt: -------------------------------------------------------------------------------- 1 | package dev.adamko.dokkatoo.internal 2 | 3 | @DokkatooInternalApi 4 | abstract class HasFormatName { 5 | abstract val formatName: String 6 | 7 | /** Appends [formatName] to the end of the string, camelcase style, if [formatName] is not null */ 8 | protected fun String.appendFormat(): String = 9 | this + formatName.uppercaseFirstChar() 10 | } 11 | -------------------------------------------------------------------------------- /examples/kotlin-as-java-example/dokkatoo/build.gradle.kts: -------------------------------------------------------------------------------- 1 | plugins { 2 | kotlin("jvm") version "1.9.23" 3 | id("dev.adamko.dokkatoo") version "2.5.0-SNAPSHOT" 4 | } 5 | 6 | dependencies { 7 | testImplementation(kotlin("test-junit")) 8 | 9 | // Will apply the plugin only to the `:dokkaHtml` task 10 | // (Dokkatoo will automatically add the version) 11 | dokkatooPlugin("org.jetbrains.dokka:kotlin-as-java-plugin") 12 | } 13 | -------------------------------------------------------------------------------- /modules/dokkatoo-plugin-integration-tests/projects/it-multimodule-0/dokka/settings.gradle.kts: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2014-2023 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license. 3 | */ 4 | 5 | apply(from = "./template.settings.gradle.kts") 6 | rootProject.name = "it-multimodule-0" 7 | include(":moduleA") 8 | include(":moduleA:moduleB") 9 | include(":moduleA:moduleC") 10 | include(":moduleA:moduleD") 11 | -------------------------------------------------------------------------------- /examples/versioning-multimodule-example/dokka/parentProject/childProjectA/src/main/kotlin/demo/ChildProjectAClass.kt: -------------------------------------------------------------------------------- 1 | @file:Suppress("unused") 2 | 3 | package demo 4 | 5 | /** 6 | * Class defined in child project A 7 | * 8 | * @since 0.9 9 | */ 10 | class ChildProjectAClass { 11 | 12 | /** 13 | * Function that extends [ChildProjectAClass] 14 | * 15 | * @since 1.0 16 | */ 17 | fun extend() {} 18 | } 19 | -------------------------------------------------------------------------------- /examples/versioning-multimodule-example/dokkatoo/parentProject/childProjectA/src/main/kotlin/demo/ChildProjectAClass.kt: -------------------------------------------------------------------------------- 1 | @file:Suppress("unused") 2 | 3 | package demo 4 | 5 | /** 6 | * Class defined in child project A 7 | * 8 | * @since 0.9 9 | */ 10 | class ChildProjectAClass { 11 | 12 | /** 13 | * Function that extends [ChildProjectAClass] 14 | * 15 | * @since 1.0 16 | */ 17 | fun extend() {} 18 | } 19 | -------------------------------------------------------------------------------- /examples/versioning-multimodule-example/dokkatoo/previousDocVersions/0.9/images/copy-icon.svg: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /examples/versioning-multimodule-example/dokkatoo/previousDocVersions/0.9/images/footer-go-to-link.svg: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /modules/dokkatoo-plugin-integration-tests/projects/it-basic/dokka/src/test/kotlin/it/basic/TestClass.kt: -------------------------------------------------------------------------------- 1 | package it.basic 2 | 3 | import kotlin.test.Test 4 | import kotlin.test.assertTrue 5 | 6 | annotation class OurAnnotation 7 | 8 | class TestClass { 9 | /** 10 | * Asserts something. [PublicClass] 11 | */ 12 | @Test 13 | @OurAnnotation 14 | fun test() { 15 | assertTrue(1 == 1) 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /modules/dokkatoo-plugin-integration-tests/projects/it-basic/dokkatoo/src/test/kotlin/it/basic/TestClass.kt: -------------------------------------------------------------------------------- 1 | package it.basic 2 | 3 | import kotlin.test.Test 4 | import kotlin.test.assertTrue 5 | 6 | annotation class OurAnnotation 7 | 8 | class TestClass { 9 | /** 10 | * Asserts something. [PublicClass] 11 | */ 12 | @Test 13 | @OurAnnotation 14 | fun test() { 15 | assertTrue(1 == 1) 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /examples/multiplatform-example/dokka/src/jsMain/kotlin/org/kotlintestmpp/JsCoroutineExtensions.kt: -------------------------------------------------------------------------------- 1 | package org.kotlintestmpp.coroutines 2 | 3 | import kotlinx.coroutines.CoroutineScope 4 | import kotlinx.coroutines.Deferred 5 | 6 | /** 7 | * JS actual implementation for `asyncWithDelay` 8 | */ 9 | actual fun CoroutineScope.asyncWithDealy(delay: Long, block: suspend () -> T): Deferred { 10 | TODO("Not yet implemented") 11 | } 12 | -------------------------------------------------------------------------------- /modules/dokkatoo-plugin/src/main/kotlin/internal/stringUtils.kt: -------------------------------------------------------------------------------- 1 | package dev.adamko.dokkatoo.internal 2 | 3 | 4 | /** 5 | * Title case the first char of a string. 6 | * 7 | * (Custom implementation because [uppercase] is deprecated, and Dokkatoo should try and be as 8 | * stable as possible.) 9 | */ 10 | internal fun String.uppercaseFirstChar(): String = 11 | if (isNotEmpty()) Character.toTitleCase(this[0]) + substring(1) else this 12 | -------------------------------------------------------------------------------- /examples/multiplatform-example/dokka/src/jvmMain/kotlin/org/kotlintestmpp/JvmCoroutineExtensions.kt: -------------------------------------------------------------------------------- 1 | package org.kotlintestmpp.coroutines 2 | 3 | import kotlinx.coroutines.CoroutineScope 4 | import kotlinx.coroutines.Deferred 5 | 6 | /** 7 | * JVM actual implementation for `asyncWithDelay` 8 | */ 9 | actual fun CoroutineScope.asyncWithDealy(delay: Long, block: suspend () -> T): Deferred { 10 | TODO("Not yet implemented") 11 | } 12 | -------------------------------------------------------------------------------- /examples/multiplatform-example/dokkatoo/src/jsMain/kotlin/org/kotlintestmpp/JsCoroutineExtensions.kt: -------------------------------------------------------------------------------- 1 | package org.kotlintestmpp.coroutines 2 | 3 | import kotlinx.coroutines.CoroutineScope 4 | import kotlinx.coroutines.Deferred 5 | 6 | /** 7 | * JS actual implementation for `asyncWithDelay` 8 | */ 9 | actual fun CoroutineScope.asyncWithDealy(delay: Long, block: suspend () -> T): Deferred { 10 | TODO("Not yet implemented") 11 | } 12 | -------------------------------------------------------------------------------- /examples/multiplatform-example/dokkatoo/src/jvmMain/kotlin/org/kotlintestmpp/JvmCoroutineExtensions.kt: -------------------------------------------------------------------------------- 1 | package org.kotlintestmpp.coroutines 2 | 3 | import kotlinx.coroutines.CoroutineScope 4 | import kotlinx.coroutines.Deferred 5 | 6 | /** 7 | * JVM actual implementation for `asyncWithDelay` 8 | */ 9 | actual fun CoroutineScope.asyncWithDealy(delay: Long, block: suspend () -> T): Deferred { 10 | TODO("Not yet implemented") 11 | } 12 | -------------------------------------------------------------------------------- /examples/versioning-multimodule-example/dokka/previousDocVersions/0.9/styles/logo-styles.css: -------------------------------------------------------------------------------- 1 | .library-name a { 2 | position: relative; 3 | margin-left: 55px; 4 | } 5 | 6 | .library-name a::before { 7 | content: ''; 8 | background: url("../images/logo-icon.svg") center no-repeat; 9 | background-size: contain; 10 | position: absolute; 11 | width: 50px; 12 | height: 50px; 13 | top: -18px; 14 | left: -55px; 15 | } -------------------------------------------------------------------------------- /examples/multiplatform-example/dokka/src/linuxMain/kotlin/org/kotlintestmpp/LinuxCoroutineExtensions.kt: -------------------------------------------------------------------------------- 1 | package org.kotlintestmpp.coroutines 2 | 3 | import kotlinx.coroutines.CoroutineScope 4 | import kotlinx.coroutines.Deferred 5 | 6 | /** 7 | * Linux actual implementation for `asyncWithDelay` 8 | */ 9 | actual fun CoroutineScope.asyncWithDealy(delay: Long, block: suspend () -> T): Deferred { 10 | TODO("Not yet implemented") 11 | } 12 | -------------------------------------------------------------------------------- /examples/multiplatform-example/dokka/src/macosMain/kotlin/org/kotlintestmpp/MacOsCoroutineExtensions.kt: -------------------------------------------------------------------------------- 1 | package org.kotlintestmpp.coroutines 2 | 3 | import kotlinx.coroutines.CoroutineScope 4 | import kotlinx.coroutines.Deferred 5 | 6 | /** 7 | * MacOS actual implementation for `asyncWithDelay` 8 | */ 9 | actual fun CoroutineScope.asyncWithDealy(delay: Long, block: suspend () -> T): Deferred { 10 | TODO("Not yet implemented") 11 | } 12 | -------------------------------------------------------------------------------- /examples/multiplatform-example/dokkatoo/src/linuxMain/kotlin/org/kotlintestmpp/LinuxCoroutineExtensions.kt: -------------------------------------------------------------------------------- 1 | package org.kotlintestmpp.coroutines 2 | 3 | import kotlinx.coroutines.CoroutineScope 4 | import kotlinx.coroutines.Deferred 5 | 6 | /** 7 | * Linux actual implementation for `asyncWithDelay` 8 | */ 9 | actual fun CoroutineScope.asyncWithDealy(delay: Long, block: suspend () -> T): Deferred { 10 | TODO("Not yet implemented") 11 | } 12 | -------------------------------------------------------------------------------- /examples/multiplatform-example/dokkatoo/src/macosMain/kotlin/org/kotlintestmpp/MacOsCoroutineExtensions.kt: -------------------------------------------------------------------------------- 1 | package org.kotlintestmpp.coroutines 2 | 3 | import kotlinx.coroutines.CoroutineScope 4 | import kotlinx.coroutines.Deferred 5 | 6 | /** 7 | * MacOS actual implementation for `asyncWithDelay` 8 | */ 9 | actual fun CoroutineScope.asyncWithDealy(delay: Long, block: suspend () -> T): Deferred { 10 | TODO("Not yet implemented") 11 | } 12 | -------------------------------------------------------------------------------- /modules/dokkatoo-plugin-integration-tests/example-project-data/java-example/dokkatoo/html/images/copy-icon.svg: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /modules/dokkatoo-plugin-integration-tests/example-project-data/java-example/dokkatoo/html/images/footer-go-to-link.svg: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /examples/versioning-multimodule-example/dokkatoo/previousDocVersions/0.9/older/0.9/styles/logo-styles.css: -------------------------------------------------------------------------------- 1 | .library-name a { 2 | position: relative; 3 | margin-left: 55px; 4 | } 5 | 6 | .library-name a::before { 7 | content: ''; 8 | background: url("../images/logo-icon.svg") center no-repeat; 9 | background-size: contain; 10 | position: absolute; 11 | width: 50px; 12 | height: 50px; 13 | top: -18px; 14 | left: -55px; 15 | } -------------------------------------------------------------------------------- /examples/java-example/dokkatoo/my-java-application/src/main/java/demo/MyJavaApplication.java: -------------------------------------------------------------------------------- 1 | package demo; 2 | 3 | import demo.MyJavaLibraryClass; 4 | 5 | /** 6 | * My Java Application. 7 | * 8 | * This application depends on library classes, for example, {@link demo.MyJavaLibraryClass}. 9 | */ 10 | public class MyJavaApplication { 11 | 12 | public static void main(String[] args) { 13 | System.out.println(MyJavaLibraryClass.WELCOME); 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /modules/dokkatoo-plugin-integration-tests/example-project-data/composite-build-example/dokkatoo/html/images/copy-icon.svg: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /modules/dokkatoo-plugin-integration-tests/example-project-data/composite-build-example/dokkatoo/html/images/footer-go-to-link.svg: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /examples/multiplatform-example/dokka/src/jsMain/kotlin/org/kotlintestmpp/JsFunctions.kt: -------------------------------------------------------------------------------- 1 | package org.kotlintestmpp 2 | 3 | /** 4 | * Function declares in JS source set 5 | */ 6 | fun js() {} 7 | 8 | /** 9 | * Function declared in JS source set. 10 | * 11 | * Function with the same name exists in another source set as well. 12 | */ 13 | fun shared() {} 14 | 15 | /** 16 | * Extension declared in JS source set 17 | */ 18 | fun String.myExtension() = println("test") 19 | -------------------------------------------------------------------------------- /examples/multiplatform-example/dokkatoo/src/jsMain/kotlin/org/kotlintestmpp/JsFunctions.kt: -------------------------------------------------------------------------------- 1 | package org.kotlintestmpp 2 | 3 | /** 4 | * Function declares in JS source set 5 | */ 6 | fun js() {} 7 | 8 | /** 9 | * Function declared in JS source set. 10 | * 11 | * Function with the same name exists in another source set as well. 12 | */ 13 | fun shared() {} 14 | 15 | /** 16 | * Extension declared in JS source set 17 | */ 18 | fun String.myExtension() = println("test") 19 | -------------------------------------------------------------------------------- /modules/dokkatoo-plugin-integration-tests/projects/it-basic-groovy/dokkatoo/settings.gradle: -------------------------------------------------------------------------------- 1 | pluginManagement { 2 | repositories { 3 | gradlePluginPortal() 4 | mavenCentral() 5 | maven { url = providers.gradleProperty("testMavenRepo") } 6 | } 7 | } 8 | 9 | rootProject.name = "it-basic-groovy" 10 | 11 | dependencyResolutionManagement { 12 | repositories { 13 | mavenCentral() 14 | maven { url = providers.gradleProperty("testMavenRepo") } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /examples/multiplatform-example/dokka/src/linuxMain/kotlin/org/kotlintestmpp/cinterop.kt: -------------------------------------------------------------------------------- 1 | @file:Suppress("unused") 2 | 3 | package org.kotlintestmpp 4 | 5 | import kotlinx.cinterop.CPointed 6 | import kotlinx.cinterop.CPointer 7 | import kotlinx.cinterop.ExperimentalForeignApi 8 | 9 | /** 10 | * Low-level Linux function 11 | */ 12 | @OptIn(ExperimentalForeignApi::class) 13 | fun printPointerRawValue(pointer: CPointer) { 14 | println(pointer.rawValue) 15 | } 16 | -------------------------------------------------------------------------------- /examples/multiplatform-example/dokkatoo/src/linuxMain/kotlin/org/kotlintestmpp/CInterop.kt: -------------------------------------------------------------------------------- 1 | @file:Suppress("unused") 2 | 3 | package org.kotlintestmpp 4 | 5 | import kotlinx.cinterop.CPointed 6 | import kotlinx.cinterop.CPointer 7 | import kotlinx.cinterop.ExperimentalForeignApi 8 | 9 | /** 10 | * Low-level Linux function 11 | */ 12 | @OptIn(ExperimentalForeignApi::class) 13 | fun printPointerRawValue(pointer: CPointer) { 14 | println(pointer.rawValue) 15 | } 16 | -------------------------------------------------------------------------------- /examples/versioning-multimodule-example/dokkatoo/previousDocVersions/0.9/images/copy-successful-icon.svg: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /modules/dokkatoo-plugin-integration-tests/projects/it-basic/dokka/customResources/custom-resource.svg: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /modules/dokkatoo-plugin-integration-tests/projects/it-basic/dokkatoo/customResources/custom-resource.svg: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /examples/composite-build-example/dokkatoo/build.gradle.kts: -------------------------------------------------------------------------------- 1 | plugins { 2 | base 3 | } 4 | 5 | tasks.build { 6 | dependsOn(gradle.includedBuild("docs").task(":dokkatooGenerate")) 7 | } 8 | 9 | group = "foo.example.composite.builds" 10 | version = "1.0.1" 11 | 12 | 13 | tasks.clean { 14 | dependsOn( 15 | gradle.includedBuild("docs").task(":clean"), 16 | gradle.includedBuild("module-kakapo").task(":clean"), 17 | gradle.includedBuild("module-kea").task(":clean"), 18 | ) 19 | } 20 | -------------------------------------------------------------------------------- /examples/gradle-example/dokka/src/main/kotlin/demo/HelloWorld.kt: -------------------------------------------------------------------------------- 1 | package demo 2 | 3 | /** 4 | * This class supports greeting people by name. 5 | * 6 | * @property name The name of the person to be greeted. 7 | */ 8 | class Greeter(val name: String) { 9 | 10 | /** 11 | * Prints the greeting to the standard output. 12 | */ 13 | fun greet() { 14 | println("Hello $name!") 15 | } 16 | } 17 | 18 | fun main(args: Array) { 19 | Greeter(args[0]).greet() 20 | } -------------------------------------------------------------------------------- /modules/dokkatoo-plugin-integration-tests/projects/it-collector-0/dokka/moduleA/build.gradle.kts: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2014-2023 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license. 3 | */ 4 | 5 | plugins { 6 | // TODO: File bug report for gradle: :moduleA:moduleB:dokkaHtml is missing kotlin gradle plugin from 7 | // the runtime classpath during execution without this plugin in the parent project 8 | kotlin("jvm") 9 | id("org.jetbrains.dokka") 10 | } 11 | -------------------------------------------------------------------------------- /modules/dokkatoo-plugin/src/main/kotlin/formats/DokkatooGfmPlugin.kt: -------------------------------------------------------------------------------- 1 | package dev.adamko.dokkatoo.formats 2 | 3 | import dev.adamko.dokkatoo.internal.DokkatooInternalApi 4 | import org.gradle.kotlin.dsl.* 5 | 6 | abstract class DokkatooGfmPlugin 7 | @DokkatooInternalApi 8 | constructor() : DokkatooFormatPlugin(formatName = "gfm") { 9 | override fun DokkatooFormatPluginContext.configure() { 10 | project.dependencies { 11 | dokkaPlugin(dokka("gfm-plugin")) 12 | } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /examples/composite-build-example/dokkatoo/module-kea/src/main/kotlin/Kea.kt: -------------------------------------------------------------------------------- 1 | package foo.example.module.kea 2 | 3 | class Kea { 4 | val description = """ 5 | The kea (Nestor notabilis) is a large parrot. 6 | 7 | It lives in forests and high rocky hills on the South Island of New Zealand. It is mostly olive-green in color. 8 | It has a large, narrow, curved, grey-brown upper beak. The kea is the only parrot in the world that lives in alpine habitats. 9 | """.trimIndent() 10 | } 11 | -------------------------------------------------------------------------------- /examples/gradle-example/dokkatoo/src/main/kotlin/demo/HelloWorld.kt: -------------------------------------------------------------------------------- 1 | package demo 2 | 3 | /** 4 | * This class supports greeting people by name. 5 | * 6 | * @property name The name of the person to be greeted. 7 | */ 8 | class Greeter(val name: String) { 9 | 10 | /** 11 | * Prints the greeting to the standard output. 12 | */ 13 | fun greet() { 14 | println("Hello $name!") 15 | } 16 | } 17 | 18 | fun main(args: Array) { 19 | Greeter(args[0]).greet() 20 | } 21 | -------------------------------------------------------------------------------- /modules/dokkatoo-plugin-integration-tests/projects/it-multiplatform-0/dokka/src/linuxMain/kotlin/it/mpp0/runBlocking.kt: -------------------------------------------------------------------------------- 1 | package it.mpp0 2 | 3 | import kotlinx.coroutines.CoroutineScope 4 | import kotlinx.coroutines.Deferred 5 | import kotlinx.coroutines.async 6 | 7 | actual fun CoroutineScope.runBlocking(block: suspend () -> T): T { 8 | TODO("Not yet implemented") 9 | } 10 | 11 | fun CoroutineScope.customAsync(block: suspend () -> T): Deferred { 12 | return async { block() } 13 | } 14 | -------------------------------------------------------------------------------- /examples/composite-build-example/dokkatoo/module-kakapo/src/main/kotlin/Kakapo.kt: -------------------------------------------------------------------------------- 1 | package foo.example.module.kakapo 2 | 3 | class Kakapo { 4 | val description = """ 5 | The Kakapo (Strigops habroptilus) is the only parrot which cannot fly. 6 | 7 | It lives in grassland, scrubland and coastal regions of New Zealand, but is now so rare they can only be seen 8 | on protected offshore islands. 9 | 10 | Kakapo means 'night parrot' in the Māori language. 11 | """.trimIndent() 12 | } 13 | -------------------------------------------------------------------------------- /examples/custom-format-example/dokka/src/main/kotlin/demo/HelloWorld.kt: -------------------------------------------------------------------------------- 1 | package demo 2 | 3 | /** 4 | * This class supports greeting people by name. 5 | * 6 | * @property name The name of the person to be greeted. 7 | */ 8 | class Greeter(val name: String) { 9 | 10 | /** 11 | * Prints the greeting to the standard output. 12 | */ 13 | fun greet() { 14 | println("Hello $name!") 15 | } 16 | } 17 | 18 | fun main(args: Array) { 19 | Greeter(args[0]).greet() 20 | } 21 | -------------------------------------------------------------------------------- /examples/custom-format-example/dokkatoo/src/main/kotlin/demo/HelloWorld.kt: -------------------------------------------------------------------------------- 1 | package demo 2 | 3 | /** 4 | * This class supports greeting people by name. 5 | * 6 | * @property name The name of the person to be greeted. 7 | */ 8 | class Greeter(val name: String) { 9 | 10 | /** 11 | * Prints the greeting to the standard output. 12 | */ 13 | fun greet() { 14 | println("Hello $name!") 15 | } 16 | } 17 | 18 | fun main(args: Array) { 19 | Greeter(args[0]).greet() 20 | } 21 | -------------------------------------------------------------------------------- /examples/kotlin-as-java-example/dokka/src/main/kotlin/demo/HelloWorld.kt: -------------------------------------------------------------------------------- 1 | package demo 2 | 3 | /** 4 | * This class supports greeting people by name. 5 | * 6 | * @property name The name of the person to be greeted. 7 | */ 8 | class Greeter(val name: String) { 9 | 10 | /** 11 | * Prints the greeting to the standard output. 12 | */ 13 | fun greet() { 14 | println("Hello $name!") 15 | } 16 | } 17 | 18 | fun main(args: Array) { 19 | Greeter(args[0]).greet() 20 | } 21 | -------------------------------------------------------------------------------- /examples/versioning-multimodule-example/dokkatoo/previousDocVersions/0.9/images/go-to-top-icon.svg: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /modules/dokkatoo-plugin-integration-tests/example-project-data/java-example/dokkatoo/html/images/copy-successful-icon.svg: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /modules/dokkatoo-plugin-integration-tests/projects/it-multimodule-0/dokka/moduleA/moduleC/build.gradle.kts: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2014-2023 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license. 3 | */ 4 | 5 | import org.jetbrains.dokka.gradle.DokkaTask 6 | 7 | plugins { 8 | kotlin("jvm") 9 | id("org.jetbrains.dokka") 10 | } 11 | 12 | tasks.withType().configureEach { 13 | dokkaSourceSets.configureEach { 14 | includes.from("Module.md") 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /modules/dokkatoo-plugin/src/main/kotlin/formats/DokkatooJavadocPlugin.kt: -------------------------------------------------------------------------------- 1 | package dev.adamko.dokkatoo.formats 2 | 3 | import dev.adamko.dokkatoo.internal.DokkatooInternalApi 4 | import org.gradle.kotlin.dsl.* 5 | 6 | abstract class DokkatooJavadocPlugin 7 | @DokkatooInternalApi 8 | constructor() : DokkatooFormatPlugin(formatName = "javadoc") { 9 | override fun DokkatooFormatPluginContext.configure() { 10 | project.dependencies { 11 | dokkaPlugin(dokka("javadoc-plugin")) 12 | } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /modules/dokkatoo-plugin/src/main/kotlin/formats/DokkatooJekyllPlugin.kt: -------------------------------------------------------------------------------- 1 | package dev.adamko.dokkatoo.formats 2 | 3 | import dev.adamko.dokkatoo.internal.DokkatooInternalApi 4 | import org.gradle.kotlin.dsl.* 5 | 6 | abstract class DokkatooJekyllPlugin 7 | @DokkatooInternalApi 8 | constructor() : DokkatooFormatPlugin(formatName = "jekyll") { 9 | override fun DokkatooFormatPluginContext.configure() { 10 | project.dependencies { 11 | dokkaPlugin(dokka("jekyll-plugin")) 12 | } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /examples/java-example/dokkatoo/my-java-features/build.gradle.kts: -------------------------------------------------------------------------------- 1 | plugins { 2 | `java-mongodb-library-convention` 3 | `dokka-convention` 4 | } 5 | 6 | dokkatoo { 7 | dokkatooSourceSets.configureEach { 8 | includes.from("Module.md") 9 | } 10 | 11 | dokkatooSourceSets.javaMain { 12 | displayName = "Java" 13 | } 14 | 15 | // non-main source sets are suppressed by default 16 | dokkatooSourceSets.javaMongodbSupport { 17 | suppress = false 18 | displayName = "MongoDB" 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /examples/kotlin-as-java-example/dokkatoo/src/main/kotlin/demo/HelloWorld.kt: -------------------------------------------------------------------------------- 1 | package demo 2 | 3 | /** 4 | * This class supports greeting people by name. 5 | * 6 | * @property name The name of the person to be greeted. 7 | */ 8 | class Greeter(val name: String) { 9 | 10 | /** 11 | * Prints the greeting to the standard output. 12 | */ 13 | fun greet() { 14 | println("Hello $name!") 15 | } 16 | } 17 | 18 | fun main(args: Array) { 19 | Greeter(args[0]).greet() 20 | } 21 | -------------------------------------------------------------------------------- /examples/library-publishing-example/dokka/src/main/kotlin/demo/HelloWorld.kt: -------------------------------------------------------------------------------- 1 | package demo 2 | 3 | /** 4 | * This class supports greeting people by name. 5 | * 6 | * @property name The name of the person to be greeted. 7 | */ 8 | class Greeter(val name: String) { 9 | 10 | /** 11 | * Prints the greeting to the standard output. 12 | */ 13 | fun greet() { 14 | println("Hello $name!") 15 | } 16 | } 17 | 18 | fun main(args: Array) { 19 | Greeter(args[0]).greet() 20 | } 21 | -------------------------------------------------------------------------------- /examples/library-publishing-example/dokkatoo/src/main/kotlin/demo/HelloWorld.kt: -------------------------------------------------------------------------------- 1 | package demo 2 | 3 | /** 4 | * This class supports greeting people by name. 5 | * 6 | * @property name The name of the person to be greeted. 7 | */ 8 | class Greeter(val name: String) { 9 | 10 | /** 11 | * Prints the greeting to the standard output. 12 | */ 13 | fun greet() { 14 | println("Hello $name!") 15 | } 16 | } 17 | 18 | fun main(args: Array) { 19 | Greeter(args[0]).greet() 20 | } 21 | -------------------------------------------------------------------------------- /modules/dokkatoo-plugin-integration-tests/projects/it-basic/dokka/src/main/kotlin/it/overriddenVisibility/VisiblePrivateClass.kt: -------------------------------------------------------------------------------- 1 | package it.overriddenVisibility 2 | 3 | /** 4 | * Private classes and methods generally should not be visible, but [documentedVisibilities] 5 | * are overriden for this specific package to include private code 6 | * 7 | * §PRIVATE§ (marker for asserts) 8 | */ 9 | private class VisiblePrivateClass { 10 | private val privateVal: Int = 0 11 | private fun privateMethod() {} 12 | } -------------------------------------------------------------------------------- /modules/dokkatoo-plugin-integration-tests/projects/it-basic/dokkatoo/src/main/kotlin/it/overriddenVisibility/VisiblePrivateClass.kt: -------------------------------------------------------------------------------- 1 | package it.overriddenVisibility 2 | 3 | /** 4 | * Private classes and methods generally should not be visible, but [documentedVisibilities] 5 | * are overriden for this specific package to include private code 6 | * 7 | * §PRIVATE§ (marker for asserts) 8 | */ 9 | private class VisiblePrivateClass { 10 | private val privateVal: Int = 0 11 | private fun privateMethod() {} 12 | } -------------------------------------------------------------------------------- /modules/dokkatoo-plugin-integration-tests/example-project-data/composite-build-example/dokkatoo/html/images/copy-successful-icon.svg: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /modules/dokkatoo-plugin-integration-tests/example-project-data/java-example/dokkatoo/html/images/go-to-top-icon.svg: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /examples/versioning-multimodule-example/dokka/previousDocVersions/0.9/images/nav-icons/field-value.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /modules/dokkatoo-plugin-integration-tests/projects/it-basic/dokka/src/main/java/it/basic/java/SampleJavaClass.java: -------------------------------------------------------------------------------- 1 | package it.basic.java; 2 | 3 | import it.basic.PublicClass; 4 | 5 | /** 6 | * This class is, unlike {@link PublicClass}, written in Java 7 | */ 8 | @SuppressWarnings("unused") 9 | public class SampleJavaClass { 10 | 11 | /** 12 | * @return Empty instance of {@link PublicClass} 13 | */ 14 | public PublicClass publicDocumentedFunction() { 15 | return new PublicClass(); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /modules/dokkatoo-plugin-integration-tests/projects/it-multimodule-1/dokka/build.gradle: -------------------------------------------------------------------------------- 1 | plugins { 2 | id 'org.jetbrains.kotlin.jvm' 3 | id("org.jetbrains.dokka") 4 | } 5 | 6 | apply from: '../template.root.gradle.kts' 7 | 8 | dependencies { 9 | implementation "org.jetbrains.kotlin:kotlin-stdlib" 10 | implementation project(':first') 11 | implementation project(':second') 12 | } 13 | 14 | 15 | subprojects { 16 | apply plugin: 'org.jetbrains.kotlin.jvm' 17 | apply plugin: 'org.jetbrains.dokka' 18 | } 19 | -------------------------------------------------------------------------------- /modules/dokkatoo-plugin-integration-tests/example-project-data/composite-build-example/dokkatoo/html/images/go-to-top-icon.svg: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /modules/dokkatoo-plugin-integration-tests/projects/it-basic/dokkatoo/src/main/java/it/basic/java/SampleJavaClass.java: -------------------------------------------------------------------------------- 1 | package it.basic.java; 2 | 3 | import it.basic.PublicClass; 4 | 5 | /** 6 | * This class is, unlike {@link PublicClass}, written in Java 7 | */ 8 | @SuppressWarnings("unused") 9 | public class SampleJavaClass { 10 | 11 | /** 12 | * @return Empty instance of {@link PublicClass} 13 | */ 14 | public PublicClass publicDocumentedFunction() { 15 | return new PublicClass(); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /examples/versioning-multimodule-example/dokkatoo/previousDocVersions/0.9/older/0.9/images/nav-icons/field-value.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /modules/dokkatoo-plugin-integration-tests/projects/it-basic-groovy/dokka/src/custom/java/it/basic/java/SampleJavaClass.java: -------------------------------------------------------------------------------- 1 | package it.basic.java; 2 | 3 | import it.basic.PublicClass; 4 | 5 | /** 6 | * This class is, unlike {@link PublicClass}, written in Java 7 | */ 8 | @SuppressWarnings("unused") 9 | public class SampleJavaClass { 10 | 11 | /** 12 | * @return Empty instance of {@link PublicClass} 13 | */ 14 | public PublicClass publicDocumentedFunction() { 15 | return new PublicClass(); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /modules/dokkatoo-plugin-integration-tests/projects/it-basic-groovy/dokka/src/main/java/it/basic/java/SampleJavaClass.java: -------------------------------------------------------------------------------- 1 | package it.basic.java; 2 | 3 | import it.basic.PublicClass; 4 | 5 | /** 6 | * This class is, unlike {@link PublicClass}, written in Java 7 | */ 8 | @SuppressWarnings("unused") 9 | public class SampleJavaClass { 10 | 11 | /** 12 | * @return Empty instance of {@link PublicClass} 13 | */ 14 | public PublicClass publicDocumentedFunction() { 15 | return new PublicClass(); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /modules/dokkatoo-plugin-integration-tests/projects/it-multimodule-0/dokka/moduleA/moduleB/build.gradle.kts: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2014-2023 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license. 3 | */ 4 | 5 | import org.jetbrains.dokka.gradle.DokkaTask 6 | 7 | plugins { 8 | kotlin("jvm") 9 | id("org.jetbrains.dokka") 10 | } 11 | 12 | tasks.withType().configureEach { 13 | moduleName.set("!Module B!") 14 | dokkaSourceSets.configureEach { 15 | includes.from("Module.md") 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /.github/workflows/workflow_pull_request.yml: -------------------------------------------------------------------------------- 1 | name: Pull Requests 2 | 3 | 4 | on: 5 | workflow_dispatch: 6 | pull_request: 7 | merge_group: 8 | push: 9 | branches: 10 | - "renovate/**" 11 | 12 | 13 | concurrency: 14 | group: "Pull Requests: ${{ github.workflow }} @ ${{ github.event.pull_request.head.label || github.head_ref || github.ref }}" 15 | cancel-in-progress: true 16 | 17 | 18 | jobs: 19 | 20 | tests: 21 | uses: ./.github/workflows/run_tests.yml 22 | permissions: 23 | contents: read 24 | checks: write 25 | -------------------------------------------------------------------------------- /examples/multiplatform-example/dokka/src/commonMain/kotlin/org/kotlintestmpp/CommonCoroutineExtensions.kt: -------------------------------------------------------------------------------- 1 | package org.kotlintestmpp.coroutines 2 | 3 | import kotlinx.coroutines.CoroutineScope 4 | import kotlinx.coroutines.CoroutineDispatcher 5 | import kotlinx.coroutines.Deferred 6 | 7 | /** 8 | * Common `expect` declaration 9 | */ 10 | expect fun CoroutineScope.asyncWithDealy(delay: Long, block: suspend () -> T): Deferred 11 | 12 | /** 13 | * Common coroutine extension 14 | */ 15 | fun CoroutineDispatcher.name(): String = TODO("Not implemented") 16 | -------------------------------------------------------------------------------- /examples/multiplatform-example/dokkatoo/src/commonMain/kotlin/org/kotlintestmpp/CommonCoroutineExtensions.kt: -------------------------------------------------------------------------------- 1 | package org.kotlintestmpp.coroutines 2 | 3 | import kotlinx.coroutines.CoroutineScope 4 | import kotlinx.coroutines.CoroutineDispatcher 5 | import kotlinx.coroutines.Deferred 6 | 7 | /** 8 | * Common `expect` declaration 9 | */ 10 | expect fun CoroutineScope.asyncWithDealy(delay: Long, block: suspend () -> T): Deferred 11 | 12 | /** 13 | * Common coroutine extension 14 | */ 15 | fun CoroutineDispatcher.name(): String = TODO("Not implemented") 16 | -------------------------------------------------------------------------------- /examples/multiplatform-example/dokka/src/jvmMain/kotlin/org/kotlintestmpp/JavaAnnotation.java: -------------------------------------------------------------------------------- 1 | package org.kotlintestmpp; 2 | 3 | import java.lang.annotation.ElementType; 4 | import java.lang.annotation.Retention; 5 | import java.lang.annotation.RetentionPolicy; 6 | import java.lang.annotation.Target; 7 | 8 | /** 9 | * This is a Java annotation 10 | */ 11 | @Target(ElementType.TYPE) 12 | @Retention(RetentionPolicy.RUNTIME) 13 | public @interface JavaAnnotation { 14 | String usage(); 15 | 16 | String[] aliases(); 17 | 18 | String description(); 19 | } 20 | -------------------------------------------------------------------------------- /modules/dokkatoo-plugin-integration-tests/projects/it-android-0/dokka/src/main/java/it/android/AndroidSpecificClass.kt: -------------------------------------------------------------------------------- 1 | @file:Suppress("unused") 2 | 3 | package it.android 4 | 5 | import android.content.Context 6 | import android.util.SparseIntArray 7 | import android.view.View 8 | 9 | /** 10 | * This class is specific to android and uses android classes like: 11 | * [Context], [SparseIntArray] or [View] 12 | */ 13 | class AndroidSpecificClass { 14 | fun sparseIntArray() = SparseIntArray() 15 | fun createView(context: Context): View = View(context) 16 | } 17 | -------------------------------------------------------------------------------- /examples/multiplatform-example/dokkatoo/src/jvmMain/kotlin/org/kotlintestmpp/JavaAnnotation.java: -------------------------------------------------------------------------------- 1 | package org.kotlintestmpp; 2 | 3 | import java.lang.annotation.ElementType; 4 | import java.lang.annotation.Retention; 5 | import java.lang.annotation.RetentionPolicy; 6 | import java.lang.annotation.Target; 7 | 8 | /** 9 | * This is a Java annotation 10 | */ 11 | @Target(ElementType.TYPE) 12 | @Retention(RetentionPolicy.RUNTIME) 13 | public @interface JavaAnnotation { 14 | String usage(); 15 | 16 | String[] aliases(); 17 | 18 | String description(); 19 | } 20 | -------------------------------------------------------------------------------- /examples/versioning-multimodule-example/dokkatoo/previousDocVersions/0.9/images/burger.svg: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /modules/dokkatoo-plugin-integration-tests/projects/it-android-0/dokkatoo/src/main/java/it/android/AndroidSpecificClass.kt: -------------------------------------------------------------------------------- 1 | @file:Suppress("unused") 2 | 3 | package it.android 4 | 5 | import android.content.Context 6 | import android.util.SparseIntArray 7 | import android.view.View 8 | 9 | /** 10 | * This class is specific to android and uses android classes like: 11 | * [Context], [SparseIntArray] or [View] 12 | */ 13 | class AndroidSpecificClass { 14 | fun sparseIntArray() = SparseIntArray() 15 | fun createView(context: Context): View = View(context) 16 | } 17 | -------------------------------------------------------------------------------- /examples/versioning-multimodule-example/dokkatoo/parentProject/childProjectA/build.gradle.kts: -------------------------------------------------------------------------------- 1 | plugins { 2 | kotlin("jvm") 3 | `dokka-convention` 4 | } 5 | 6 | //region DON'T COPY - this is only needed for internal Dokkatoo integration tests 7 | dokkatoo { 8 | modulePath.set("childProjectA") // match the original dokka default 9 | } 10 | tasks.withType().configureEach { 11 | generator.dokkaSourceSets.configureEach { 12 | sourceSetScope.set(":parentProject:childProjectA:dokkaHtmlPartial") 13 | } 14 | } 15 | //endregion 16 | -------------------------------------------------------------------------------- /examples/versioning-multimodule-example/dokkatoo/parentProject/childProjectB/build.gradle.kts: -------------------------------------------------------------------------------- 1 | plugins { 2 | kotlin("jvm") 3 | `dokka-convention` 4 | } 5 | 6 | //region DON'T COPY - this is only needed for internal Dokkatoo integration tests 7 | dokkatoo { 8 | modulePath.set("childProjectB") // match the original dokka default 9 | } 10 | tasks.withType().configureEach { 11 | generator.dokkaSourceSets.configureEach { 12 | sourceSetScope.set(":parentProject:childProjectB:dokkaHtmlPartial") 13 | } 14 | } 15 | //endregion 16 | -------------------------------------------------------------------------------- /examples/versioning-multimodule-example/dokka/previousDocVersions/0.9/images/nav-icons/field-variable.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /modules/dokkatoo-plugin-integration-tests/example-project-data/java-example/dokkatoo/html/images/burger.svg: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /examples/multimodule-example/dokkatoo/buildSrc/src/main/kotlin/dokka-convention.gradle.kts: -------------------------------------------------------------------------------- 1 | /** 2 | * Common conventions for generating documentation with Dokkatoo. 3 | */ 4 | 5 | plugins { 6 | id("dev.adamko.dokkatoo") 7 | } 8 | 9 | dokkatoo { 10 | dokkatooSourceSets.configureEach { 11 | sourceLink { 12 | // Read docs for more details: https://kotlinlang.org/docs/dokka-gradle.html#source-link-configuration 13 | remoteUrl("https://github.com/Kotlin/dokka/tree/master/examples/gradle/dokka-multimodule-example") 14 | localDirectory.set(rootDir) 15 | } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /examples/versioning-multimodule-example/dokkatoo/previousDocVersions/0.9/older/0.9/images/nav-icons/field-variable.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /modules/dokkatoo-plugin-integration-tests/example-project-data/composite-build-example/dokkatoo/html/images/burger.svg: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /modules/dokkatoo-plugin-integration-tests/projects/it-android-0/dokka/build.gradle.kts: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2014-2023 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license. 3 | */ 4 | 5 | plugins { 6 | id("com.android.library") 7 | id("org.jetbrains.dokka") 8 | kotlin("android") 9 | } 10 | 11 | apply(from = "./template.root.gradle.kts") 12 | 13 | android { 14 | defaultConfig { 15 | minSdkVersion(21) 16 | setCompileSdkVersion(29) 17 | } 18 | } 19 | 20 | dependencies { 21 | implementation("androidx.appcompat:appcompat:1.1.0") 22 | } 23 | -------------------------------------------------------------------------------- /examples/versioning-multimodule-example/dokkatoo/buildSrc/src/main/kotlin/dokka-convention.gradle.kts: -------------------------------------------------------------------------------- 1 | /** 2 | * Common conventions for generating documentation with Dokkatoo. 3 | */ 4 | 5 | plugins { 6 | id("dev.adamko.dokkatoo") 7 | } 8 | 9 | dokkatoo { 10 | dokkatooSourceSets.configureEach { 11 | sourceLink { 12 | // Read docs for more details: https://kotlinlang.org/docs/dokka-gradle.html#source-link-configuration 13 | remoteUrl("https://github.com/Kotlin/dokka/tree/master/examples/gradle/versioning-multimodule-example") 14 | localDirectory.set(rootDir) 15 | } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /modules/dokkatoo-plugin/src/main/kotlin/dokka/parameters/HasConfigurableVisibilityModifiers.kt: -------------------------------------------------------------------------------- 1 | package dev.adamko.dokkatoo.dokka.parameters 2 | 3 | import org.gradle.api.provider.SetProperty 4 | import org.gradle.api.tasks.Input 5 | 6 | internal interface HasConfigurableVisibilityModifiers { 7 | 8 | @get:Input 9 | val documentedVisibilities: SetProperty 10 | 11 | /** Sets [documentedVisibilities] (overrides any previously set values). */ 12 | fun documentedVisibilities(vararg visibilities: VisibilityModifier): Unit = 13 | documentedVisibilities.set(visibilities.asList()) 14 | } 15 | -------------------------------------------------------------------------------- /examples/multimodule-example/dokka/parentProject/childProjectA/build.gradle.kts: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2014-2023 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license. 3 | */ 4 | 5 | import org.jetbrains.dokka.gradle.DokkaTaskPartial 6 | 7 | plugins { 8 | kotlin("jvm") 9 | id("org.jetbrains.dokka") 10 | } 11 | 12 | // configuration specific to this subproject. 13 | // notice the use of Partial task 14 | tasks.withType().configureEach { 15 | dokkaSourceSets { 16 | configureEach { 17 | includes.from("ModuleA.md") 18 | } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /examples/multimodule-example/dokka/parentProject/childProjectB/build.gradle.kts: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2014-2023 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license. 3 | */ 4 | 5 | import org.jetbrains.dokka.gradle.DokkaTaskPartial 6 | 7 | plugins { 8 | kotlin("jvm") 9 | id("org.jetbrains.dokka") 10 | } 11 | 12 | // configuration specific to this subproject. 13 | // notice the use of Partial task 14 | tasks.withType().configureEach { 15 | dokkaSourceSets { 16 | configureEach { 17 | includes.from("ModuleB.md") 18 | } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /examples/multimodule-example/dokka/settings.gradle.kts: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2014-2023 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license. 3 | */ 4 | 5 | pluginManagement { 6 | val kotlinVersion: String by settings 7 | val dokkaVersion: String by settings 8 | 9 | plugins { 10 | kotlin("jvm") version kotlinVersion 11 | id("org.jetbrains.dokka") version dokkaVersion 12 | } 13 | } 14 | 15 | include(":parentProject") 16 | include(":parentProject:childProjectA") 17 | include(":parentProject:childProjectB") 18 | 19 | rootProject.name = "dokka-multimodule-example" 20 | -------------------------------------------------------------------------------- /examples/custom-format-example/dokka/README.md: -------------------------------------------------------------------------------- 1 | ## Dokka custom format example 2 | 3 | This example demonstrates how to override `.css` styles and add custom images as assets, allowing 4 | you to change the logo used in the header. 5 | 6 | You can see up-to-date documentation generated for this example on 7 | [GitHub Pages](https://kotlin.github.io/dokka/examples/dokka-customFormat-example/html/index.html). 8 | 9 | ![screenshot demonstration of output](demo.png) 10 | 11 | ### Running 12 | 13 | Run `dokkaHtml` task to generate documentation with the custom logo in place: 14 | 15 | ```bash 16 | ./gradlew dokkaHtml 17 | ``` 18 | -------------------------------------------------------------------------------- /gradle.properties: -------------------------------------------------------------------------------- 1 | # memory is set quite high because the tests launch a lot of processes 2 | org.gradle.jvmargs=-Dfile.encoding=UTF-8 -Xmx4g -XX:MaxMetaspaceSize=2g -XX:+HeapDumpOnOutOfMemoryError -XX:+AlwaysPreTouch 3 | 4 | org.gradle.caching=true 5 | org.gradle.configuration-cache-problems=warn 6 | org.gradle.configuration-cache=true 7 | org.gradle.parallel=true 8 | org.gradle.welcome=never 9 | 10 | kotlin.mpp.import.enableKgpDependencyResolution=true 11 | 12 | # remove in Gradle 9.0 13 | # https://docs.gradle.org/current/userguide/upgrading_version_8.html#kotlin_1_8.20 14 | kotlin.incremental.useClasspathSnapshot=false 15 | -------------------------------------------------------------------------------- /examples/versioning-multimodule-example/dokka/previousDocVersions/0.9/images/nav-icons/exception-class.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /examples/versioning-multimodule-example/dokkatoo/previousDocVersions/0.9/images/nav-icons/exception-class.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /modules/docs/site/sidebars.config.js: -------------------------------------------------------------------------------- 1 | // @ts-check 2 | 3 | /** @type {import('@docusaurus/plugin-content-docs').SidebarsConfig} */ 4 | const sidebarsConfig = { 5 | // By default, Docusaurus generates a sidebar from the docs folder structure 6 | tutorialSidebar: [{type: 'autogenerated', dirName: '.'}], 7 | 8 | // But you can create a sidebar manually 9 | /* 10 | tutorialSidebar: [ 11 | 'intro', 12 | 'hello', 13 | { 14 | type: 'category', 15 | label: 'Tutorial', 16 | items: ['tutorial-basics/create-a-document'], 17 | }, 18 | ], 19 | */ 20 | }; 21 | 22 | module.exports = sidebarsConfig; 23 | -------------------------------------------------------------------------------- /modules/dokkatoo-plugin-integration-tests/projects/it-multimodule-1/dokka/second/build.gradle: -------------------------------------------------------------------------------- 1 | dependencies { 2 | implementation project(":first") 3 | } 4 | dokkaHtml { 5 | dependsOn(":first:dokkaHtml") 6 | dokkaSourceSets { 7 | "main" { 8 | externalDocumentationLink { 9 | url.set(new URL("file://" + rootProject.rootDir.toPath().toAbsolutePath().resolve("first/build/dokka/html/"))) 10 | packageListUrl.set(new URL("file://" + rootProject.rootDir.toPath().toAbsolutePath().resolve("first/build/dokka/html/first/package-list"))) 11 | } 12 | } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /examples/versioning-multimodule-example/dokkatoo/previousDocVersions/0.9/older/0.9/images/nav-icons/exception-class.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /modules/dokkatoo-plugin/src/main/kotlin/internal/PluginId.kt: -------------------------------------------------------------------------------- 1 | package dev.adamko.dokkatoo.internal 2 | 3 | /** 4 | * Gradle Plugin IDs. 5 | */ 6 | @Suppress("ConstPropertyName") 7 | internal object PluginId { 8 | 9 | const val KotlinAndroid = "org.jetbrains.kotlin.android" 10 | const val KotlinJs = "org.jetbrains.kotlin.js" 11 | const val KotlinJvm = "org.jetbrains.kotlin.jvm" 12 | const val KotlinMultiplatform = "org.jetbrains.kotlin.multiplatform" 13 | 14 | const val AndroidBase = "com.android.base" 15 | const val AndroidApplication = "com.android.application" 16 | const val AndroidLibrary = "com.android.library" 17 | } 18 | -------------------------------------------------------------------------------- /modules/dokkatoo-plugin-integration-tests/example-project-data/java-example/dokkatoo/html/images/nav-icons/exception-class.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /modules/dokkatoo-plugin-integration-tests/src/testFixtures/kotlin/templateProjectUtils.kt: -------------------------------------------------------------------------------- 1 | package dev.adamko.dokkatoo.utils 2 | 3 | 4 | fun GradleProjectTest.copyExampleProject(path: String) { 5 | GradleProjectTest.exampleProjectsDir 6 | .resolve(path) 7 | .toFile() 8 | .copyRecursively(projectDir.toFile(), overwrite = true) { _, _ -> OnErrorAction.SKIP } 9 | } 10 | 11 | 12 | fun GradleProjectTest.copyIntegrationTestProject(path: String) { 13 | GradleProjectTest.integrationTestProjectsDir 14 | .resolve(path) 15 | .toFile() 16 | .copyRecursively(projectDir.toFile(), overwrite = true) { _, _ -> OnErrorAction.SKIP } 17 | } 18 | -------------------------------------------------------------------------------- /modules/dokkatoo-plugin-integration-tests/example-project-data/composite-build-example/dokkatoo/html/images/nav-icons/exception-class.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /modules/dokkatoo-plugin/src/main/kotlin/tasks/DokkatooTask.kt: -------------------------------------------------------------------------------- 1 | package dev.adamko.dokkatoo.tasks 2 | 3 | import dev.adamko.dokkatoo.DokkatooBasePlugin 4 | import dev.adamko.dokkatoo.internal.DokkatooInternalApi 5 | import javax.inject.Inject 6 | import org.gradle.api.DefaultTask 7 | import org.gradle.api.model.ObjectFactory 8 | import org.gradle.api.tasks.CacheableTask 9 | 10 | /** Base Dokkatoo task */ 11 | @CacheableTask 12 | abstract class DokkatooTask 13 | @DokkatooInternalApi 14 | constructor() : DefaultTask() { 15 | 16 | @get:Inject 17 | abstract val objects: ObjectFactory 18 | 19 | init { 20 | group = DokkatooBasePlugin.TASK_GROUP 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /examples/versioning-multimodule-example/dokka/previousDocVersions/0.9/images/nav-icons/enum.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /examples/versioning-multimodule-example/dokkatoo/previousDocVersions/0.9/images/nav-icons/field-value.svg: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /examples/versioning-multimodule-example/dokka/previousDocVersions/0.9/images/logo-icon.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /examples/versioning-multimodule-example/dokkatoo/previousDocVersions/0.9/images/nav-icons/enum.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /examples/composite-build-example/dokkatoo/build-logic/src/main/kotlin/dokka-convention.gradle.kts: -------------------------------------------------------------------------------- 1 | /** 2 | * Common conventions for generating documentation with Dokkatoo. 3 | */ 4 | 5 | plugins { 6 | id("dev.adamko.dokkatoo-html") 7 | } 8 | 9 | dokkatoo { 10 | // Important! Ensure that each project has a distinct module path. 11 | // See the example README for more information. 12 | modulePath = rootProject.name + project.path.replace(":", "/") 13 | 14 | pluginsConfiguration.html { 15 | // By default footerMessage uses the current year. 16 | // Here we fix the year to 2024 for test stability. 17 | footerMessage.set("© 2024 Copyright") 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /examples/versioning-multimodule-example/dokka/previousDocVersions/0.9/images/nav-icons/interface.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /examples/multimodule-example/dokkatoo/parentProject/childProjectA/build.gradle.kts: -------------------------------------------------------------------------------- 1 | plugins { 2 | kotlin("jvm") 3 | `dokka-convention` 4 | } 5 | 6 | dokkatoo { 7 | dokkatooSourceSets.configureEach { 8 | includes.from("ModuleA.md") 9 | } 10 | } 11 | 12 | //region DON'T COPY - this is only needed for internal Dokkatoo integration tests 13 | dokkatoo { 14 | modulePath.set("childProjectA") // match the original dokka default 15 | } 16 | tasks.withType().configureEach { 17 | generator.dokkaSourceSets.configureEach { 18 | sourceSetScope.set(":parentProject:childProjectA:dokkaHtmlPartial") 19 | } 20 | } 21 | //endregion 22 | -------------------------------------------------------------------------------- /examples/multimodule-example/dokkatoo/parentProject/childProjectB/build.gradle.kts: -------------------------------------------------------------------------------- 1 | plugins { 2 | kotlin("jvm") 3 | `dokka-convention` 4 | } 5 | 6 | dokkatoo { 7 | dokkatooSourceSets.configureEach { 8 | includes.from("ModuleB.md") 9 | } 10 | } 11 | 12 | //region DON'T COPY - this is only needed for internal Dokkatoo integration tests 13 | dokkatoo { 14 | modulePath.set("childProjectB") // match the original dokka default 15 | } 16 | tasks.withType().configureEach { 17 | generator.dokkaSourceSets.configureEach { 18 | sourceSetScope.set(":parentProject:childProjectB:dokkaHtmlPartial") 19 | } 20 | } 21 | //endregion 22 | -------------------------------------------------------------------------------- /examples/versioning-multimodule-example/dokkatoo/previousDocVersions/0.9/images/nav-icons/interface.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /examples/versioning-multimodule-example/dokkatoo/previousDocVersions/0.9/older/0.9/images/logo-icon.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /examples/versioning-multimodule-example/dokkatoo/previousDocVersions/0.9/older/0.9/images/nav-icons/enum.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /modules/dokkatoo-plugin-integration-tests/example-project-data/java-example/dokkatoo/html/images/nav-icons/field-value.svg: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /examples/versioning-multimodule-example/dokka/previousDocVersions/0.9/images/nav-icons/interface-kotlin.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /modules/dokkatoo-plugin-integration-tests/example-project-data/java-example/dokkatoo/html/images/nav-icons/enum.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /modules/dokkatoo-plugin/src/main/kotlin/tasks/TaskNames.kt: -------------------------------------------------------------------------------- 1 | package dev.adamko.dokkatoo.tasks 2 | 3 | import dev.adamko.dokkatoo.internal.DokkatooInternalApi 4 | import dev.adamko.dokkatoo.internal.HasFormatName 5 | 6 | @DokkatooInternalApi 7 | class TaskNames(override val formatName: String) : HasFormatName() { 8 | val generate = "dokkatooGenerate".appendFormat() 9 | val generatePublication = "dokkatooGeneratePublication".appendFormat() 10 | val generateModule = "dokkatooGenerateModule".appendFormat() 11 | val consolidateModuleElements = "dokkatooConsolidateModuleElements".appendFormat() 12 | val prepareModuleDescriptor = "prepareDokkatooModuleDescriptor".appendFormat() 13 | } 14 | -------------------------------------------------------------------------------- /examples/versioning-multimodule-example/dokkatoo/previousDocVersions/0.9/older/0.9/images/nav-icons/interface.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /modules/dokkatoo-plugin-integration-tests/example-project-data/composite-build-example/dokkatoo/html/images/nav-icons/field-value.svg: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /modules/dokkatoo-plugin-integration-tests/example-project-data/composite-build-example/dokkatoo/html/images/nav-icons/enum.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /modules/dokkatoo-plugin-integration-tests/example-project-data/java-example/dokkatoo/html/images/nav-icons/interface.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /examples/custom-format-example/dokkatoo/build.gradle.kts: -------------------------------------------------------------------------------- 1 | plugins { 2 | kotlin("jvm") version "1.9.10" 3 | id("dev.adamko.dokkatoo") version "2.5.0-SNAPSHOT" 4 | } 5 | 6 | dokkatoo { 7 | moduleName.set("customFormat-example") 8 | pluginsConfiguration.html { 9 | // Dokka's stylesheets and assets with conflicting names will be overridden. 10 | // In this particular case, logo-styles.css will be overridden 11 | // and ktor-logo.png will be added as an additional image asset 12 | customStyleSheets.from("logo-styles.css") 13 | customAssets.from("ktor-logo.png") 14 | 15 | // Text used in the footer 16 | footerMessage.set("(c) Custom Format Dokka example") 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /examples/versioning-multimodule-example/dokkatoo/previousDocVersions/0.9/older/0.9/images/nav-icons/interface-kotlin.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /modules/dokkatoo-plugin-integration-tests/projects/it-multimodule-1/dokka/second/src/main/kotlin/bar/SecondClass.kt: -------------------------------------------------------------------------------- 1 | package bar 2 | /** 3 | * Second class in second module description [foo.FirstClass] 4 | * @author John Doe 5 | * @version 0.1.3 6 | * @param name Name description text text text. 7 | */ 8 | class SecondClass(val name: String) { 9 | val firstProperty = "propertystring" 10 | /** 11 | * Second property in second module description [foo.FirstSubclass] 12 | */ 13 | var secondProperty: String = "" 14 | set(value) { 15 | println("Second property not set") 16 | } 17 | 18 | init { 19 | println("InitializerBlock") 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /modules/dokkatoo-plugin-integration-tests/example-project-data/composite-build-example/dokkatoo/html/images/nav-icons/interface.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /examples/versioning-multimodule-example/dokka/previousDocVersions/0.9/images/nav-icons/enum-kotlin.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /modules/dokkatoo-plugin-integration-tests/projects/it-multimodule-versioning-0/dokka/second/src/main/kotlin/bar/SecondClass.kt: -------------------------------------------------------------------------------- 1 | package bar 2 | /** 3 | * Second class in second module description [foo.FirstClass] 4 | * @author John Doe 5 | * @version 0.1.3 6 | * @param name Name description text text text. 7 | */ 8 | class SecondClass(val name: String) { 9 | val firstProperty = "propertystring" 10 | /** 11 | * Second property in second module description [foo.FirstSubclass] 12 | */ 13 | var secondProperty: String = "" 14 | set(value) { 15 | println("Second property not set") 16 | } 17 | 18 | init { 19 | println("InitializerBlock") 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /modules/dokkatoo-plugin/src/testFixtures/kotlin/files.kt: -------------------------------------------------------------------------------- 1 | package dev.adamko.dokkatoo.utils 2 | 3 | import java.io.File 4 | import java.nio.file.Path 5 | import kotlin.io.path.invariantSeparatorsPathString 6 | import kotlin.io.path.walk 7 | 8 | 9 | fun File.copyInto(directory: File, overwrite: Boolean = false) = 10 | copyTo(directory.resolve(name), overwrite = overwrite) 11 | 12 | 13 | fun Path.listRelativePathsMatching(predicate: (Path) -> Boolean): List { 14 | val basePath = this.invariantSeparatorsPathString 15 | return walk() 16 | .filter(predicate) 17 | .map { it.invariantSeparatorsPathString.substringAfter(basePath).removePrefix("/") } 18 | .toList() 19 | .sorted() 20 | } 21 | -------------------------------------------------------------------------------- /examples/custom-format-example/dokka/logo-styles.css: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2014-2023 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license. 3 | */ 4 | 5 | /* 6 | * All Margins and sizes are custom for the ktor-logo.png file. 7 | * You may need to override it and find what works best for your case. 8 | */ 9 | :root { 10 | --dokka-logo-image-url: url('../images/ktor-logo.png'); 11 | --dokka-logo-height: 125px; 12 | --dokka-logo-width: 50px; 13 | } 14 | 15 | /* link custom rules styles */ 16 | .library-name--link { 17 | /* ... */ 18 | } 19 | 20 | /* logo custom rules styles */ 21 | .library-name--link::before { 22 | background-position: left; 23 | width: 52px; 24 | } 25 | -------------------------------------------------------------------------------- /examples/custom-format-example/dokkatoo/logo-styles.css: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2014-2023 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license. 3 | */ 4 | 5 | /* 6 | * All Margins and sizes are custom for the ktor-logo.png file. 7 | * You may need to override it and find what works best for your case. 8 | */ 9 | :root { 10 | --dokka-logo-image-url: url('../images/ktor-logo.png'); 11 | --dokka-logo-height: 125px; 12 | --dokka-logo-width: 50px; 13 | } 14 | 15 | /* link custom rules styles */ 16 | .library-name--link { 17 | /* ... */ 18 | } 19 | 20 | /* logo custom rules styles */ 21 | .library-name--link::before { 22 | background-position: left; 23 | width: 52px; 24 | } 25 | -------------------------------------------------------------------------------- /examples/kotlin-as-java-example/dokka/README.md: -------------------------------------------------------------------------------- 1 | # Dokka Kotlin-as-Java plugin example 2 | 3 | This example demonstrates how you can apply a Dokka plugin in a simple Gradle project. 4 | 5 | In particular, it applies [Kotlin as Java](../../../plugins/kotlin-as-java) Dokka plugin that renders all 6 | Kotlin signatures as Java signatures. 7 | 8 | You can see up-to-date documentation generated for this example on 9 | [GitHub Pages](https://kotlin.github.io/dokka/examples/dokka-kotlinAsJava-example/html/index.html). 10 | 11 | ![screenshot demonstration of output](demo.png) 12 | 13 | ### Running 14 | 15 | Run `dokkaHtml` task to generate documentation for this example: 16 | 17 | ```bash 18 | ./gradlew dokkaHtml 19 | ``` 20 | -------------------------------------------------------------------------------- /examples/versioning-multimodule-example/dokkatoo/previousDocVersions/0.9/older/0.9/images/nav-icons/enum-kotlin.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /examples/versioning-multimodule-example/dokka/build.gradle.kts: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2014-2023 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license. 3 | */ 4 | 5 | plugins { 6 | kotlin("jvm") version "1.9.22" 7 | id("org.jetbrains.dokka") version "1.9.20" apply false 8 | } 9 | 10 | // The versioning plugin must be applied in all submodules 11 | subprojects { 12 | repositories { 13 | mavenCentral() 14 | } 15 | apply { 16 | plugin("org.jetbrains.kotlin.jvm") 17 | plugin("org.jetbrains.dokka") 18 | } 19 | val dokkaPlugin by configurations 20 | dependencies { 21 | dokkaPlugin("org.jetbrains.dokka:versioning-plugin:1.9.20") 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /examples/versioning-multimodule-example/dokkatoo/previousDocVersions/0.9/images/nav-icons/field-variable.svg: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /modules/dokkatoo-plugin-integration-tests/projects/it-js-ir-0/dokka/build.gradle.kts: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2014-2023 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license. 3 | */ 4 | 5 | plugins { 6 | id("org.jetbrains.dokka") 7 | kotlin("js") 8 | } 9 | 10 | apply(from = "./template.root.gradle.kts") 11 | 12 | kotlin { 13 | js(IR) { 14 | browser() 15 | nodejs() 16 | } 17 | } 18 | 19 | dependencies { 20 | implementation(npm("is-sorted", "1.0.5")) 21 | 22 | val reactVersion = properties["react_version"] 23 | implementation("org.jetbrains.kotlin-wrappers:kotlin-react:$reactVersion") 24 | implementation("org.jetbrains.kotlin-wrappers:kotlin-react-dom:$reactVersion") 25 | } 26 | -------------------------------------------------------------------------------- /modules/dokkatoo-plugin-integration-tests/example-project-data/java-example/dokkatoo/html/images/nav-icons/field-variable.svg: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /examples/README.md: -------------------------------------------------------------------------------- 1 | # Dokkatoo Examples 2 | 3 | Examples of how to use Dokkatoo. 4 | 5 | The examples are copied from the Dokka project. 6 | 7 | ### Set up 8 | 9 | The Dokka examples are synced automatically from the Dokka source code. 10 | 11 | ### Run locally 12 | 13 | To run locally the examples locally you must first run `./gradlew assemble publishToTestMavenRepo` 14 | in the root Dokkatoo repository project directory. 15 | 16 | ### Tests 17 | 18 | The projects are tested in the 19 | [`:modules:dokkatoo-plugin-integration-tests`](./../modules/dokkatoo-plugin-integration-tests/) 20 | project. 21 | 22 | The Dokka Publications generated by the Dokka examples are compared against the Dokka 23 | Publications generated by the Dokkatoo projects. 24 | -------------------------------------------------------------------------------- /modules/docs/site/static/img/homepage.svg: -------------------------------------------------------------------------------- 1 | 3 | 5 | 6 | -------------------------------------------------------------------------------- /modules/dokkatoo-plugin-integration-tests/example-project-data/composite-build-example/dokkatoo/html/images/nav-icons/field-variable.svg: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /modules/docs/site/src/components/HomepageFeatures/styles.module.css: -------------------------------------------------------------------------------- 1 | .features { 2 | display: flex; 3 | align-items: center; 4 | padding: 2rem 0; 5 | width: 100%; 6 | } 7 | 8 | .col { 9 | background-color: var(--ifm-footer-background-color); 10 | } 11 | 12 | svg.featureSvg { 13 | height: 10em; 14 | width: 20em; 15 | } 16 | 17 | svg.featureSvg [fill="#6c63ff"] { 18 | fill: var(--ifm-color-primary-darkest); 19 | } 20 | 21 | svg.featureSvg [fill="#3f3d56"] { 22 | /*fill: var(--ifm-color-primary-contrast-background);*/ 23 | fill: var(--ifm-color-primary-lightest); 24 | filter: drop-shadow(5px 5px 5px var(--ifm-color-primary-contrast-foreground)); 25 | } 26 | 27 | svg.featureSvg [fill="#fff"] { 28 | fill: var(--ifm-color-primary-contrast-background); 29 | } 30 | -------------------------------------------------------------------------------- /modules/docs/site/src/utils/jsUtils.ts: -------------------------------------------------------------------------------- 1 | // Inspired by https://github.com/you-dont-need/You-Dont-Need-Lodash-Underscore#_sortby-and-_orderby 2 | export function sortBy( 3 | array: T[], 4 | getter: (item: T) => string | number | boolean, 5 | ): T[] { 6 | const sortedArray = [...array]; 7 | sortedArray.sort((a, b) => 8 | // eslint-disable-next-line no-nested-ternary 9 | getter(a) > getter(b) ? 1 : getter(b) > getter(a) ? -1 : 0, 10 | ); 11 | return sortedArray; 12 | } 13 | 14 | export function toggleListItem(list: T[], item: T): T[] { 15 | const itemIndex = list.indexOf(item); 16 | if (itemIndex === -1) { 17 | return list.concat(item); 18 | } 19 | const newList = [...list]; 20 | newList.splice(itemIndex, 1); 21 | return newList; 22 | } 23 | -------------------------------------------------------------------------------- /modules/dokkatoo-plugin/src/test/kotlin/dokka/parameters/VisibilityModifierTest.kt: -------------------------------------------------------------------------------- 1 | package dev.adamko.dokkatoo.dokka.parameters 2 | 3 | import dev.adamko.dokkatoo.dokka.parameters.VisibilityModifier.Companion.dokkaType 4 | import io.kotest.core.spec.style.FunSpec 5 | import io.kotest.inspectors.shouldForAll 6 | import io.kotest.inspectors.shouldForOne 7 | import io.kotest.matchers.shouldBe 8 | import org.jetbrains.dokka.DokkaConfiguration 9 | 10 | class VisibilityModifierTest : FunSpec({ 11 | 12 | test("DokkaConfiguration.Visibility should have equivalent VisibilityModifier") { 13 | DokkaConfiguration.Visibility.values().shouldForAll { dokkaVisibility -> 14 | VisibilityModifier.values.map { it.dokkaType }.shouldForOne { it shouldBe dokkaVisibility } 15 | } 16 | } 17 | }) 18 | -------------------------------------------------------------------------------- /modules/docs/site/src/pages/index.module.css: -------------------------------------------------------------------------------- 1 | .heroBanner { 2 | padding: 4rem 0; 3 | text-align: center; 4 | position: relative; 5 | overflow: hidden; 6 | background: linear-gradient(-113deg, #0095D5, #3C83DC, #6D74E1, #806EE3); 7 | animation: gradient 17s linear infinite; 8 | background-size: 400% 400%; 9 | } 10 | 11 | @keyframes gradient { 12 | 0% { 13 | background-position: 0 50%; 14 | } 15 | 50% { 16 | background-position: 100% 50%; 17 | } 18 | 100% { 19 | background-position: 0 50%; 20 | } 21 | } 22 | 23 | @media screen and (max-width: 996px) { 24 | .heroBanner { 25 | padding: 2rem; 26 | } 27 | } 28 | 29 | .buttons { 30 | display: flex; 31 | flex-wrap: wrap; 32 | align-items: center; 33 | justify-content: center; 34 | gap: 1em; 35 | } 36 | -------------------------------------------------------------------------------- /modules/docs/Module.md: -------------------------------------------------------------------------------- 1 | # Dokkatoo Gradle Plugin 2 | 3 | [Dokkatoo](https://github.com/adamko-dev/dokkatoo) is a Gradle plugin that generates documentation 4 | for your Kotlin projects. 5 | 6 | Dokkatoo uses [Dokka](https://github.com/Kotlin/dokka/), the API documentation engine for Kotlin, 7 | to generate API reference documentation from source code. 8 | 9 | This site contains the bare-bones technical API reference for Dokkatoo. 10 | 11 | If you want to learn more about how to use Dokkatoo in your own projects, 12 | please see the 13 | [Dokkatoo GitHub page](https://github.com/adamko-dev/dokkatoo) 14 | which has examples. You can also 15 | [ask questions](https://github.com/adamko-dev/dokkatoo/discussions) 16 | and [report issues or ask for features](https://github.com/adamko-dev/dokkatoo/issues). 17 | -------------------------------------------------------------------------------- /modules/dokkatoo-plugin-integration-tests/projects/it-android-0/dokka/src/main/java/it/android/IntegrationTestActivity.kt: -------------------------------------------------------------------------------- 1 | package it.android 2 | 3 | import android.annotation.SuppressLint 4 | import android.os.Bundle 5 | import android.widget.TextView 6 | import androidx.appcompat.app.AppCompatActivity 7 | 8 | /** 9 | * Some Activity implementing [AppCompatActivity] from android x 10 | */ 11 | class IntegrationTestActivity : AppCompatActivity() { 12 | /** 13 | * Will show a small happy text 14 | */ 15 | @SuppressLint("SetTextI18n") 16 | override fun onCreate(savedInstanceState: Bundle?) { 17 | super.onCreate(savedInstanceState) 18 | val textView = TextView(this) 19 | textView.text = "I am so happy :)" 20 | setContentView(textView) 21 | } 22 | } -------------------------------------------------------------------------------- /modules/dokkatoo-plugin-integration-tests/projects/it-android-0/dokkatoo/src/main/java/it/android/IntegrationTestActivity.kt: -------------------------------------------------------------------------------- 1 | package it.android 2 | 3 | import android.annotation.SuppressLint 4 | import android.os.Bundle 5 | import android.widget.TextView 6 | import androidx.appcompat.app.AppCompatActivity 7 | 8 | /** 9 | * Some Activity implementing [AppCompatActivity] from android x 10 | */ 11 | class IntegrationTestActivity : AppCompatActivity() { 12 | /** 13 | * Will show a small happy text 14 | */ 15 | @SuppressLint("SetTextI18n") 16 | override fun onCreate(savedInstanceState: Bundle?) { 17 | super.onCreate(savedInstanceState) 18 | val textView = TextView(this) 19 | textView.text = "I am so happy :)" 20 | setContentView(textView) 21 | } 22 | } -------------------------------------------------------------------------------- /examples/gradle-example/dokkatoo/build.gradle.kts: -------------------------------------------------------------------------------- 1 | plugins { 2 | kotlin("jvm") version "1.9.23" 3 | id("dev.adamko.dokkatoo") version "2.5.0-SNAPSHOT" 4 | } 5 | 6 | dokkatoo { 7 | // used as project name in the header 8 | moduleName.set("Dokka Gradle Example") 9 | 10 | dokkatooSourceSets.main { 11 | 12 | // contains descriptions for the module and the packages 13 | includes.from("Module.md") 14 | 15 | // adds source links that lead to this repository, allowing readers 16 | // to easily find source code for inspected declarations 17 | sourceLink { 18 | localDirectory.set(file("src/main/kotlin")) 19 | remoteUrl("https://github.com/Kotlin/dokka/tree/master/examples/gradle/dokka-gradle-example/src/main/kotlin") 20 | remoteLineSuffix.set("#L") 21 | } 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /examples/versioning-multimodule-example/dokkatoo/previousDocVersions/0.9/images/logo-icon.svg: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /modules/dokkatoo-plugin/src/testFixtures/kotlin/text.kt: -------------------------------------------------------------------------------- 1 | package dev.adamko.dokkatoo.utils 2 | 3 | /** Replace all newlines with `\n`, so the String can be used in assertions cross-platform */ 4 | fun String.invariantNewlines(): String = 5 | lines().joinToString("\n") 6 | 7 | fun Pair.sideBySide( 8 | buffer: String = " ", 9 | ): String { 10 | val (left, right) = this 11 | 12 | val leftLines = left.lines() 13 | val rightLines = right.lines() 14 | 15 | val maxLeftWidth = leftLines.maxOf { it.length } 16 | 17 | return (0..maxOf(leftLines.size, rightLines.size)).joinToString("\n") { i -> 18 | 19 | val leftLine = (leftLines.getOrNull(i) ?: "").padEnd(maxLeftWidth, ' ') 20 | val rightLine = rightLines.getOrNull(i) ?: "" 21 | 22 | leftLine + buffer + rightLine 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /examples/versioning-multimodule-example/dokkatoo/previousDocVersions/0.9/images/nav-icons/interface-kotlin.svg: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /modules/docs/site/src/components/svgIcons/styles.module.css: -------------------------------------------------------------------------------- 1 | .svgIcon { 2 | user-select: none; 3 | width: 1em; 4 | height: 1em; 5 | display: inline-block; 6 | fill: currentColor; 7 | flex-shrink: 0; 8 | color: inherit; 9 | } 10 | 11 | /* font-size */ 12 | .small { 13 | font-size: 1.25rem; 14 | } 15 | 16 | .medium { 17 | font-size: 1.5rem; 18 | } 19 | 20 | .large { 21 | font-size: 2.185rem; 22 | } 23 | 24 | /* colors */ 25 | .primary { 26 | color: var(--ifm-color-primary); 27 | } 28 | 29 | .secondary { 30 | color: var(--ifm-color-secondary); 31 | } 32 | 33 | .success { 34 | color: var(--ifm-color-success); 35 | } 36 | 37 | .error { 38 | color: var(--ifm-color-error); 39 | } 40 | 41 | .warning { 42 | color: var(--ifm-color-warning); 43 | } 44 | 45 | .inherit { 46 | color: inherit; 47 | } 48 | -------------------------------------------------------------------------------- /modules/dokkatoo-plugin-integration-tests/example-project-data/java-example/dokkatoo/html/images/logo-icon.svg: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /examples/kotlin-as-java-example/dokka/build.gradle.kts: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2014-2023 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license. 3 | */ 4 | 5 | plugins { 6 | kotlin("jvm") version "1.9.22" 7 | id("org.jetbrains.dokka") version "1.9.20" 8 | } 9 | 10 | repositories { 11 | mavenCentral() 12 | } 13 | 14 | dependencies { 15 | testImplementation(kotlin("test-junit")) 16 | 17 | // Will apply the plugin to all Dokka tasks 18 | dokkaPlugin("org.jetbrains.dokka:kotlin-as-java-plugin:1.9.20") 19 | 20 | // Will apply the plugin only to the `:dokkaHtml` task 21 | //dokkaHtmlPlugin("org.jetbrains.dokka:kotlin-as-java-plugin:1.9.20") 22 | 23 | // Will apply the plugin only to the `:dokkaGfm` task 24 | //dokkaGfmPlugin("org.jetbrains.dokka:kotlin-as-java-plugin:1.9.20") 25 | } 26 | -------------------------------------------------------------------------------- /examples/versioning-multimodule-example/dokka/previousDocVersions/0.9/images/anchor-copy-button.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /modules/dokkatoo-plugin-integration-tests/example-project-data/composite-build-example/dokkatoo/html/images/logo-icon.svg: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /modules/dokkatoo-plugin-integration-tests/example-project-data/java-example/dokkatoo/html/images/nav-icons/interface-kotlin.svg: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /examples/versioning-multimodule-example/dokkatoo/previousDocVersions/0.9/images/nav-icons/enum-kotlin.svg: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /examples/versioning-multimodule-example/dokkatoo/previousDocVersions/0.9/older/0.9/images/anchor-copy-button.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /modules/dokkatoo-plugin-integration-tests/example-project-data/composite-build-example/dokkatoo/html/images/nav-icons/interface-kotlin.svg: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /examples/gradle-example/dokka/README.md: -------------------------------------------------------------------------------- 1 | # Dokka Gradle example 2 | 3 | This example demonstrates how to apply Dokka in a simple single-project Gradle build, as well as how to configure it. 4 | 5 | Configuration changes: 6 | 7 | * Custom project name used in the header, `Dokka Gradle Example`. 8 | * Description for the project and the packages taken from [Module.md](Module.md). 9 | * Documentation contains source links that lead to declarations in this GitHub repository. 10 | 11 | You can see up-to-date documentation generated for this example on 12 | [GitHub Pages](https://kotlin.github.io/dokka/examples/dokka-gradle-example/html/index.html). 13 | 14 | ![screenshot demonstration of output](demo.png) 15 | 16 | ### Running 17 | 18 | Run `dokkaHtml` task to generate documentation for this example: 19 | 20 | ```bash 21 | ./gradlew dokkaHtml 22 | ``` 23 | -------------------------------------------------------------------------------- /examples/versioning-multimodule-example/dokkatoo/previousDocVersions/0.9/images/nav-icons/typealias-kotlin.svg: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /modules/dokkatoo-plugin/src/testFixtures/kotlin/kotestCollectionMatchers.kt: -------------------------------------------------------------------------------- 1 | package dev.adamko.dokkatoo.utils 2 | 3 | import io.kotest.matchers.collections.shouldBeSingleton 4 | import io.kotest.matchers.maps.shouldContainAll 5 | import io.kotest.matchers.maps.shouldContainExactly 6 | 7 | /** @see io.kotest.matchers.maps.shouldContainAll */ 8 | fun Map.shouldContainAll( 9 | vararg expected: Pair 10 | ): Unit = shouldContainAll(expected.toMap()) 11 | 12 | /** @see io.kotest.matchers.maps.shouldContainExactly */ 13 | fun Map.shouldContainExactly( 14 | vararg expected: Pair 15 | ): Unit = shouldContainExactly(expected.toMap()) 16 | 17 | /** Verify the sequence contains a single element, matching [match]. */ 18 | fun Sequence.shouldBeSingleton(match: (T) -> Unit) { 19 | toList().shouldBeSingleton(match) 20 | } 21 | -------------------------------------------------------------------------------- /modules/dokkatoo-plugin-integration-tests/example-project-data/java-example/dokkatoo/html/images/nav-icons/enum-kotlin.svg: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /modules/dokkatoo-plugin-integration-tests/example-project-data/java-example/dokkatoo/html/images/nav-icons/typealias-kotlin.svg: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /modules/dokkatoo-plugin-integration-tests/example-project-data/composite-build-example/dokkatoo/html/images/nav-icons/enum-kotlin.svg: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /modules/dokkatoo-plugin-integration-tests/example-project-data/composite-build-example/dokkatoo/html/images/nav-icons/typealias-kotlin.svg: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /examples/java-example/dokkatoo/buildSrc/src/main/kotlin/dokka-convention.gradle.kts: -------------------------------------------------------------------------------- 1 | /** 2 | * Common conventions for generating documentation with Dokkatoo. 3 | */ 4 | 5 | plugins { 6 | id("dev.adamko.dokkatoo") 7 | } 8 | 9 | dokkatoo { 10 | dokkatooSourceSets.configureEach { 11 | sourceLink { 12 | // Read docs for more details: https://kotlinlang.org/docs/dokka-gradle.html#source-link-configuration 13 | remoteUrl("https://github.com/adamko-dev/dokkatoo/tree/main/examples/java-example/dokkatoo") 14 | localDirectory.set(rootDir) 15 | } 16 | } 17 | pluginsConfiguration.html { 18 | // By default footerMessage uses the current year. 19 | // Here we fix the year to 2024 for test stability. 20 | footerMessage.set("© 2024 Copyright") 21 | } 22 | } 23 | 24 | dependencies { 25 | dokkatooPlugin("org.jetbrains.dokka:kotlin-as-java-plugin") 26 | } 27 | -------------------------------------------------------------------------------- /modules/dokkatoo-plugin-integration-tests/projects/it-multimodule-0/dokka/moduleA/build.gradle.kts: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2014-2023 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license. 3 | */ 4 | 5 | plugins { 6 | // TODO: File bug report for gradle: :moduleA:moduleB:dokkaHtml is missing kotlin gradle plugin from 7 | // the runtime classpath during execution without this plugin in the parent project 8 | kotlin("jvm") 9 | id("org.jetbrains.dokka") 10 | } 11 | 12 | 13 | allprojects { 14 | tasks.withType { 15 | pluginsMapConfiguration.set( 16 | mapOf( 17 | "org.jetbrains.dokka.base.DokkaBase" to """{ "homepageLink" : "https://github.com/Kotlin/dokka/tree/master/dokka-integration-tests/gradle/projects/it-multimodule-0/" }""" 18 | ) 19 | ) 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /examples/multiplatform-example/dokka/src/jvmMain/kotlin/org/kotlintestmpp/JvmFunctions.kt: -------------------------------------------------------------------------------- 1 | package org.kotlintestmpp 2 | 3 | import kotlinx.coroutines.CoroutineScope 4 | import kotlinx.coroutines.Job 5 | import kotlinx.coroutines.launch 6 | import org.kotlintestmpp.common.Foo 7 | 8 | /** 9 | * Function declared in JVM source set 10 | * 11 | * also see the [Foo] class 12 | * @see org.kotlintestmpp.common.Foo 13 | */ 14 | fun jvm() {} 15 | 16 | /** 17 | * Function declared in JVM source set 18 | * 19 | * Function with the same name exists in another source set as well. 20 | */ 21 | fun shared() {} 22 | 23 | /** 24 | * Extension declared in JVM source set 25 | */ 26 | fun CoroutineScope.startConnectionPipeline( 27 | input: String 28 | ): Job = launch { TODO() } 29 | 30 | /** 31 | * Extension declared in JVM source set 32 | */ 33 | fun String.myExtension() = println("test2") 34 | 35 | 36 | -------------------------------------------------------------------------------- /examples/multiplatform-example/dokkatoo/src/jvmMain/kotlin/org/kotlintestmpp/JvmFunctions.kt: -------------------------------------------------------------------------------- 1 | package org.kotlintestmpp 2 | 3 | import kotlinx.coroutines.CoroutineScope 4 | import kotlinx.coroutines.Job 5 | import kotlinx.coroutines.launch 6 | import org.kotlintestmpp.common.Foo 7 | 8 | /** 9 | * Function declared in JVM source set 10 | * 11 | * also see the [Foo] class 12 | * @see org.kotlintestmpp.common.Foo 13 | */ 14 | fun jvm() {} 15 | 16 | /** 17 | * Function declared in JVM source set 18 | * 19 | * Function with the same name exists in another source set as well. 20 | */ 21 | fun shared() {} 22 | 23 | /** 24 | * Extension declared in JVM source set 25 | */ 26 | fun CoroutineScope.startConnectionPipeline( 27 | input: String 28 | ): Job = launch { TODO() } 29 | 30 | /** 31 | * Extension declared in JVM source set 32 | */ 33 | fun String.myExtension() = println("test2") 34 | 35 | 36 | -------------------------------------------------------------------------------- /modules/docs/site/src/pages/showcase/_components/ShowcaseTooltip/styles.module.css: -------------------------------------------------------------------------------- 1 | .tooltip { 2 | border-radius: 4px; 3 | padding: 4px 8px; 4 | color: var(--site-color-tooltip); 5 | background: var(--site-color-tooltip-background); 6 | font-size: 0.8rem; 7 | z-index: 500; 8 | line-height: 1.4; 9 | font-weight: 500; 10 | max-width: 300px; 11 | opacity: 0.92; 12 | } 13 | 14 | .tooltipArrow { 15 | visibility: hidden; 16 | } 17 | 18 | .tooltipArrow, 19 | .tooltipArrow::before { 20 | position: absolute; 21 | width: 8px; 22 | height: 8px; 23 | background: inherit; 24 | } 25 | 26 | .tooltipArrow::before { 27 | visibility: visible; 28 | content: ''; 29 | transform: rotate(45deg); 30 | } 31 | 32 | .tooltip[data-popper-placement^='top'] > .tooltipArrow { 33 | bottom: -4px; 34 | } 35 | 36 | .tooltip[data-popper-placement^='bottom'] > .tooltipArrow { 37 | top: -4px; 38 | } 39 | -------------------------------------------------------------------------------- /modules/dokkatoo-plugin-integration-tests/projects/it-js-ir-0/dokka/src/main/kotlin/RootPackageClass.kt: -------------------------------------------------------------------------------- 1 | @file:Suppress("unused") 2 | 3 | import org.w3c.dom.url.URLSearchParams 4 | import org.w3c.dom.HTMLAnchorElement 5 | import react.dom.html.AnchorHTMLAttributes 6 | import react.Props 7 | import react.State 8 | 9 | /** 10 | * A class that lives inside the root package 11 | */ 12 | class RootPackageClass { 13 | val description = "I do live in the root package!" 14 | } 15 | 16 | // sample method that uses classes from dom and react, should compile 17 | fun URLSearchParams.react(props: Props, state: State) {} 18 | 19 | fun test(list: MutableList) = "list" 20 | 21 | @JsModule("is-sorted") 22 | @JsNonModule 23 | external fun sorted(a: Array): Boolean 24 | 25 | // this declaration can be used to check deserialization of dynamic type 26 | external interface TextLinkProps: AnchorHTMLAttributes -------------------------------------------------------------------------------- /examples/versioning-multimodule-example/dokka/previousDocVersions/0.9/images/nav-icons/object.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /modules/docs/site/src/pages/showcase/_components/ShowcaseTagSelect/styles.module.css: -------------------------------------------------------------------------------- 1 | .checkboxLabel:hover { 2 | opacity: 1; 3 | box-shadow: 0 0 2px 1px var(--ifm-color-secondary-darkest); 4 | } 5 | 6 | input[type='checkbox'] + .checkboxLabel { 7 | display: flex; 8 | align-items: center; 9 | cursor: pointer; 10 | line-height: 1.5; 11 | border-radius: 4px; 12 | padding: 0.275rem 0.8rem; 13 | opacity: 0.85; 14 | transition: opacity 200ms ease-out; 15 | border: 2px solid var(--ifm-color-secondary-darkest); 16 | } 17 | 18 | input:focus-visible + .checkboxLabel { 19 | outline: 2px solid currentColor; 20 | } 21 | 22 | input:checked + .checkboxLabel { 23 | opacity: 0.9; 24 | background-color: var(--site-color-checkbox-checked-bg); 25 | border: 2px solid var(--ifm-color-primary-darkest); 26 | } 27 | 28 | input:checked + .checkboxLabel:hover { 29 | opacity: 0.75; 30 | box-shadow: 0 0 2px 1px var(--ifm-color-primary-dark); 31 | } 32 | -------------------------------------------------------------------------------- /examples/versioning-multimodule-example/dokkatoo/previousDocVersions/0.9/older/0.9/images/nav-icons/object.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /examples/versioning-multimodule-example/dokkatoo/previousDocVersions/0.9/images/anchor-copy-button.svg: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /modules/dokkatoo-plugin/src/main/kotlin/internal/gradleTypealiases.kt: -------------------------------------------------------------------------------- 1 | package dev.adamko.dokkatoo.internal 2 | 3 | import dev.adamko.dokkatoo.dokka.plugins.DokkaPluginParametersBaseSpec 4 | import org.gradle.api.ExtensiblePolymorphicDomainObjectContainer 5 | 6 | /** Container for all [Dokka Plugin parameters][DokkaPluginParametersBaseSpec]. */ 7 | typealias DokkaPluginParametersContainer = 8 | ExtensiblePolymorphicDomainObjectContainer 9 | 10 | 11 | /** 12 | * The path of a Gradle [Project][org.gradle.api.Project]. This is unique per subproject. 13 | * This is _not_ the file path, which 14 | * [can be configured to be different to the project path](https://docs.gradle.org/current/userguide/fine_tuning_project_layout.html#sub:modifying_element_of_the_project_tree). 15 | * 16 | * Example: `:modules:tests:alpha-project`. 17 | * 18 | * @see org.gradle.api.Project.getPath 19 | */ 20 | internal typealias GradleProjectPath = org.gradle.util.Path 21 | -------------------------------------------------------------------------------- /examples/versioning-multimodule-example/dokka/previousDocVersions/0.9/images/nav-icons/class-kotlin.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | --------------------------------------------------------------------------------