federation-spring-example
Used in:
components
- OverviewOverview
- VersionsVersions
- DependentsDependents
- DependenciesDependencies
<dependency> <groupId>com.apollographql.federation</groupId> <artifactId>federation-spring-example</artifactId> <version>2.0.0</version> </dependency>
<?xml version="1.0" encoding="UTF-8"?> <project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>com.apollographql.federation</groupId> <artifactId>federation-parent</artifactId> <version>2.0.0</version> </parent> <artifactId>federation-spring-example</artifactId> <name>federation-spring-example</name> <description>Spring Boot example of federation-graphql-java-support usage</description> <properties> <graphql-java-kickstart.version>11.1.0</graphql-java-kickstart.version> <graphql-java-tools.version>11.1.2</graphql-java-tools.version> <!-- Note that spring-example wasn't designed to be imported, so this is fine. --> <skip.dependency.convergence>true</skip.dependency.convergence> <fasterxml.jackson.version>2.12.5</fasterxml.jackson.version> <spring-boot.version>2.5.4</spring-boot.version> </properties> <dependencyManagement> <dependencies> <dependency> <groupId>com.graphql-java-kickstart</groupId> <artifactId>graphql-spring-boot-starter</artifactId> <version>${graphql-java-kickstart.version}</version> </dependency> <dependency> <groupId>com.graphql-java-kickstart</groupId> <artifactId>graphiql-spring-boot-starter</artifactId> <version>${graphql-java-kickstart.version}</version> <scope>runtime</scope> </dependency> <dependency> <groupId>com.graphql-java-kickstart</groupId> <artifactId>graphql-spring-boot-starter-test</artifactId> <version>${graphql-java-kickstart.version}</version> <scope>test</scope> </dependency> <dependency> <groupId>com.graphql-java-kickstart</groupId> <artifactId>graphql-java-tools</artifactId> <version>${graphql-java-tools.version}</version> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> <version>${spring-boot.version}</version> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> <version>${spring-boot.version}</version> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <version>${spring-boot.version}</version> <scope>test</scope> </dependency> <!-- The following dependencies exist solely to override Maven's default "nearest first" strategy for transitive dependency version conflict resolution. Note that as stated in the parent POM, we would normally use Maven <exclusions> instead to get transitivity, but since spring-example isn't designed to be imported, it's fine (and a lot less work in this case) to just add dependencies to <dependencyManagement>. --> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-annotations</artifactId> <version>${fasterxml.jackson.version}</version> </dependency> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-core</artifactId> <version>${fasterxml.jackson.version}</version> </dependency> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> <version>${fasterxml.jackson.version}</version> </dependency> <dependency> <groupId>com.fasterxml.jackson.datatype</groupId> <artifactId>jackson-datatype-jdk8</artifactId> <version>${fasterxml.jackson.version}</version> </dependency> <!-- There is a bug in com.graphql-java-kickstart:graphql-spring-boot-starter:11.1.0 where it depends on artifact com.graphql-java:graphql-java-extended-scalars:16.0.1, but it really needs 17.0. This forces us to a later version. --> <dependency> <groupId>com.graphql-java</groupId> <artifactId>graphql-java-extended-scalars</artifactId> <version>17.0</version> </dependency> </dependencies> </dependencyManagement> <dependencies> <dependency> <groupId>com.apollographql.federation</groupId> <artifactId>federation-graphql-java-support</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>com.graphql-java</groupId> <artifactId>graphql-java</artifactId> </dependency> <dependency> <groupId>org.jetbrains</groupId> <artifactId>annotations</artifactId> </dependency> <dependency> <groupId>org.junit.jupiter</groupId> <artifactId>junit-jupiter</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> </dependency> <dependency> <groupId>com.graphql-java-kickstart</groupId> <artifactId>graphql-spring-boot-starter</artifactId> </dependency> <dependency> <groupId>com.graphql-java-kickstart</groupId> <artifactId>graphiql-spring-boot-starter</artifactId> </dependency> <dependency> <groupId>com.graphql-java-kickstart</groupId> <artifactId>graphql-spring-boot-starter-test</artifactId> </dependency> <dependency> <groupId>com.graphql-java-kickstart</groupId> <artifactId>graphql-java-tools</artifactId> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-release-plugin</artifactId> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-source-plugin</artifactId> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-javadoc-plugin</artifactId> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>cobertura-maven-plugin</artifactId> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-dependency-plugin</artifactId> <executions> <execution> <id>analyze</id> <configuration> <ignoredUnusedDeclaredDependencies> <!-- We use aggregator artifacts here, which look unused to static analysis. Note that this means it's the maintainers' responsibility to know when these artifacts are unused and can be safely removed (check the starters' docs if you're unsure). --> <ignoredUnusedDeclaredDependency> org.junit.jupiter:junit-jupiter </ignoredUnusedDeclaredDependency> <ignoredUnusedDeclaredDependency> org.springframework.boot:spring-boot-starter-actuator </ignoredUnusedDeclaredDependency> <ignoredUnusedDeclaredDependency> org.springframework.boot:spring-boot-starter-web </ignoredUnusedDeclaredDependency> <ignoredUnusedDeclaredDependency> org.springframework.boot:spring-boot-starter-test </ignoredUnusedDeclaredDependency> <ignoredUnusedDeclaredDependency> com.graphql-java-kickstart:graphql-spring-boot-starter </ignoredUnusedDeclaredDependency> <ignoredUnusedDeclaredDependency> com.graphql-java-kickstart:graphiql-spring-boot-starter </ignoredUnusedDeclaredDependency> <ignoredUnusedDeclaredDependency> com.graphql-java-kickstart:graphql-spring-boot-starter-test </ignoredUnusedDeclaredDependency> </ignoredUnusedDeclaredDependencies> <ignoredUsedUndeclaredDependencies> <!-- Normally we should declare used transitive dependencies, but these are in aggregator artifacts, so it's fine here. We use * for artifacts because realistically maintainers aren't going to check whether every transitive dependency exists in the aggregator artifact. This means it's the maintainers' responsibility to ensure used artifacts at these group IDs are provided by the above aggregator artifacts. --> <ignoredUsedUndeclaredDependency> org.junit.jupiter:junit-jupiter-api </ignoredUsedUndeclaredDependency> <ignoredUsedUndeclaredDependency>org.springframework:*</ignoredUsedUndeclaredDependency> <ignoredUsedUndeclaredDependency> org.springframework.boot:* </ignoredUsedUndeclaredDependency> <ignoredUsedUndeclaredDependency> com.graphql-java-kickstart:* </ignoredUsedUndeclaredDependency> </ignoredUsedUndeclaredDependencies> </configuration> </execution> </executions> </plugin> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build> </project>