ProtoSourceSet

Available in a dev version: 0․11․0-grpc-186

How to configure

sealed interface ProtoSourceSet : SourceDirectorySet(source)

Represents a source set for proto files.

Acts like a SourceDirectorySet but also allows configuring protoc plugins.

All source sets have kotlinMultiplatform and grpcKotlinMultiplatform plugins by default.

Example:

kotlin.sourceSets {
commonMain {
proto {
exclude("some.proto")
plugin { getByName("myPlugin") }
}
}
}

Properties

Link copied to clipboard
abstract val asFileTree: FileTree?
Link copied to clipboard
abstract val asPath: String?
Link copied to clipboard
abstract val buildDependencies: TaskDependency?
Link copied to clipboard
abstract val classesDirectory: Provider<Directory?>?
Link copied to clipboard
abstract val destinationDirectory: DirectoryProperty?
Link copied to clipboard
abstract val displayName: String?
Link copied to clipboard
abstract val elements: Provider<Set<FileSystemLocation?>?>?
Link copied to clipboard
abstract val excludes: Set<String?>?
Link copied to clipboard
abstract val fileImports: ConfigurableFileCollection

A collection of proto files that are imported by this source set but do not belong to any other source set.

Link copied to clipboard
abstract val files: Set<File?>?
Link copied to clipboard
abstract val filter: PatternFilterable?
Link copied to clipboard
abstract val imports: SetProperty<ProtoSourceSet>

List of all imported proto source sets.

Link copied to clipboard
abstract val includes: Set<String?>?
Link copied to clipboard
abstract val isEmpty: Boolean
Link copied to clipboard
abstract val name: String?
Link copied to clipboard
abstract val plugins: SetProperty<ProtocPlugin>

Protoc plugins that will be applied to proto files in this source set.

Link copied to clipboard
abstract val singleFile: File?
Link copied to clipboard
abstract val sourceDirectories: FileCollection?
Link copied to clipboard
abstract val srcDirs: Set<File?>?
Link copied to clipboard
abstract val srcDirTrees: Set<DirectoryTree?>?

Functions

Link copied to clipboard
abstract fun addToAntBuilder(builder: Any?, nodeName: String?, type: FileCollection.AntType?)
abstract fun addToAntBuilder(builder: Any?, nodeName: String?): Any?
Link copied to clipboard
abstract fun <T : Task?> compiledBy(taskProvider: TaskProvider<T?>?, mapping: Function<T?, DirectoryProperty?>?)
Link copied to clipboard
abstract operator fun contains(file: File?): Boolean
Link copied to clipboard
abstract fun exclude(excludeSpec: Closure<*>?): PatternFilterable?
abstract fun exclude(excludes: Iterable<String?>?): PatternFilterable?
abstract fun exclude(excludeSpec: Spec<FileTreeElement?>?): PatternFilterable?
abstract fun exclude(vararg excludes: String?): PatternFilterable?
Link copied to clipboard
abstract fun extendsFrom(protoSourceSet: ProtoSourceSet)

Proto source sets that this source set extends from. All proto files from protoSourceSet will be used for code generation. All imports protoSourceSet will be included as well.

Link copied to clipboard
abstract fun filter(filterClosure: Closure<*>?): FileCollection?
abstract fun filter(filterSpec: Spec<in File?>?): FileCollection?
Link copied to clipboard
abstract fun importsAllFrom(protoSourceSets: Provider<List<ProtoSourceSet>>)

Proto files from protoSourceSets will be available as import, but will not be used for code generation.

Link copied to clipboard
abstract fun importsFrom(protoSourceSet: ProtoSourceSet)
abstract fun importsFrom(protoSourceSet: NamedDomainObjectProvider<ProtoSourceSet>)
abstract fun importsFrom(protoSourceSet: Provider<ProtoSourceSet>)

Proto files from protoSourceSet will be available as import, but will not be used for code generation.

Link copied to clipboard
abstract fun include(includeSpec: Closure<*>?): PatternFilterable?
abstract fun include(includes: Iterable<String?>?): PatternFilterable?
abstract fun include(includeSpec: Spec<FileTreeElement?>?): PatternFilterable?
abstract fun include(vararg includes: String?): PatternFilterable?
Link copied to clipboard
abstract operator override fun iterator(): MutableIterator<File?>
Link copied to clipboard
abstract fun matching(@DelegatesTo(value = PatternFilterable::class) filterConfigClosure: Closure<*>?): FileTree?
abstract fun matching(filterConfigAction: Action<in PatternFilterable?>?): FileTree?
abstract fun matching(patterns: PatternFilterable?): FileTree?
Link copied to clipboard
abstract operator fun minus(collection: FileCollection?): FileCollection?
Link copied to clipboard
abstract fun plugin(plugin: ProtocPlugin, configure: Action<ProtocPlugin>? = null)
abstract fun plugin(configure: Action<ProtocPlugin>? = null, select: NamedDomainObjectContainer<ProtocPlugin>.() -> ProtocPlugin)
abstract fun plugin(provider: NamedDomainObjectProvider<ProtocPlugin>, configure: Action<ProtocPlugin>? = null)
abstract fun plugin(provider: Provider<ProtocPlugin>, configure: Action<ProtocPlugin>? = null)

Add a plugin to this source set and allows to configure it specifically for this source set.

Link copied to clipboard
abstract operator fun plus(collection: FileCollection?): FileCollection?
abstract operator fun plus(fileTree: FileTree?): FileTree?
Link copied to clipboard
abstract fun setExcludes(excludes: Iterable<String?>?): PatternFilterable?
Link copied to clipboard
abstract fun setIncludes(includes: Iterable<String?>?): PatternFilterable?
Link copied to clipboard
abstract fun setSrcDirs(srcPaths: Iterable<*>?): SourceDirectorySet?
Link copied to clipboard
abstract fun source(source: SourceDirectorySet?): SourceDirectorySet?
Link copied to clipboard
abstract fun srcDir(srcPath: Any?): SourceDirectorySet?
Link copied to clipboard
abstract fun srcDirs(vararg srcPaths: @Nullable Any?): SourceDirectorySet?
Link copied to clipboard
abstract fun visit(@DelegatesTo(value = FileVisitDetails::class) visitor: Closure<*>?): FileTree?
abstract fun visit(visitor: Action<in FileVisitDetails?>?): FileTree?
abstract fun visit(visitor: FileVisitor?): FileTree?