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>