DefaultApolloExtension

abstract class DefaultApolloExtension(project: Project, defaultService: DefaultService) : ApolloExtension, Service

Types

Companion
Link copied to clipboard
object Companion

Functions

createAllAndroidVariantServices
Link copied to clipboard
open override fun createAllAndroidVariantServices(sourceFolder: String, nameSuffix: String, action: Action<Service>)
registers multiple services for an android projectAndroid projects have variants for buildType/flavor combinations as well as test.
createAllKotlinSourceSetServices
Link copied to clipboard
open override fun createAllKotlinSourceSetServices(sourceFolder: String, nameSuffix: String, action: Action<Service>)
registers multiple services for a Kotlin projectThis will create a GraphQL service for each source set and add the sources to the KotlinCompile task.
introspection
Link copied to clipboard
open override fun introspection(configure: Action<in Introspection>)
Configures Introspection to download an introspection Json schema
operationOutputConnection
Link copied to clipboard
open override fun operationOutputConnection(action: Action<in Service.OperationOutputConnection>)
overrides the way operationOutput is connected.
outputDirConnection
Link copied to clipboard
open override fun outputDirConnection(action: Action<in Service.DirectoryConnection>)
Overrides the way the generated models are connected.
packageNamesFromFilePaths
Link copied to clipboard
open override fun packageNamesFromFilePaths(rootPackageName: String?)
A helper method to configure a PackageNameGenerator that will use the file path relative to the source roots to generate the packageNames
registry
Link copied to clipboard
open override fun registry(configure: Action<in Registry>)
Configures Registry to download a SDL schema from a studio registry
service
Link copied to clipboard
open override fun service(name: String, action: Action<Service>)
Call from users to explicitly register a service or by the plugin to register the implicit service
srcDir
Link copied to clipboard
open override fun srcDir(directory: Any)
Adds the given directory as a GraphQL source rootUse srcDir if your files are outside "src/main/graphql" or to have them in multiple folders.
testDirConnection
Link copied to clipboard
open override fun testDirConnection(action: Action<in Service.DirectoryConnection>)
Overrides the way the generated test builders are connected.
useVersion2Compat
Link copied to clipboard
open override fun useVersion2Compat(rootPackageName: String?)
A shorthand method that configures defaults that match Apollo Android 2.

Properties

alwaysGenerateTypesMatching
Link copied to clipboard
open override val alwaysGenerateTypesMatching: SetProperty<String>
A list of Regex patterns for input/scalar/enum types that should be generated whether they are used by queries/fragments in this module.
codegenModels
Link copied to clipboard
open override val codegenModels: Property<String>
What codegen to use.
customScalarsMapping
Link copied to clipboard
open override val customScalarsMapping: MapProperty<String, String>
For custom scalar types like Date, map from the GraphQL type to the java/kotlin type.
debugDir
Link copied to clipboard
open override val debugDir: DirectoryProperty
A debug directory where the compiler will output intermediary results
exclude
Link copied to clipboard
open override val exclude: ListProperty<String>
Files to exclude as in org.gradle.api.tasks.util.PatternFilterableThe empty list by default
failOnWarnings
Link copied to clipboard
open override val failOnWarnings: Property<Boolean>
Fail the build if there are warnings.
flattenModels
Link copied to clipboard
open override val flattenModels: Property<Boolean>
Whether to flatten the models.
generateApolloMetadata
Link copied to clipboard
open override val generateApolloMetadata: Property<Boolean>
Whether to generate Apollo metadata.
generateAsInternal
Link copied to clipboard
open override val generateAsInternal: Property<Boolean>
Whether to generate Kotlin models with internal visibility modifier.
generateFragmentImplementations
Link copied to clipboard
open override val generateFragmentImplementations: Property<Boolean>
Whether to generate default implementation classes for GraphQL fragments.
generateKotlinModels
Link copied to clipboard
open override val generateKotlinModels: Property<Boolean>
Whether to generate Kotlin or Java models Default to true if the Kotlin plugin is found
generateOperationOutput
Link copied to clipboard
open override val generateOperationOutput: Property<Boolean>
Whether to generate the operationOutput.
generateOptionalOperationVariables
Link copied to clipboard
open override val generateOptionalOperationVariables: Property<Boolean>
Whether to generate operation variables as com.apollographql.apollo3.api.OptionalUsing com.apollographql.apollo3.api.Optional allows to omit the variables if needed but makes the callsite more verbose in most cases.
generateQueryDocument
Link copied to clipboard
open override val generateQueryDocument: Property<Boolean>
Whether to write the query document in models
generateSchema
Link copied to clipboard
open override val generateSchema: Property<Boolean>
Whether to generate the __Schema class.
generateTestBuilders
Link copied to clipboard
open override val generateTestBuilders: Property<Boolean>
Whether to generate the type safe Data builders.
include
Link copied to clipboard
open override val include: ListProperty<String>
Files to include as in org.gradle.api.tasks.util.PatternFilterableDefault: "**&#47;*.graphql", "**&#47;*.
linkSqlite
Link copied to clipboard
abstract override val linkSqlite: Property<Boolean>
For Kotlin native projects, whether to link Sqlite (-lsqlite3).
name
Link copied to clipboard
open override val name: String
operationIdGenerator
Link copied to clipboard
open override val operationIdGenerator: Property<OperationIdGenerator>
By default, Apollo uses Sha256 hashing algorithm to generate an ID for the query.
operationOutputFile
Link copied to clipboard
open override val operationOutputFile: RegularFileProperty
The file where the operation output will be written.
operationOutputGenerator
Link copied to clipboard
open override val operationOutputGenerator: Property<OperationOutputGenerator>
A generator to generate the operation output from a list of operations.
outputDir
Link copied to clipboard
open override val outputDir: DirectoryProperty
The directory where the generated models will be written.
packageName
Link copied to clipboard
open override val packageName: Property<String>
The package name of the models.
packageNameGenerator
Link copied to clipboard
open override val packageNameGenerator: Property<PackageNameGenerator>
Use packageNameGenerator to customize how to generate package names from file paths.
schemaFile
Link copied to clipboard
open override val schemaFile: RegularFileProperty
A shorthand property that will be used if schemaFiles is empty
schemaFiles
Link copied to clipboard
open override val schemaFiles: ConfigurableFileCollection
The schema files as either a ".json" introspection schema or a ".sdl|.graphqls" SDL schema.
sealedClassesForEnumsMatching
Link copied to clipboard
open override val sealedClassesForEnumsMatching: ListProperty<String>
A list of Regex patterns for GraphQL enums that should be generated as Kotlin sealed classes instead of the default Kotlin enums.
sourceFolder
Link copied to clipboard
open override val sourceFolder: Property<String>
Where to look for GraphQL sources.
testDir
Link copied to clipboard
open override val testDir: DirectoryProperty
The directory where the test builders will be written.
useSemanticNaming
Link copied to clipboard
open override val useSemanticNaming: Property<Boolean>
When true, the generated classes names will end with 'Query' or 'Mutation'.
warnOnDeprecatedUsages
Link copied to clipboard
open override val warnOnDeprecatedUsages: Property<Boolean>
Warn if using a deprecated fieldDefault value: true