blob: 57ca5ef9aeb7ba78d1de105a225e768e18dea7b5 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
|
package org.jetbrains.dokka.dokkatoo.distributions
import org.jetbrains.dokka.dokkatoo.internal.DokkatooInternalApi
import javax.inject.Inject
import org.gradle.api.Named
import org.gradle.api.artifacts.Configuration
import org.gradle.api.attributes.Attribute
import org.gradle.api.attributes.Usage
import org.gradle.api.model.ObjectFactory
import org.gradle.kotlin.dsl.*
/**
* Gradle Configuration Attributes for sharing Dokkatoo files across subprojects.
*
* These attributes are used to tag [Configuration]s, so files can be shared between subprojects.
*/
@DokkatooInternalApi
abstract class DokkatooConfigurationAttributes
@Inject
constructor(
objects: ObjectFactory,
) {
/** A general attribute for all [Configuration]s that are used by the Dokka Gradle plugin */
val dokkatooBaseUsage: DokkatooBaseAttribute = objects.named("dokkatoo")
/** for [Configuration]s that provide or consume Dokka parameter files */
val dokkaParameters: DokkatooCategoryAttribute = objects.named("generator-parameters")
/** for [Configuration]s that provide or consume Dokka Module files */
val dokkaModuleFiles: DokkatooCategoryAttribute = objects.named("module-files")
// val dokkaModuleSource: DokkatooCategoryAttribute = objects.named("module-source")
val dokkaGeneratorClasspath: DokkatooCategoryAttribute = objects.named("generator-classpath")
val dokkaPluginsClasspath: DokkatooCategoryAttribute = objects.named("plugins-classpath")
@DokkatooInternalApi
interface DokkatooBaseAttribute : Usage
@DokkatooInternalApi
interface DokkatooCategoryAttribute : Named
@DokkatooInternalApi
interface DokkaFormatAttribute : Named
@DokkatooInternalApi
companion object {
val DOKKATOO_BASE_ATTRIBUTE =
Attribute<DokkatooBaseAttribute>("org.jetbrains.dokka.dokkatoo.base")
val DOKKATOO_CATEGORY_ATTRIBUTE =
Attribute<DokkatooCategoryAttribute>("org.jetbrains.dokka.dokkatoo.category")
val DOKKA_FORMAT_ATTRIBUTE =
Attribute<DokkaFormatAttribute>("org.jetbrains.dokka.dokkatoo.format")
private inline fun <reified T> Attribute(name: String): Attribute<T> =
Attribute.of(name, T::class.java)
}
}
|