Stylianos Gakis
11/14/2023, 2:30 PMOptional<Foo?>
when I got generateOptionalOperationVariables.set(false)
already setup, but it turns out that sub-modules do not inherit this behavior from the root schema module.
I kinda assumed this would propagate since when I was doing sub-modules at first and I set the codegen method I got the compilation error “Specifying ‘codegenModels’ has no effect as an upstream module already provided a codegenModels” so I assumed everything is propagated this way.
I wonder, is this distinction on purpose here? Would it make more sense for sub-modules at least default to the schema module? Would that even be possible perhaps?
Has anyone else been confused by this before? Or just me 😄mbonnin
11/14/2023, 2:31 PMgenerateInputBuilders
instead. I personnaly find it less confusingmbonnin
11/14/2023, 2:31 PMgenerateOptionalOperationVariables
mbonnin
11/14/2023, 2:32 PMcodegenModels
is a bit unique because it's a hard requirement that all modules in the same service have the same value (or the generated Kotlin won't compile)mbonnin
11/14/2023, 2:33 PMStylianos Gakis
11/14/2023, 2:33 PMgenerateInputBuilders
is 4.x right? We haven’t migrated to that yet, hopefully soon though 🤞Stylianos Gakis
11/14/2023, 2:34 PMmbonnin
11/14/2023, 2:34 PMmbonnin
11/14/2023, 2:34 PMmbonnin
11/14/2023, 2:40 PMit isis 4.x right?generateInputBuilders
mbonnin
11/14/2023, 2:41 PMmbonnin
11/14/2023, 2:45 PMStylianos Gakis
11/14/2023, 2:45 PMmbonnin
11/14/2023, 2:46 PMStylianos Gakis
11/14/2023, 2:46 PMStylianos Gakis
11/14/2023, 2:46 PMWe should use a yaml configuration file instead 🙈You had to sneak that in there didn’t you 😂
mbonnin
11/14/2023, 2:47 PMmbonnin
11/14/2023, 2:47 PMmbonnin
11/14/2023, 2:48 PM*.kd
kotlin data files once that becomes a reality 🤞Stylianos Gakis
11/14/2023, 2:49 PM.kd
? 👀Stylianos Gakis
11/14/2023, 2:50 PMmbonnin
11/14/2023, 2:52 PMStylianos Gakis
11/14/2023, 2:53 PMagrosner
11/15/2023, 1:04 AMagrosner
11/15/2023, 1:05 AMStylianos Gakis
11/15/2023, 8:19 AMalias(libs.plugins.apollo)
...
apolloMetadata(projects.apolloOctopusPublic)
implementation(projects.apolloOctopusPublic)
...
apollo {
service("octopus") {
packageName.set("octopus")
}
}
This could definitely be a convention plugin however.
The thing is that I am figuring all these things out as we are now introducing apolloMetadata
to sub-modules, before everything lived in the schema module, so all this is new-ish to me 😄
When we eventually migrate to 4.x, and see what that needs (with the dependsOn etc) I will make a convention plugin for it, for sure.