├── 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 |
--------------------------------------------------------------------------------
/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 |
4 |
5 |
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 |
4 |
--------------------------------------------------------------------------------
/examples/versioning-multimodule-example/dokkatoo/previousDocVersions/0.9/older/0.9/images/arrow_down.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/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 |
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 |
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 |
--------------------------------------------------------------------------------
/examples/versioning-multimodule-example/dokka/previousDocVersions/0.9/images/footer-go-to-link.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/examples/versioning-multimodule-example/dokkatoo/previousDocVersions/0.9/older/0.9/images/footer-go-to-link.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/examples/versioning-multimodule-example/dokkatoo/previousDocVersions/0.9/older/0.9/images/theme-toggle.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/examples/versioning-multimodule-example/dokkatoo/previousDocVersions/0.9/images/arrow_down.svg:
--------------------------------------------------------------------------------
1 |
4 |
5 |
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 |
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 |
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 |
8 |
--------------------------------------------------------------------------------
/examples/versioning-multimodule-example/dokkatoo/previousDocVersions/0.9/images/footer-go-to-link.svg:
--------------------------------------------------------------------------------
1 |
4 |
5 |
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 |
8 |
--------------------------------------------------------------------------------
/modules/dokkatoo-plugin-integration-tests/example-project-data/java-example/dokkatoo/html/images/footer-go-to-link.svg:
--------------------------------------------------------------------------------
1 |
4 |
5 |
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 |
8 |
--------------------------------------------------------------------------------
/modules/dokkatoo-plugin-integration-tests/example-project-data/composite-build-example/dokkatoo/html/images/footer-go-to-link.svg:
--------------------------------------------------------------------------------
1 |
4 |
5 |
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 |
8 |
--------------------------------------------------------------------------------
/modules/dokkatoo-plugin-integration-tests/projects/it-basic/dokka/customResources/custom-resource.svg:
--------------------------------------------------------------------------------
1 |
4 |
5 |
8 |
--------------------------------------------------------------------------------
/modules/dokkatoo-plugin-integration-tests/projects/it-basic/dokkatoo/customResources/custom-resource.svg:
--------------------------------------------------------------------------------
1 |
4 |
5 |
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 |
9 |
--------------------------------------------------------------------------------
/modules/dokkatoo-plugin-integration-tests/example-project-data/java-example/dokkatoo/html/images/copy-successful-icon.svg:
--------------------------------------------------------------------------------
1 |
4 |
5 |
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 |
8 |
--------------------------------------------------------------------------------
/modules/dokkatoo-plugin-integration-tests/example-project-data/java-example/dokkatoo/html/images/go-to-top-icon.svg:
--------------------------------------------------------------------------------
1 |
4 |
5 |
9 |
--------------------------------------------------------------------------------
/examples/versioning-multimodule-example/dokka/previousDocVersions/0.9/images/nav-icons/field-value.svg:
--------------------------------------------------------------------------------
1 |
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 |
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 |
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 |
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 |
7 |
--------------------------------------------------------------------------------
/modules/dokkatoo-plugin-integration-tests/example-project-data/java-example/dokkatoo/html/images/burger.svg:
--------------------------------------------------------------------------------
1 |
4 |
5 |
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 |
7 |
--------------------------------------------------------------------------------
/modules/dokkatoo-plugin-integration-tests/example-project-data/composite-build-example/dokkatoo/html/images/burger.svg:
--------------------------------------------------------------------------------
1 |
4 |
5 |
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 | 
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 |
8 |
--------------------------------------------------------------------------------
/examples/versioning-multimodule-example/dokkatoo/previousDocVersions/0.9/images/nav-icons/exception-class.svg:
--------------------------------------------------------------------------------
1 |
2 |
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 |
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 |
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 |
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 |
8 |
--------------------------------------------------------------------------------
/examples/versioning-multimodule-example/dokkatoo/previousDocVersions/0.9/images/nav-icons/field-value.svg:
--------------------------------------------------------------------------------
1 |
4 |
5 |
11 |
--------------------------------------------------------------------------------
/examples/versioning-multimodule-example/dokka/previousDocVersions/0.9/images/logo-icon.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/examples/versioning-multimodule-example/dokkatoo/previousDocVersions/0.9/images/nav-icons/enum.svg:
--------------------------------------------------------------------------------
1 |
2 |
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 |
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 |
8 |
--------------------------------------------------------------------------------
/examples/versioning-multimodule-example/dokkatoo/previousDocVersions/0.9/older/0.9/images/logo-icon.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/examples/versioning-multimodule-example/dokkatoo/previousDocVersions/0.9/older/0.9/images/nav-icons/enum.svg:
--------------------------------------------------------------------------------
1 |
2 |
8 |
--------------------------------------------------------------------------------
/modules/dokkatoo-plugin-integration-tests/example-project-data/java-example/dokkatoo/html/images/nav-icons/field-value.svg:
--------------------------------------------------------------------------------
1 |
4 |
5 |
11 |
--------------------------------------------------------------------------------
/examples/versioning-multimodule-example/dokka/previousDocVersions/0.9/images/nav-icons/interface-kotlin.svg:
--------------------------------------------------------------------------------
1 |
10 |
--------------------------------------------------------------------------------
/modules/dokkatoo-plugin-integration-tests/example-project-data/java-example/dokkatoo/html/images/nav-icons/enum.svg:
--------------------------------------------------------------------------------
1 |
2 |
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 |
8 |
--------------------------------------------------------------------------------
/modules/dokkatoo-plugin-integration-tests/example-project-data/composite-build-example/dokkatoo/html/images/nav-icons/field-value.svg:
--------------------------------------------------------------------------------
1 |
4 |
5 |
11 |
--------------------------------------------------------------------------------
/modules/dokkatoo-plugin-integration-tests/example-project-data/composite-build-example/dokkatoo/html/images/nav-icons/enum.svg:
--------------------------------------------------------------------------------
1 |
2 |
8 |
--------------------------------------------------------------------------------
/modules/dokkatoo-plugin-integration-tests/example-project-data/java-example/dokkatoo/html/images/nav-icons/interface.svg:
--------------------------------------------------------------------------------
1 |
2 |
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 |
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 |
8 |
--------------------------------------------------------------------------------
/examples/versioning-multimodule-example/dokka/previousDocVersions/0.9/images/nav-icons/enum-kotlin.svg:
--------------------------------------------------------------------------------
1 |
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 | 
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 |
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 |
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 |
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 |
6 |
--------------------------------------------------------------------------------
/modules/dokkatoo-plugin-integration-tests/example-project-data/composite-build-example/dokkatoo/html/images/nav-icons/field-variable.svg:
--------------------------------------------------------------------------------
1 |
4 |
5 |
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 |
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 |
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 |
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 |
--------------------------------------------------------------------------------
/modules/dokkatoo-plugin-integration-tests/example-project-data/composite-build-example/dokkatoo/html/images/logo-icon.svg:
--------------------------------------------------------------------------------
1 |
4 |
5 |
15 |
--------------------------------------------------------------------------------
/modules/dokkatoo-plugin-integration-tests/example-project-data/java-example/dokkatoo/html/images/nav-icons/interface-kotlin.svg:
--------------------------------------------------------------------------------
1 |
4 |
5 |
14 |
--------------------------------------------------------------------------------
/examples/versioning-multimodule-example/dokkatoo/previousDocVersions/0.9/images/nav-icons/enum-kotlin.svg:
--------------------------------------------------------------------------------
1 |
4 |
5 |
14 |
--------------------------------------------------------------------------------
/examples/versioning-multimodule-example/dokkatoo/previousDocVersions/0.9/older/0.9/images/anchor-copy-button.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/modules/dokkatoo-plugin-integration-tests/example-project-data/composite-build-example/dokkatoo/html/images/nav-icons/interface-kotlin.svg:
--------------------------------------------------------------------------------
1 |
4 |
5 |
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 | 
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 |
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 |
14 |
--------------------------------------------------------------------------------
/modules/dokkatoo-plugin-integration-tests/example-project-data/java-example/dokkatoo/html/images/nav-icons/typealias-kotlin.svg:
--------------------------------------------------------------------------------
1 |
4 |
5 |
14 |
--------------------------------------------------------------------------------
/modules/dokkatoo-plugin-integration-tests/example-project-data/composite-build-example/dokkatoo/html/images/nav-icons/enum-kotlin.svg:
--------------------------------------------------------------------------------
1 |
4 |
5 |
14 |
--------------------------------------------------------------------------------
/modules/dokkatoo-plugin-integration-tests/example-project-data/composite-build-example/dokkatoo/html/images/nav-icons/typealias-kotlin.svg:
--------------------------------------------------------------------------------
1 |
4 |
5 |
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 |
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 |
10 |
--------------------------------------------------------------------------------
/examples/versioning-multimodule-example/dokkatoo/previousDocVersions/0.9/images/anchor-copy-button.svg:
--------------------------------------------------------------------------------
1 |
4 |
5 |
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 |
10 |
--------------------------------------------------------------------------------