Version
4.1.1
Summary
I created example project at https://github.com/lanusau/apollo_warnings to illustrate the issue:
plugins {
java
id("com.apollographql.apollo") version "4.1.1"
}
apollo {
service("example") {
generateKotlinModels.set(false)
packageName.set("example")
srcDir("src/main/graphql")
useSemanticNaming.set(true)
}
}
Simple schema:
type Dog {
id: Int!
name: String!
owner: String
}
input CreateDogInput {
id: Int!
name: String!
owner: String
}
type Query {
dogs(filter: String): [Dog!]
}
type Mutation {
createDog(input: CreateDogInput!): Dog!
}
Simple query and mutation:
fragment DogFields on Dog {
id
name
owner
}
query Dogs($filter: String) {
dogs(filter: $filter) {
...DogFields
}
}
mutation CreateDog($id: Int!, $name: String!, $owner: String) {
createDog(input: {id: $id, name: $name, owner: $name}) {
id
}
}
Generates multiple Java compiler warnings of 2 types:
First is related to Optional.absent() not implemented correctly. It should be implemented like Java Optional with unchecked warnings suppressed
Second is using raw type of ImmutableMapBuilder
required: Optional<String>
found: Absent
/Users/laianusa/GitRepos/github/apollo_warnings/build/generated/source/apollo/example/example/CreateDogMutation.java:151: warning: [unchecked] unchecked conversion
private Optional<String> owner = Optional.absent();
/Users/laianusa/GitRepos/github/apollo_warnings/build/generated/source/apollo/example/example/selections/CreateDogMutationSelections.java:26: warning: [unchecked] unchecked call to put(K,V) as a member of the raw type ImmutableMapBuilder
new CompiledField.Builder("createDog", new CompiledNotNullType(Dog.type)).arguments(Arrays.asList(new CompiledArgument.Builder(Mutation.__createDog_input).value(new ImmutableMapBuilder().put("id", new CompiledVariable("id")).put("name", new CompiledVariable("name")).put("owner", new CompiledVariable("name")).build()).build())).selections(__createDog).build()
^
where K,V are type-variables:
K extends Object declared in class ImmutableMapBuilder
V extends Object declared in class ImmutableMapBuilder
Steps to reproduce the behavior
No response
Logs
Version
4.1.1
Summary
I created example project at https://github.com/lanusau/apollo_warnings to illustrate the issue:
Simple schema:
Simple query and mutation:
Generates multiple Java compiler warnings of 2 types:
First is related to
Optional.absent()not implemented correctly. It should be implemented like Java Optional with unchecked warnings suppressedSecond is using raw type of
ImmutableMapBuilderSteps to reproduce the behavior
No response
Logs