This module produces Java class files for Feast's data type and gRPC service definitions, from Protobuf IDL. These are used across Feast components for wire interchange, contracts, etc.
End users of Feast will be best served by our Java SDK which adds higher-level conveniences, but the data types are published independently for custom needs, without any additional dependencies the SDK may add.
<dependency>
<groupId>dev.feast</groupId>
<artifactId>datatypes-java</artifactId>
<version>0.26.2</version>
</dependency>
Use the version corresponding to the Feast release you have deployed in your environment—see the Feast release notes for details.
The .proto
definitions are packaged as resources within the Maven artifact,
which may be useful to include
them in dependent Protobuf definitions in a
downstream project, or for other JVM languages to consume from their builds to
generate more idiomatic bindings.
Google's Gradle plugin, for instance, can use protos in dependencies
either for include
or to compile with a different protoc
plugin than Java.
sbt-protoc offers similar functionality for sbt/Scala.
The module is published to Maven Central upon each release of Feast (since v0.3.7).
For developers, the publishing process is automated along with the Java SDK by
the publish-java-sdk
build task in Prow, where you can see how
it works. Artifacts are staged to Sonatype where a maintainer needs to take a
release action for them to go live on Maven Central.