flagd
Used in:
components
- OverviewOverview
- VersionsVersions
- DependentsDependents
- DependenciesDependencies
<dependency> <groupId>dev.openfeature.contrib.providers</groupId> <artifactId>flagd</artifactId> <version>0.11.11</version> </dependency>
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>dev.openfeature.contrib</groupId> <artifactId>parent</artifactId> <version>[0.2,1.0)</version> <relativePath>../../pom.xml</relativePath> </parent> <groupId>dev.openfeature.contrib.providers</groupId> <artifactId>flagd</artifactId> <version>0.11.11</version> <!--x-release-please-version --> <properties> <!-- exclusion expression for e2e tests --> <testExclusions>**/e2e/*.java</testExclusions> <io.grpc.version>1.73.0</io.grpc.version> <!-- caution - updating this will break compatibility with older protobuf-java versions --> <protobuf-java.min.version>3.25.6</protobuf-java.min.version> </properties> <name>flagd</name> <description>flagd provider for Java</description> <url>https://openfeature.dev</url> <developers> <developer> <id>toddbaert</id> <name>Todd Baert</name> <organization>OpenFeature</organization> <url>https://openfeature.dev/</url> </developer> </developers> <dependencies> <!-- we inherent dev.openfeature.javasdk and the test dependencies from the parent pom --> <dependency> <groupId>com.google.protobuf</groupId> <artifactId>protobuf-java</artifactId> </dependency> <dependency> <groupId>io.grpc</groupId> <artifactId>grpc-netty</artifactId> <version>${io.grpc.version}</version> </dependency> <dependency> <groupId>io.grpc</groupId> <artifactId>grpc-protobuf</artifactId> <version>${io.grpc.version}</version> </dependency> <dependency> <groupId>io.grpc</groupId> <artifactId>grpc-stub</artifactId> <version>${io.grpc.version}</version> </dependency> <dependency> <!-- we only support unix sockets on linux, via epoll native lib --> <groupId>io.netty</groupId> <artifactId>netty-transport-native-epoll</artifactId> <version>4.2.2.Final</version> <!-- TODO: with 5+ (still alpha), arm is support and we should package multiple versions --> <classifier>linux-x86_64</classifier> </dependency> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> <version>2.19.1</version> </dependency> <dependency> <groupId>io.github.jamsesso</groupId> <artifactId>json-logic-java</artifactId> <version>1.1.0</version> </dependency> <!-- Override gson usage of json-logic-java--> <dependency> <groupId>com.google.code.gson</groupId> <artifactId>gson</artifactId> <version>2.13.1</version> </dependency> <dependency> <groupId>com.networknt</groupId> <artifactId>json-schema-validator</artifactId> <version>1.5.7</version> <exclusions> <exclusion> <groupId>org.apache.commons</groupId> <artifactId>commons-lang3</artifactId> </exclusion> </exclusions> </dependency> <dependency> <!-- necessary for Java 9+ --> <groupId>org.apache.tomcat</groupId> <artifactId>annotations-api</artifactId> <version>6.0.53</version> <scope>provided</scope> </dependency> <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-collections4</artifactId> <version>4.5.0</version> </dependency> <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-lang3</artifactId> <version>3.17.0</version> </dependency> <dependency> <groupId>io.opentelemetry</groupId> <artifactId>opentelemetry-api</artifactId> <version>1.51.0</version> </dependency> <dependency> <groupId>org.semver4j</groupId> <artifactId>semver4j</artifactId> <version>5.8.0</version> </dependency> <dependency> <groupId>commons-codec</groupId> <artifactId>commons-codec</artifactId> <version>1.18.0</version> </dependency> <dependency> <groupId>org.junit.jupiter</groupId> <artifactId>junit-jupiter</artifactId> <version>5.13.2</version> <scope>test</scope> </dependency> <dependency> <groupId>org.testcontainers</groupId> <artifactId>testcontainers</artifactId> <version>1.21.2</version> <scope>test</scope> </dependency> <dependency> <groupId>org.testcontainers</groupId> <artifactId>junit-jupiter</artifactId> <version>1.21.2</version> <scope>test</scope> </dependency> <dependency> <groupId>io.rest-assured</groupId> <artifactId>rest-assured</artifactId> <version>5.5.5</version> <scope>test</scope> </dependency> <!-- uncomment for logoutput during test runs --> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-simple</artifactId> <version>2.0.17</version> <scope>test</scope> </dependency> </dependencies> <dependencyManagement> <dependencies> <!-- we need to generate protobuf sources with the minium protobuf version we want to be compatible with --> <dependency> <groupId>com.google.protobuf</groupId> <artifactId>protobuf-java</artifactId> <!-- caution - updating this will break compatibility with older protobuf-java versions --> <version>${protobuf-java.min.version}</version> </dependency> </dependencies> </dependencyManagement> <build> <!-- required for protobuf generation --> <extensions> <extension> <groupId>kr.motd.maven</groupId> <artifactId>os-maven-plugin</artifactId> <version>1.7.1</version> </extension> </extensions> <plugins> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>exec-maven-plugin</artifactId> <version>3.5.1</version> <executions> <execution> <id>update-schemas-submodule</id> <phase>initialize</phase> <goals> <goal>exec</goal> </goals> <configuration> <!-- run: git submodule update \-\-init schemas --> <executable>git</executable> <arguments> <argument>submodule</argument> <argument>update</argument> <argument>--init</argument> <argument>schemas</argument> </arguments> </configuration> </execution> </executions> </plugin> <plugin> <artifactId>maven-resources-plugin</artifactId> <version>3.3.1</version> <executions> <execution> <id>copy-json-schemas</id> <phase>generate-resources</phase> <goals> <goal>copy-resources</goal> </goals> <configuration> <outputDirectory>${basedir}/src/main/resources/flagd/schemas/</outputDirectory> <resources> <resource> <directory>${basedir}/schemas/json/</directory> <includes> <include>flags.json</include> <include>targeting.json</include> </includes> </resource> </resources> </configuration> </execution> </executions> </plugin> <plugin> <groupId>org.xolstice.maven.plugins</groupId> <artifactId>protobuf-maven-plugin</artifactId> <version>0.6.1</version> <configuration> <protocArtifact>com.google.protobuf:protoc:3.25.5:exe:${os.detected.classifier}</protocArtifact> <pluginId>grpc-java</pluginId> <pluginArtifact>io.grpc:protoc-gen-grpc-java:1.69.1:exe:${os.detected.classifier}</pluginArtifact> <protoSourceRoot>${project.basedir}/schemas/protobuf/</protoSourceRoot> </configuration> <executions> <execution> <goals> <goal>compile</goal> <goal>compile-custom</goal> </goals> </execution> </executions> </plugin> </plugins> </build> <profiles> <profile> <id>codequality</id> <activation> <activeByDefault>true</activeByDefault> </activation> <build> <plugins> <plugin> <groupId>com.github.spotbugs</groupId> <artifactId>spotbugs-maven-plugin</artifactId> <version>4.9.3.1</version> <configuration> <onlyAnalyze>dev.openfeature.contrib.-</onlyAnalyze> </configuration> </plugin> </plugins> </build> </profile> <profile> <!-- this profile handles running the flagd e2e tests --> <id>e2e</id> <properties> <!-- run the e2e tests by clearing the exclusions --> <testExclusions/> </properties> <build> <plugins> <!-- pull the gherkin tests as a git submodule --> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>exec-maven-plugin</artifactId> <version>3.5.1</version> <executions> <execution> <id>update-test-harness-submodule</id> <phase>validate</phase> <goals> <goal>exec</goal> </goals> <configuration> <!-- run: git submodule update \-\-init test-harness --> <executable>git</executable> <arguments> <argument>submodule</argument> <argument>update</argument> <argument>--init</argument> <argument>test-harness</argument> </arguments> </configuration> </execution> <execution> <id>update-spec-submodule</id> <phase>validate</phase> <goals> <goal>exec</goal> </goals> <configuration> <!-- run: git submodule update \-\-init spec --> <executable>git</executable> <arguments> <argument>submodule</argument> <argument>update</argument> <argument>--init</argument> <argument>spec</argument> </arguments> </configuration> </execution> </executions> </plugin> </plugins> </build> </profile> </profiles> </project>