scana
12/16/2025, 2:09 PMmbonnin
12/16/2025, 2:10 PMscana
12/16/2025, 2:11 PMmbonnin
12/16/2025, 2:11 PMmbonnin
12/16/2025, 2:11 PMdataBuildersConnectionmbonnin
12/16/2025, 2:12 PMdataBuildersOutputDirConnection {}mbonnin
12/16/2025, 2:13 PMservice("service") {
dataBuildersOutputDirConnection {
connectToAndroidVariant(TODO())
}
}mbonnin
12/16/2025, 2:13 PMmbonnin
12/16/2025, 2:14 PMscana
12/16/2025, 4:40 PMmbonnin
12/16/2025, 4:42 PMscana
12/16/2025, 4:43 PMid 'java-test-fixtures' plugin 🤔 I forgot that part.
For a while I thought that maybe I could just manipulate outputDir but that does not seem to be the case - that would be the simplest 😄mbonnin
12/16/2025, 4:44 PMoutputDir isn't enough, you need to configure task dependencies, etc...mbonnin
12/16/2025, 4:51 PMapollo {
service("service") {
packageName.set("com.example")
generateDataBuilders.set(true)
dataBuildersOutputDirConnection {
connectToKotlinSourceSet("testFixtures")
}
}
}scana
12/16/2025, 5:01 PMdataBuildersOutputDirConnection), nothing gets generated, my dataBuildersSource directory is empty:scana
12/16/2025, 5:02 PMresponseBased vs operationBased generators should not matter here, right?mbonnin
12/16/2025, 5:09 PMmbonnin
12/16/2025, 5:13 PMdependsOn() and generateApolloMetadata.set(true) )scana
12/16/2025, 5:19 PMmbonnin
12/16/2025, 5:21 PMmbonnin
12/16/2025, 5:22 PMscana
12/16/2025, 5:23 PMmbonnin
12/16/2025, 5:30 PMscana
12/19/2025, 2:47 PM5.0.0-alpha.3-2025.12.19?mbonnin
12/19/2025, 2:50 PMmbonnin
12/19/2025, 2:51 PMscana
12/19/2025, 3:00 PMmbonnin
12/19/2025, 3:02 PMmbonnin
12/19/2025, 3:03 PMscana
12/19/2025, 3:43 PMSomeQuery.Data {
someNode = buildSomeNode {
id = "1"
user = buildPublicUserNode {
name = "test"
}
}
}
It seems like generated code is now missing public fun Data(resolver: FakeResolver = DefaultFakeResolver(__Schema.all), block: QueryBuilder.() -> Unit = {}): Data = buildData(mbonnin
12/19/2025, 3:45 PMmbonnin
12/19/2025, 3:45 PMmbonnin
12/19/2025, 3:46 PMscana
12/19/2025, 3:46 PMbuildSomeNode and buildPublicNode in my schema module. SomeQuery is defined in the consuming module, but there is no fun Data presentmbonnin
12/19/2025, 3:46 PMmbonnin
12/19/2025, 3:55 PMmbonnin
12/19/2025, 3:55 PMmbonnin
12/19/2025, 3:56 PMmbonnin
12/19/2025, 3:56 PMmbonnin
12/19/2025, 3:57 PMapollo {
service("service") {
packageName.set("com.example")
generateDataBuilders.set(true)
dataBuildersOutputDirConnection {
connectToKotlinSourceSet("main")
}
}
}mbonnin
12/19/2025, 3:57 PMscana
12/19/2025, 4:04 PMscana
12/19/2025, 4:05 PMfeature-module test sources I can access schema-module generated testFixtures. `I cannot access query builder (defined in feature-module) in feature-module tests.mbonnin
12/19/2025, 4:23 PMpublic fun <D : Query.Data> ExecutableDefinition<D>.Data(customScalarAdapters: CustomScalarAdapters = CustomScalarAdapters.Empty, block: QueryBuilder.() -> Unit): D = buildData(mbonnin
12/19/2025, 4:24 PMapollo-data-builders/schema/build/generated/dataBuildersSource/apollo/service/foo/builder/QueryBuilder.ktmbonnin
12/19/2025, 4:26 PMData was a regular function of SomeQuery before and it's now an extension function that you need to importscana
12/19/2025, 4:31 PMSomeQuery (under feature-module):
public fun Data(resolver: FakeResolver = DefaultFakeResolver(__Schema.all), block: QueryBuilder.() -> Unit = {}): Data = buildData(
CompiledQuery,
block,
SomeQuery_ResponseAdapter.Data,
SomeQuerySelections.__root,
"Query",
resolver,
__CustomScalarAdapters,
)
Should this now be present in schema-module instead? I can't seem to find it 🤔mbonnin
12/19/2025, 4:37 PMbuild/generated/dataBuildersSource/apollo/service/foo/builder/QueryBuilder.kt ?mbonnin
12/19/2025, 4:38 PMpublic fun <D : Query.Data> ExecutableDefinition<D>.Data(...)mbonnin
12/19/2025, 4:38 PMSomeQuery.Companion extends ExecutableDefinition, you should be able to call Data on SomeQueryscana
12/19/2025, 4:39 PMpublic fun <D : Query.Data> ExecutableDefinition<D>.Data(
resolver: FakeResolver,
customScalarAdapters: CustomScalarAdapters = CustomScalarAdapters.Empty,
block: QueryBuilder.() -> Unit = {},
): D = buildData(
ADAPTER,
customScalarAdapters,
QueryBuilder(customScalarAdapters).apply(block).build(),
ROOT_FIELD.selections,
"Query",
resolver,
)scana
12/19/2025, 4:39 PMscana
12/19/2025, 4:39 PMscana
12/19/2025, 4:42 PMscana
12/19/2025, 4:42 PMmbonnin
12/19/2025, 4:52 PMscana
12/19/2025, 5:01 PMmbonnin
12/19/2025, 5:07 PMscana
03/03/2026, 11:39 AMCan you remove this?So, uhm - have I effectively started generating code for entire schema by removing that line? I remember it was a part of a multi-module setup to generate only require things?alwaysGenerateTypesMatching.set([])
mbonnin
03/03/2026, 11:44 AMmbonnin
03/03/2026, 11:44 AM